{
    "swagger": "2.0",
    "info": {
        "title": "Service Catalog Management",
        "description": "## TMF API Reference: TMF633 - Service Catalog Management\n\n Version 4.0 \n\nThe Service Catalog API is one of Catalog Management API Family. Service Catalog API goal is to provide a catalog of services. \nService Catalog API performs the following operations on the resource :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity (for administration purposes)\n- Manage notification of events. .\n\nCopyright \u00a9 TM Forum 2020. All Rights Reserved. ",
        "version": "4.0.0"
    },
    "host": "serverRoot",
    "basePath": "/tmf-api/serviceCatalogManagement/v4/",
    "schemes": [
        "https"
    ],
    "consumes": [
        "application/json;charset=utf-8"
    ],
    "produces": [
        "application/json;charset=utf-8"
    ],
    "tags": [
        {
            "name": "serviceCatalog"
        },
        {
            "name": "serviceCategory"
        },
        {
            "name": "serviceCandidate"
        },
        {
            "name": "serviceSpecification"
        },
        {
            "name": "importJob"
        },
        {
            "name": "exportJob"
        },
        {
            "name": "notification listeners (client side)"
        },
        {
            "name": "events subscription"
        }
    ],
    "paths": {
        "/serviceCatalog": {
            "get": {
                "operationId": "listServiceCatalog",
                "summary": "List or find ServiceCatalog objects",
                "description": "This operation list or find ServiceCatalog entities",
                "tags": [
                    "serviceCatalog"
                ],
                "parameters": [
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "description": "Requested index for start of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    },
                    {
                        "name": "limit",
                        "description": "Requested number of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "headers": {
                            "X-Result-Count": {
                                "description": "Actual number of items returned in the response body",
                                "type": "integer"
                            },
                            "X-Total-Count": {
                                "description": "Total number of items matching criteria",
                                "type": "integer"
                            }
                        },
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/ServiceCatalog"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "operationId": "createServiceCatalog",
                "summary": "Creates a ServiceCatalog",
                "description": "This operation creates a ServiceCatalog entity.",
                "tags": [
                    "serviceCatalog"
                ],
                "parameters": [
                    {
                        "name": "serviceCatalog",
                        "description": "The ServiceCatalog to be created",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ServiceCatalog_Create"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ServiceCatalog"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/serviceCatalog/{id}": {
            "get": {
                "operationId": "retrieveServiceCatalog",
                "summary": "Retrieves a ServiceCatalog by ID",
                "description": "This operation retrieves a ServiceCatalog entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "serviceCatalog"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceCatalog",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to provide in response",
                        "required": false,
                        "type": "string",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ServiceCatalog"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "patch": {
                "operationId": "patchServiceCatalog",
                "summary": "Updates partially a ServiceCatalog",
                "description": "This operation updates partially a ServiceCatalog entity.",
                "tags": [
                    "serviceCatalog"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceCatalog",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "serviceCatalog",
                        "description": "The ServiceCatalog to be updated",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ServiceCatalog_Update"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "$ref": "#/definitions/ServiceCatalog"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "delete": {
                "operationId": "deleteServiceCatalog",
                "summary": "Deletes a ServiceCatalog",
                "description": "This operation deletes a ServiceCatalog entity.",
                "tags": [
                    "serviceCatalog"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceCatalog",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/serviceCategory": {
            "get": {
                "operationId": "listServiceCategory",
                "summary": "List or find ServiceCategory objects",
                "description": "This operation list or find ServiceCategory entities",
                "tags": [
                    "serviceCategory"
                ],
                "parameters": [
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "description": "Requested index for start of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    },
                    {
                        "name": "limit",
                        "description": "Requested number of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "headers": {
                            "X-Result-Count": {
                                "description": "Actual number of items returned in the response body",
                                "type": "integer"
                            },
                            "X-Total-Count": {
                                "description": "Total number of items matching criteria",
                                "type": "integer"
                            }
                        },
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/ServiceCategory"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "operationId": "createServiceCategory",
                "summary": "Creates a ServiceCategory",
                "description": "This operation creates a ServiceCategory entity.",
                "tags": [
                    "serviceCategory"
                ],
                "parameters": [
                    {
                        "name": "serviceCategory",
                        "description": "The ServiceCategory to be created",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ServiceCategory_Create"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ServiceCategory"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/serviceCategory/{id}": {
            "get": {
                "operationId": "retrieveServiceCategory",
                "summary": "Retrieves a ServiceCategory by ID",
                "description": "This operation retrieves a ServiceCategory entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "serviceCategory"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceCategory",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to provide in response",
                        "required": false,
                        "type": "string",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ServiceCategory"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "patch": {
                "operationId": "patchServiceCategory",
                "summary": "Updates partially a ServiceCategory",
                "description": "This operation updates partially a ServiceCategory entity.",
                "tags": [
                    "serviceCategory"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceCategory",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "serviceCategory",
                        "description": "The ServiceCategory to be updated",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ServiceCategory_Update"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "$ref": "#/definitions/ServiceCategory"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "delete": {
                "operationId": "deleteServiceCategory",
                "summary": "Deletes a ServiceCategory",
                "description": "This operation deletes a ServiceCategory entity.",
                "tags": [
                    "serviceCategory"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceCategory",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/serviceCandidate": {
            "get": {
                "operationId": "listServiceCandidate",
                "summary": "List or find ServiceCandidate objects",
                "description": "This operation list or find ServiceCandidate entities",
                "tags": [
                    "serviceCandidate"
                ],
                "parameters": [
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "description": "Requested index for start of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    },
                    {
                        "name": "limit",
                        "description": "Requested number of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "headers": {
                            "X-Result-Count": {
                                "description": "Actual number of items returned in the response body",
                                "type": "integer"
                            },
                            "X-Total-Count": {
                                "description": "Total number of items matching criteria",
                                "type": "integer"
                            }
                        },
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/ServiceCandidate"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "operationId": "createServiceCandidate",
                "summary": "Creates a ServiceCandidate",
                "description": "This operation creates a ServiceCandidate entity.",
                "tags": [
                    "serviceCandidate"
                ],
                "parameters": [
                    {
                        "name": "serviceCandidate",
                        "description": "The ServiceCandidate to be created",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ServiceCandidate_Create"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ServiceCandidate"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/serviceCandidate/{id}": {
            "get": {
                "operationId": "retrieveServiceCandidate",
                "summary": "Retrieves a ServiceCandidate by ID",
                "description": "This operation retrieves a ServiceCandidate entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "serviceCandidate"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceCandidate",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to provide in response",
                        "required": false,
                        "type": "string",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ServiceCandidate"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "patch": {
                "operationId": "patchServiceCandidate",
                "summary": "Updates partially a ServiceCandidate",
                "description": "This operation updates partially a ServiceCandidate entity.",
                "tags": [
                    "serviceCandidate"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceCandidate",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "serviceCandidate",
                        "description": "The ServiceCandidate to be updated",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ServiceCandidate_Update"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "$ref": "#/definitions/ServiceCandidate"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "delete": {
                "operationId": "deleteServiceCandidate",
                "summary": "Deletes a ServiceCandidate",
                "description": "This operation deletes a ServiceCandidate entity.",
                "tags": [
                    "serviceCandidate"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceCandidate",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/serviceSpecification": {
            "get": {
                "operationId": "listServiceSpecification",
                "summary": "List or find ServiceSpecification objects",
                "description": "This operation list or find ServiceSpecification entities",
                "tags": [
                    "serviceSpecification"
                ],
                "parameters": [
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "description": "Requested index for start of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    },
                    {
                        "name": "limit",
                        "description": "Requested number of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "headers": {
                            "X-Result-Count": {
                                "description": "Actual number of items returned in the response body",
                                "type": "integer"
                            },
                            "X-Total-Count": {
                                "description": "Total number of items matching criteria",
                                "type": "integer"
                            }
                        },
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/ServiceSpecification"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "operationId": "createServiceSpecification",
                "summary": "Creates a ServiceSpecification",
                "description": "This operation creates a ServiceSpecification entity.",
                "tags": [
                    "serviceSpecification"
                ],
                "parameters": [
                    {
                        "name": "serviceSpecification",
                        "description": "The ServiceSpecification to be created",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ServiceSpecification_Create"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ServiceSpecification"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/serviceSpecification/{id}": {
            "get": {
                "operationId": "retrieveServiceSpecification",
                "summary": "Retrieves a ServiceSpecification by ID",
                "description": "This operation retrieves a ServiceSpecification entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "serviceSpecification"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceSpecification",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to provide in response",
                        "required": false,
                        "type": "string",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ServiceSpecification"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "patch": {
                "operationId": "patchServiceSpecification",
                "summary": "Updates partially a ServiceSpecification",
                "description": "This operation updates partially a ServiceSpecification entity.",
                "tags": [
                    "serviceSpecification"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceSpecification",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "serviceSpecification",
                        "description": "The ServiceSpecification to be updated",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ServiceSpecification_Update"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "$ref": "#/definitions/ServiceSpecification"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "delete": {
                "operationId": "deleteServiceSpecification",
                "summary": "Deletes a ServiceSpecification",
                "description": "This operation deletes a ServiceSpecification entity.",
                "tags": [
                    "serviceSpecification"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ServiceSpecification",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/importJob": {
            "get": {
                "operationId": "listImportJob",
                "summary": "List or find ImportJob objects",
                "description": "This operation list or find ImportJob entities",
                "tags": [
                    "importJob"
                ],
                "parameters": [
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "description": "Requested index for start of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    },
                    {
                        "name": "limit",
                        "description": "Requested number of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "headers": {
                            "X-Result-Count": {
                                "description": "Actual number of items returned in the response body",
                                "type": "integer"
                            },
                            "X-Total-Count": {
                                "description": "Total number of items matching criteria",
                                "type": "integer"
                            }
                        },
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/ImportJob"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "operationId": "createImportJob",
                "summary": "Creates a ImportJob",
                "description": "This operation creates a ImportJob entity.",
                "tags": [
                    "importJob"
                ],
                "parameters": [
                    {
                        "name": "importJob",
                        "description": "The ImportJob to be created",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ImportJob_Create"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ImportJob"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/importJob/{id}": {
            "get": {
                "operationId": "retrieveImportJob",
                "summary": "Retrieves a ImportJob by ID",
                "description": "This operation retrieves a ImportJob entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "importJob"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ImportJob",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to provide in response",
                        "required": false,
                        "type": "string",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ImportJob"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "delete": {
                "operationId": "deleteImportJob",
                "summary": "Deletes a ImportJob",
                "description": "This operation deletes a ImportJob entity.",
                "tags": [
                    "importJob"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ImportJob",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/exportJob": {
            "get": {
                "operationId": "listExportJob",
                "summary": "List or find ExportJob objects",
                "description": "This operation list or find ExportJob entities",
                "tags": [
                    "exportJob"
                ],
                "parameters": [
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "description": "Requested index for start of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    },
                    {
                        "name": "limit",
                        "description": "Requested number of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "headers": {
                            "X-Result-Count": {
                                "description": "Actual number of items returned in the response body",
                                "type": "integer"
                            },
                            "X-Total-Count": {
                                "description": "Total number of items matching criteria",
                                "type": "integer"
                            }
                        },
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/ExportJob"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "operationId": "createExportJob",
                "summary": "Creates a ExportJob",
                "description": "This operation creates a ExportJob entity.",
                "tags": [
                    "exportJob"
                ],
                "parameters": [
                    {
                        "name": "exportJob",
                        "description": "The ExportJob to be created",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ExportJob_Create"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ExportJob"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/exportJob/{id}": {
            "get": {
                "operationId": "retrieveExportJob",
                "summary": "Retrieves a ExportJob by ID",
                "description": "This operation retrieves a ExportJob entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "exportJob"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ExportJob",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to provide in response",
                        "required": false,
                        "type": "string",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ExportJob"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "delete": {
                "operationId": "deleteExportJob",
                "summary": "Deletes a ExportJob",
                "description": "This operation deletes a ExportJob entity.",
                "tags": [
                    "exportJob"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ExportJob",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/hub": {
            "post": {
                "operationId": "registerListener",
                "summary": "Register a listener",
                "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.",
                "tags": [
                    "events subscription"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "schema": {
                            "$ref": "#/definitions/EventSubscriptionInput"
                        },
                        "required": true,
                        "in": "body",
                        "description": "Data containing the callback endpoint to deliver the information"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Subscribed",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/hub/{id}": {
            "delete": {
                "operationId": "unregisterListener",
                "summary": "Unregister a listener",
                "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.",
                "tags": [
                    "events subscription"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "type": "string",
                        "required": true,
                        "in": "path",
                        "description": "The id of the registered listener"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceCatalogCreateEvent": {
            "post": {
                "operationId": "listenToServiceCatalogCreateEvent",
                "summary": "Client listener for entity ServiceCatalogCreateEvent",
                "description": "Example of a client listener for receiving the notification ServiceCatalogCreateEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceCatalogCreateEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceCatalogChangeEvent": {
            "post": {
                "operationId": "listenToServiceCatalogChangeEvent",
                "summary": "Client listener for entity ServiceCatalogChangeEvent",
                "description": "Example of a client listener for receiving the notification ServiceCatalogChangeEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceCatalogChangeEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceCatalogBatchEvent": {
            "post": {
                "operationId": "listenToServiceCatalogBatchEvent",
                "summary": "Client listener for entity ServiceCatalogBatchEvent",
                "description": "Example of a client listener for receiving the notification ServiceCatalogBatchEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceCatalogBatchEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceCatalogDeleteEvent": {
            "post": {
                "operationId": "listenToServiceCatalogDeleteEvent",
                "summary": "Client listener for entity ServiceCatalogDeleteEvent",
                "description": "Example of a client listener for receiving the notification ServiceCatalogDeleteEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceCatalogDeleteEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceCategoryCreateEvent": {
            "post": {
                "operationId": "listenToServiceCategoryCreateEvent",
                "summary": "Client listener for entity ServiceCategoryCreateEvent",
                "description": "Example of a client listener for receiving the notification ServiceCategoryCreateEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceCategoryCreateEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceCategoryChangeEvent": {
            "post": {
                "operationId": "listenToServiceCategoryChangeEvent",
                "summary": "Client listener for entity ServiceCategoryChangeEvent",
                "description": "Example of a client listener for receiving the notification ServiceCategoryChangeEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceCategoryChangeEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceCategoryDeleteEvent": {
            "post": {
                "operationId": "listenToServiceCategoryDeleteEvent",
                "summary": "Client listener for entity ServiceCategoryDeleteEvent",
                "description": "Example of a client listener for receiving the notification ServiceCategoryDeleteEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceCategoryDeleteEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceCandidateCreateEvent": {
            "post": {
                "operationId": "listenToServiceCandidateCreateEvent",
                "summary": "Client listener for entity ServiceCandidateCreateEvent",
                "description": "Example of a client listener for receiving the notification ServiceCandidateCreateEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceCandidateCreateEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceCandidateChangeEvent": {
            "post": {
                "operationId": "listenToServiceCandidateChangeEvent",
                "summary": "Client listener for entity ServiceCandidateChangeEvent",
                "description": "Example of a client listener for receiving the notification ServiceCandidateChangeEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceCandidateChangeEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceCandidateDeleteEvent": {
            "post": {
                "operationId": "listenToServiceCandidateDeleteEvent",
                "summary": "Client listener for entity ServiceCandidateDeleteEvent",
                "description": "Example of a client listener for receiving the notification ServiceCandidateDeleteEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceCandidateDeleteEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceSpecificationCreateEvent": {
            "post": {
                "operationId": "listenToServiceSpecificationCreateEvent",
                "summary": "Client listener for entity ServiceSpecificationCreateEvent",
                "description": "Example of a client listener for receiving the notification ServiceSpecificationCreateEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceSpecificationCreateEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceSpecificationChangeEvent": {
            "post": {
                "operationId": "listenToServiceSpecificationChangeEvent",
                "summary": "Client listener for entity ServiceSpecificationChangeEvent",
                "description": "Example of a client listener for receiving the notification ServiceSpecificationChangeEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceSpecificationChangeEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/serviceSpecificationDeleteEvent": {
            "post": {
                "operationId": "listenToServiceSpecificationDeleteEvent",
                "summary": "Client listener for entity ServiceSpecificationDeleteEvent",
                "description": "Example of a client listener for receiving the notification ServiceSpecificationDeleteEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ServiceSpecificationDeleteEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "Addressable": {
            "type": "object",
            "description": "Base schema for adressable entities",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                }
            }
        },
        "Any": {},
        "AssociationSpecificationRef": {
            "type": "object",
            "description": "reference to an AssociationSpecification object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "Attachment": {
            "type": "object",
            "description": "Complements the description of an element (for instance a product) through video, pictures...",
            "properties": {
                "id": {
                    "example": "4aafacbd-11ff-4dc8-b445-305f2215715f",
                    "type": "string",
                    "description": "Unique identifier for this particular attachment"
                },
                "href": {
                    "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f",
                    "type": "string",
                    "format": "uri",
                    "description": "URI for this Attachment"
                },
                "attachmentType": {
                    "example": "video",
                    "type": "string",
                    "description": "Attachment type such as video, picture"
                },
                "content": {
                    "type": "string",
                    "format": "base64",
                    "description": "The actual contents of the attachment object, if embedded, encoded as base64"
                },
                "description": {
                    "example": "Photograph of the Product",
                    "type": "string",
                    "description": "A narrative text describing the content of the attachment"
                },
                "mimeType": {
                    "type": "string",
                    "description": "Attachment mime type such as extension file for video, picture and document"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the attachment"
                },
                "url": {
                    "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f",
                    "type": "string",
                    "format": "uri",
                    "description": "Uniform Resource Locator, is a web page address (a subset of URI)"
                },
                "size": {
                    "$ref": "#/definitions/Quantity",
                    "description": "The size of the attachment."
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period of time for which the attachment is valid"
                }
            }
        },
        "AttachmentRef": {
            "type": "object",
            "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique-Identifier for this attachment"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "URL serving as reference for the attachment resource"
                },
                "description": {
                    "type": "string",
                    "description": "A narrative text describing the content of the attachment"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "url": {
                    "type": "string",
                    "format": "uri",
                    "description": "Link to the attachment media/content"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "AttachmentRefOrValue": {
            "type": "object",
            "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture.",
            "properties": {
                "id": {
                    "example": "4aafacbd-11ff-4dc8-b445-305f2215715f",
                    "type": "string",
                    "description": "Unique identifier for this particular attachment"
                },
                "href": {
                    "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f",
                    "type": "string",
                    "format": "uri",
                    "description": "URI for this Attachment"
                },
                "attachmentType": {
                    "example": "video",
                    "type": "string",
                    "description": "Attachment type such as video, picture"
                },
                "content": {
                    "type": "string",
                    "format": "base64",
                    "description": "The actual contents of the attachment object, if embedded, encoded as base64"
                },
                "description": {
                    "example": "Photograph of the Product",
                    "type": "string",
                    "description": "A narrative text describing the content of the attachment"
                },
                "mimeType": {
                    "type": "string",
                    "description": "Attachment mime type such as extension file for video, picture and document"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the attachment"
                },
                "url": {
                    "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f",
                    "type": "string",
                    "format": "uri",
                    "description": "Uniform Resource Locator, is a web page address (a subset of URI)"
                },
                "size": {
                    "$ref": "#/definitions/Quantity",
                    "description": "The size of the attachment."
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period of time for which the attachment is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            }
        },
        "CharacteristicSpecification": {
            "type": "object",
            "description": "This class defines a characteristic specification.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique ID for the characteristic"
                },
                "configurable": {
                    "type": "boolean",
                    "description": "If true, the Boolean indicates that the target Characteristic is configurable"
                },
                "description": {
                    "type": "string",
                    "description": "A narrative that explains the CharacteristicSpecification."
                },
                "extensible": {
                    "type": "boolean",
                    "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource."
                },
                "isUnique": {
                    "type": "boolean",
                    "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\""
                },
                "maxCardinality": {
                    "type": "integer",
                    "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality."
                },
                "minCardinality": {
                    "type": "integer",
                    "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality."
                },
                "name": {
                    "type": "string",
                    "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications."
                },
                "regex": {
                    "type": "string",
                    "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value."
                },
                "valueType": {
                    "type": "string",
                    "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth"
                },
                "charSpecRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CharacteristicSpecificationRelationship"
                    },
                    "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics."
                },
                "characteristicValueSpecification": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CharacteristicValueSpecification"
                    },
                    "description": "A CharacteristicValueSpecification object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a CharacteristicSpecification object. The values of the attributes in the CharacteristicValueSpecification object describe the values of the attributes that a corresponding Characteristic object can take on."
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period of time for which a characteristic is applicable."
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@valueSchemaLocation": {
                    "type": "string",
                    "description": "This (optional) field provides a link to the schema describing the value type."
                }
            }
        },
        "CharacteristicSpecificationBase": {
            "type": "object",
            "description": "This class defines a characteristic specification.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique ID for the characteristic"
                },
                "configurable": {
                    "type": "boolean",
                    "description": "If true, the Boolean indicates that the target Characteristic is configurable"
                },
                "description": {
                    "type": "string",
                    "description": "A narrative that explains the CharacteristicSpecification."
                },
                "extensible": {
                    "type": "boolean",
                    "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource."
                },
                "isUnique": {
                    "type": "boolean",
                    "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\""
                },
                "maxCardinality": {
                    "type": "integer",
                    "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality."
                },
                "minCardinality": {
                    "type": "integer",
                    "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality."
                },
                "name": {
                    "type": "string",
                    "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications."
                },
                "regex": {
                    "type": "string",
                    "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value."
                },
                "valueType": {
                    "type": "string",
                    "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period of time for which a characteristic is applicable."
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@valueSchemaLocation": {
                    "type": "string",
                    "description": "This (optional) field provides a link to the schema describing the value type."
                }
            }
        },
        "CharacteristicSpecificationRelationship": {
            "type": "object",
            "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among Characteristic specifications. The specification characteristic is embedded within the specification whose ID and href are in this entity, and identified by its ID.",
            "properties": {
                "characteristicSpecificationId": {
                    "type": "string",
                    "description": "Unique identifier of the characteristic within the specification"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the target characteristic within the specification"
                },
                "parentSpecificationHref": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference to the parent specification containing the target characteristic"
                },
                "parentSpecificationId": {
                    "type": "string",
                    "description": "Unique identifier of the parent specification containing the target characteristic"
                },
                "relationshipType": {
                    "type": "string",
                    "description": "Type of relationship such as aggregation, migration, substitution, dependency, exclusivity"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which the object is valid"
                }
            }
        },
        "CharacteristicValueSpecification": {
            "type": "object",
            "description": "specification of a value (number or text or an object) that can be assigned to a Characteristic.",
            "properties": {
                "isDefault": {
                    "type": "boolean",
                    "description": "If true, the Boolean Indicates if the value is the default value for a characteristic"
                },
                "rangeInterval": {
                    "type": "string",
                    "description": "An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are \"open\", \"closed\", \"closedBottom\" and \"closedTop\"."
                },
                "regex": {
                    "type": "string",
                    "description": "A regular expression constraint for given value"
                },
                "unitOfMeasure": {
                    "type": "string",
                    "description": "A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot."
                },
                "valueFrom": {
                    "type": "integer",
                    "description": "The low range value that a characteristic can take on"
                },
                "valueTo": {
                    "type": "integer",
                    "description": "The upper range value that a characteristic can take on"
                },
                "valueType": {
                    "type": "string",
                    "description": "A kind of value that the characteristic value can take on, such as numeric, text and so forth"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period of time for which a value is applicable."
                },
                "value": {
                    "$ref": "#/definitions/Any",
                    "description": "A discrete value that the characteristic can take on, or the actual value of the characteristic"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ConstraintRef": {
            "type": "object",
            "description": "Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "version": {
                    "type": "string",
                    "description": "constraint version"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "EntityRef": {
            "type": "object",
            "description": "Entity reference schema to be use for all entityRef class.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "EntitySpecification": {
            "type": "object",
            "description": "EntitySpecification is a class that offers characteristics to describe a type of entity. Entities are generic constructs that may be used to describe bespoke business entities that are not effectively covered by the existing SID model.\nFunctionally, the entity specification acts as a template by which entities may be instantiated and described. By sharing the same specification, these entities would therefore share the same set of characteristics.\nNote: The \u2018configurable\u2019 attribute on the specCharacteristics determines if an entity instantiated from the entity specification can override the value of the attribute. When set to false, the entity instance may not define a value that differs from the value in the specification.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the specification"
                },
                "isBundle": {
                    "type": "boolean",
                    "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)."
                },
                "lastUpdate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date and time of the last update of the specification"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status of this catalog item"
                },
                "name": {
                    "type": "string",
                    "description": "Name given to the specification"
                },
                "version": {
                    "type": "string",
                    "description": "specification version"
                },
                "attachment": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AttachmentRefOrValue"
                    },
                    "description": "Attachments that may be of relevance to this specification, such as picture, document, media"
                },
                "constraint": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ConstraintRef"
                    },
                    "description": "This is a list of constraint references applied to this specification"
                },
                "entitySpecRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EntitySpecificationRelationship"
                    },
                    "description": "Relationship to another specification"
                },
                "relatedParty": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RelatedParty"
                    },
                    "description": "Parties who manage or otherwise have an interest in this specification"
                },
                "specCharacteristic": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CharacteristicSpecification"
                    },
                    "description": "List of characteristics that the entity can take"
                },
                "targetEntitySchema": {
                    "$ref": "#/definitions/TargetEntitySchema",
                    "description": "Pointer to a schema that defines the target entity"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which this REST resource is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "EntitySpecificationRelationship": {
            "type": "object",
            "description": "A migration, substitution, dependency or exclusivity relationship between/among entity specifications.",
            "required": [
                "relationshipType"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "relationshipType": {
                    "type": "string",
                    "description": "Type of relationship such as migration, substitution, dependency, exclusivity"
                },
                "role": {
                    "type": "string",
                    "description": "The association role for this entity specification"
                },
                "associationSpec": {
                    "$ref": "#/definitions/AssociationSpecificationRef",
                    "description": "A specification for an association used by this relationship"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which the entitySpecRelationship is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            }
        },
        "ExportJob": {
            "type": "object",
            "description": "Represents a task used to export resources to a file",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Identifier of the export job"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Reference of the export job"
                },
                "completionDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Data at which the job was completed"
                },
                "contentType": {
                    "type": "string",
                    "description": "The format of the exported data"
                },
                "creationDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date at which the job was created"
                },
                "errorLog": {
                    "type": "string",
                    "description": "Reason for failure"
                },
                "path": {
                    "type": "string",
                    "description": "URL of the root resource acting as the source for streaming content to the file specified by the export job"
                },
                "query": {
                    "type": "string",
                    "description": "Used to scope the exported data"
                },
                "url": {
                    "type": "string",
                    "format": "uri",
                    "description": "URL of the file containing the data to be exported"
                },
                "status": {
                    "$ref": "#/definitions/JobStateType",
                    "description": "Status of the export job (not started, running, succeeded, failed)"
                }
            }
        },
        "ExportJob_Create": {
            "type": "object",
            "description": "Represents a task used to export resources to a file\nSkipped properties: id,href",
            "required": [
                "url"
            ],
            "properties": {
                "completionDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Data at which the job was completed"
                },
                "contentType": {
                    "type": "string",
                    "description": "The format of the exported data"
                },
                "creationDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date at which the job was created"
                },
                "errorLog": {
                    "type": "string",
                    "description": "Reason for failure"
                },
                "path": {
                    "type": "string",
                    "description": "URL of the root resource acting as the source for streaming content to the file specified by the export job"
                },
                "query": {
                    "type": "string",
                    "description": "Used to scope the exported data"
                },
                "url": {
                    "type": "string",
                    "format": "uri",
                    "description": "URL of the file containing the data to be exported"
                },
                "status": {
                    "$ref": "#/definitions/JobStateType",
                    "description": "Status of the export job (not started, running, succeeded, failed)"
                }
            }
        },
        "Extensible": {
            "type": "object",
            "description": "Base Extensible schema for use in TMForum Open-APIs",
            "properties": {
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "FeatureSpecification": {
            "type": "object",
            "description": "Specification for resource, service or product features",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Identifier of the feature specification. Must be locally unique within the containing specification, thus allowing direct access to the feature spec."
                },
                "isBundle": {
                    "type": "boolean",
                    "description": "A flag indicating if this is a feature group (true) or not (false)"
                },
                "isEnabled": {
                    "type": "boolean",
                    "description": "A flag indicating if the feature is enabled (true) or not (false)"
                },
                "name": {
                    "type": "string",
                    "description": "Unique name given to the feature specification"
                },
                "version": {
                    "type": "string",
                    "description": "Version of the feature specification"
                },
                "constraint": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ConstraintRef"
                    },
                    "description": "This is a list of feature constraints"
                },
                "featureSpecCharacteristic": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FeatureSpecificationCharacteristic"
                    },
                    "description": "This is a list of characteristics for a particular feature"
                },
                "featureSpecRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FeatureSpecificationRelationship"
                    },
                    "description": "A dependency, exclusivity or aggratation relationship between/among feature specifications."
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which this feature specification is valid"
                }
            }
        },
        "FeatureSpecificationCharacteristic": {
            "type": "object",
            "description": "Configuration feature characteristic specification.",
            "required": [
                "name"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique ID for the characteristic"
                },
                "configurable": {
                    "type": "boolean",
                    "description": "If true, the Boolean indicates that the target Characteristic is configurable"
                },
                "description": {
                    "type": "string",
                    "description": "A narrative that explains the CharacteristicSpecification."
                },
                "extensible": {
                    "type": "boolean",
                    "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource."
                },
                "isUnique": {
                    "type": "boolean",
                    "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\""
                },
                "maxCardinality": {
                    "type": "integer",
                    "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality."
                },
                "minCardinality": {
                    "type": "integer",
                    "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality."
                },
                "name": {
                    "type": "string",
                    "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications."
                },
                "regex": {
                    "type": "string",
                    "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value."
                },
                "valueType": {
                    "type": "string",
                    "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth"
                },
                "featureSpecCharRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FeatureSpecificationCharacteristicRelationship"
                    },
                    "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among feature characteristics."
                },
                "featureSpecCharacteristicValue": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CharacteristicValueSpecification"
                    },
                    "description": "Used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a FeatureCharacteristic object."
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period of time for which a characteristic is applicable."
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@valueSchemaLocation": {
                    "type": "string",
                    "description": "This (optional) field provides a link to the schema describing the value type."
                }
            }
        },
        "FeatureSpecificationCharacteristicRelationship": {
            "type": "object",
            "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among FeatureSpecificationCharacteristics.",
            "properties": {
                "characteristicId": {
                    "type": "string",
                    "description": "Unique identifier of the characteristic within the the target feature specification"
                },
                "featureId": {
                    "type": "string",
                    "description": "Unique identifier of the target feature specification within the resource specification."
                },
                "name": {
                    "type": "string",
                    "description": "Name of the target characteristic"
                },
                "relationshipType": {
                    "type": "string",
                    "description": "Type of relationship such as aggregation, migration, substitution, dependency, exclusivity"
                },
                "resourceSpecificationHref": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference to the resource specification containing the target feature and feature characteristic"
                },
                "resourceSpecificationId": {
                    "type": "string",
                    "description": "Unique identifier of the resource specification containing the target feature and feature characteristic"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which the object is valid"
                }
            }
        },
        "FeatureSpecificationRelationship": {
            "type": "object",
            "description": "Relationship between feature specifications",
            "required": [
                "name",
                "relationshipType"
            ],
            "properties": {
                "featureId": {
                    "type": "string",
                    "description": "Unique identifier of the target feature specification."
                },
                "name": {
                    "type": "string",
                    "description": "This is the name of the target feature specification."
                },
                "parentSpecificationHref": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference to the parent specification containing the target feature"
                },
                "parentSpecificationId": {
                    "type": "string",
                    "description": "Unique identifier of the parent specification containing the target feature"
                },
                "relationshipType": {
                    "type": "string",
                    "description": "This is the type of the feature specification relationship."
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which this feature spoecification relationship is valid."
                }
            }
        },
        "ImportJob": {
            "type": "object",
            "description": "Represents a task used to import resources from a file",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Identifier of the import job"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Reference of the import job"
                },
                "completionDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date at which the job was completed"
                },
                "contentType": {
                    "type": "string",
                    "description": "Indicates the format of the imported data"
                },
                "creationDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date at which the job was created"
                },
                "errorLog": {
                    "type": "string",
                    "description": "Reason for failure if status is failed"
                },
                "path": {
                    "type": "string",
                    "description": "URL of the root resource where the content of the file specified by the import job must be applied"
                },
                "url": {
                    "type": "string",
                    "format": "uri",
                    "description": "URL of the file containing the data to be imported"
                },
                "status": {
                    "$ref": "#/definitions/JobStateType",
                    "description": "Status of the import job (not started, running, succeeded, failed)"
                }
            }
        },
        "ImportJob_Create": {
            "type": "object",
            "description": "Represents a task used to import resources from a file\nSkipped properties: id,href",
            "required": [
                "url"
            ],
            "properties": {
                "completionDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date at which the job was completed"
                },
                "contentType": {
                    "type": "string",
                    "description": "Indicates the format of the imported data"
                },
                "creationDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date at which the job was created"
                },
                "errorLog": {
                    "type": "string",
                    "description": "Reason for failure if status is failed"
                },
                "path": {
                    "type": "string",
                    "description": "URL of the root resource where the content of the file specified by the import job must be applied"
                },
                "url": {
                    "type": "string",
                    "format": "uri",
                    "description": "URL of the file containing the data to be imported"
                },
                "status": {
                    "$ref": "#/definitions/JobStateType",
                    "description": "Status of the import job (not started, running, succeeded, failed)"
                }
            }
        },
        "JobStateType": {
            "type": "string",
            "description": "Valid values for the state of a batch job (e.g. catalog import)",
            "enum": [
                "Not Started",
                "Running",
                "Succeeded",
                "Failed"
            ]
        },
        "Quantity": {
            "type": "object",
            "description": "An amount in a given unit",
            "properties": {
                "amount": {
                    "default": 1,
                    "type": "number",
                    "format": "float",
                    "description": "Numeric value in a given unit"
                },
                "units": {
                    "type": "string",
                    "description": "Unit"
                }
            }
        },
        "RelatedParty": {
            "type": "object",
            "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.",
            "required": [
                "@referredType",
                "id"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "role": {
                    "type": "string",
                    "description": "Role played by the related party"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            }
        },
        "ResourceSpecificationRef": {
            "type": "object",
            "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\nA ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "version": {
                    "type": "string",
                    "description": "Resource Specification version"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "ServiceCandidate": {
            "type": "object",
            "description": "ServiceCandidate is an entity that makes a service specification available to a catalog. A\nServiceCandidate and its associated service specification may be published - made visible - in any number of service catalogs, or in none. One service specification can be composed of other service specifications.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "description": {
                    "type": "string",
                    "description": "Description of this REST resource"
                },
                "lastUpdate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date and time of the last update of this REST resource"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status of the service candidate."
                },
                "name": {
                    "type": "string",
                    "description": "Name given to this REST resource"
                },
                "version": {
                    "type": "string",
                    "description": "the version of service candidate"
                },
                "category": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCategoryRef"
                    },
                    "description": "List of categories for this candidate"
                },
                "serviceSpecification": {
                    "$ref": "#/definitions/ServiceSpecificationRef",
                    "description": "The service specification implied by this candidate"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which this REST resource is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceCandidate_Create": {
            "type": "object",
            "description": "ServiceCandidate is an entity that makes a service specification available to a catalog. A\nServiceCandidate and its associated service specification may be published - made visible - in any number of service catalogs, or in none. One service specification can be composed of other service specifications.\nSkipped properties: id,href",
            "required": [
                "name",
                "serviceSpecification"
            ],
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Description of this REST resource"
                },
                "lastUpdate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date and time of the last update of this REST resource"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status of the service candidate."
                },
                "name": {
                    "type": "string",
                    "description": "Name given to this REST resource"
                },
                "version": {
                    "type": "string",
                    "description": "the version of service candidate"
                },
                "category": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCategoryRef"
                    },
                    "description": "List of categories for this candidate"
                },
                "serviceSpecification": {
                    "$ref": "#/definitions/ServiceSpecificationRef",
                    "description": "The service specification implied by this candidate"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which this REST resource is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceCandidate_Update": {
            "type": "object",
            "description": "ServiceCandidate is an entity that makes a service specification available to a catalog. A\nServiceCandidate and its associated service specification may be published - made visible - in any number of service catalogs, or in none. One service specification can be composed of other service specifications.\nSkipped properties: id,href,lastUpdate",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Description of this REST resource"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status of the service candidate."
                },
                "name": {
                    "type": "string",
                    "description": "Name given to this REST resource"
                },
                "version": {
                    "type": "string",
                    "description": "the version of service candidate"
                },
                "category": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCategoryRef"
                    },
                    "description": "List of categories for this candidate"
                },
                "serviceSpecification": {
                    "$ref": "#/definitions/ServiceSpecificationRef",
                    "description": "The service specification implied by this candidate"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which this REST resource is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceCandidateRef": {
            "type": "object",
            "description": "ServiceCandidate reference. ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "version": {
                    "type": "string",
                    "description": "Version of the service candidate"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "ServiceCatalog": {
            "type": "object",
            "description": "The root entity for service catalog management.\nA service catalog is a group of service specifications made available through service candidates that an organization provides to the consumers (internal consumers like its employees or B2B customers or B2C customers). \nA service catalog typically includes name, description and time period that is valid for. It will have a list of ServiceCandidate catalog items. A ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog.\nA ServiceCandidate and its associated ServiceSpecification may be \"published\" - made visible -in any number of ServiceCatalogs, or in none.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "description": {
                    "type": "string",
                    "description": "Description of this catalog"
                },
                "lastUpdate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date and time of the last update"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the service catalog"
                },
                "version": {
                    "type": "string",
                    "description": "ServiceCatalog version"
                },
                "category": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCategoryRef"
                    },
                    "description": "List of service categories associated with this catalog"
                },
                "relatedParty": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RelatedParty"
                    },
                    "description": "List of parties or party roles related to this category"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which the service catalog is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceCatalog_Create": {
            "type": "object",
            "description": "The root entity for service catalog management.\nA service catalog is a group of service specifications made available through service candidates that an organization provides to the consumers (internal consumers like its employees or B2B customers or B2C customers). \nA service catalog typically includes name, description and time period that is valid for. It will have a list of ServiceCandidate catalog items. A ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog.\nA ServiceCandidate and its associated ServiceSpecification may be \"published\" - made visible -in any number of ServiceCatalogs, or in none.\nSkipped properties: id,href",
            "required": [
                "name"
            ],
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Description of this catalog"
                },
                "lastUpdate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date and time of the last update"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the service catalog"
                },
                "version": {
                    "type": "string",
                    "description": "ServiceCatalog version"
                },
                "category": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCategoryRef"
                    },
                    "description": "List of service categories associated with this catalog"
                },
                "relatedParty": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RelatedParty"
                    },
                    "description": "List of parties or party roles related to this category"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which the service catalog is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceCatalog_Update": {
            "type": "object",
            "description": "The root entity for service catalog management.\nA service catalog is a group of service specifications made available through service candidates that an organization provides to the consumers (internal consumers like its employees or B2B customers or B2C customers). \nA service catalog typically includes name, description and time period that is valid for. It will have a list of ServiceCandidate catalog items. A ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog.\nA ServiceCandidate and its associated ServiceSpecification may be \"published\" - made visible -in any number of ServiceCatalogs, or in none.\nSkipped properties: id,href,lastUpdate",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Description of this catalog"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the service catalog"
                },
                "version": {
                    "type": "string",
                    "description": "ServiceCatalog version"
                },
                "category": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCategoryRef"
                    },
                    "description": "List of service categories associated with this catalog"
                },
                "relatedParty": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RelatedParty"
                    },
                    "description": "List of parties or party roles related to this category"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which the service catalog is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceCategory": {
            "type": "object",
            "description": "The (service) category resource is used to group service candidates in logical containers. Categories can contain other categories.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the category"
                },
                "isRoot": {
                    "type": "boolean",
                    "description": "If true, this Boolean indicates that the category is a root of categories"
                },
                "lastUpdate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date and time of the last update"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the category"
                },
                "parentId": {
                    "type": "string",
                    "description": "Unique identifier of the parent category"
                },
                "version": {
                    "type": "string",
                    "description": "ServiceCategory version"
                },
                "category": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCategoryRef"
                    },
                    "description": "List of child categories in the tree for in this category"
                },
                "serviceCandidate": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCandidateRef"
                    },
                    "description": "List of service candidates associated with this category"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which the category is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceCategory_Create": {
            "type": "object",
            "description": "The (service) category resource is used to group service candidates in logical containers. Categories can contain other categories.\nSkipped properties: id,href",
            "required": [
                "name"
            ],
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Description of the category"
                },
                "isRoot": {
                    "type": "boolean",
                    "description": "If true, this Boolean indicates that the category is a root of categories"
                },
                "lastUpdate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date and time of the last update"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the category"
                },
                "parentId": {
                    "type": "string",
                    "description": "Unique identifier of the parent category"
                },
                "version": {
                    "type": "string",
                    "description": "ServiceCategory version"
                },
                "category": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCategoryRef"
                    },
                    "description": "List of child categories in the tree for in this category"
                },
                "serviceCandidate": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCandidateRef"
                    },
                    "description": "List of service candidates associated with this category"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which the category is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceCategory_Update": {
            "type": "object",
            "description": "The (service) category resource is used to group service candidates in logical containers. Categories can contain other categories.\nSkipped properties: id,href,lastUpdate",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Description of the category"
                },
                "isRoot": {
                    "type": "boolean",
                    "description": "If true, this Boolean indicates that the category is a root of categories"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the category"
                },
                "parentId": {
                    "type": "string",
                    "description": "Unique identifier of the parent category"
                },
                "version": {
                    "type": "string",
                    "description": "ServiceCategory version"
                },
                "category": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCategoryRef"
                    },
                    "description": "List of child categories in the tree for in this category"
                },
                "serviceCandidate": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceCandidateRef"
                    },
                    "description": "List of service candidates associated with this category"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which the category is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceCategoryRef": {
            "type": "object",
            "description": "The (service) category resource is used to group service candidates in logical containers. Categories can contain other categories.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "version": {
                    "type": "string",
                    "description": "Category version"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "ServiceLevelSpecificationRef": {
            "type": "object",
            "description": "A Service Level Specification represents a pre-defined or negotiated set of Service Level \nObjectives. In addition, certain consequences are associated with not meeting the Service Level \nObjectives. Service Level Agreements are expressed in terms of Service Level Specifications.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "ServiceSpecRelationship": {
            "type": "object",
            "description": "A dependency, substitution or exclusivity relationship between/among service specifications.",
            "required": [
                "relationshipType"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "relationshipType": {
                    "type": "string",
                    "description": "Type of relationship such as dependency, substitution or exclusivity"
                },
                "role": {
                    "type": "string",
                    "description": "The association role for this service specification"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which the serviceSpecRelationship is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            }
        },
        "ServiceSpecification": {
            "type": "object",
            "description": "ServiceSpecification is a class that offers characteristics to describe a type of service.\nFunctionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the specification"
                },
                "isBundle": {
                    "type": "boolean",
                    "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)."
                },
                "lastUpdate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date and time of the last update of the specification"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status of this catalog item"
                },
                "name": {
                    "type": "string",
                    "description": "Name given to the specification"
                },
                "version": {
                    "type": "string",
                    "description": "specification version"
                },
                "attachment": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AttachmentRefOrValue"
                    },
                    "description": "Attachments that may be of relevance to this specification, such as picture, document, media"
                },
                "constraint": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ConstraintRef"
                    },
                    "description": "This is a list of constraint references applied to this specification"
                },
                "entitySpecRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EntitySpecificationRelationship"
                    },
                    "description": "Relationship to another specification"
                },
                "featureSpecification": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FeatureSpecification"
                    },
                    "description": "A list of Features for this specification."
                },
                "relatedParty": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RelatedParty"
                    },
                    "description": "Parties who manage or otherwise have an interest in this specification"
                },
                "resourceSpecification": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ResourceSpecificationRef"
                    },
                    "description": "A list of resource specification references (ResourceSpecificationRef [*]). The ResourceSpecification is required for a service specification with type ResourceFacingServiceSpecification (RFSS)."
                },
                "serviceLevelSpecification": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceLevelSpecificationRef"
                    },
                    "description": "A list of service level specifications related to this service specification, and which will need to be satisifiable for corresponding service instances; e.g. Gold, Platinum"
                },
                "serviceSpecRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceSpecRelationship"
                    },
                    "description": "A list of service specifications related to this specification, e.g. migration, substitution, dependency or exclusivity relationship"
                },
                "specCharacteristic": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CharacteristicSpecification"
                    },
                    "description": "List of characteristics that the entity can take"
                },
                "targetEntitySchema": {
                    "$ref": "#/definitions/TargetEntitySchema",
                    "description": "Pointer to a schema that defines the target entity"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which this REST resource is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceSpecification_Create": {
            "type": "object",
            "description": "ServiceSpecification is a class that offers characteristics to describe a type of service.\nFunctionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.\nSkipped properties: id,href",
            "required": [
                "name"
            ],
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Description of the specification"
                },
                "isBundle": {
                    "type": "boolean",
                    "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)."
                },
                "lastUpdate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date and time of the last update of the specification"
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status of this catalog item"
                },
                "name": {
                    "type": "string",
                    "description": "Name given to the specification"
                },
                "version": {
                    "type": "string",
                    "description": "specification version"
                },
                "attachment": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AttachmentRefOrValue"
                    },
                    "description": "Attachments that may be of relevance to this specification, such as picture, document, media"
                },
                "constraint": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ConstraintRef"
                    },
                    "description": "This is a list of constraint references applied to this specification"
                },
                "entitySpecRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EntitySpecificationRelationship"
                    },
                    "description": "Relationship to another specification"
                },
                "featureSpecification": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FeatureSpecification"
                    },
                    "description": "A list of Features for this specification."
                },
                "relatedParty": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RelatedParty"
                    },
                    "description": "Parties who manage or otherwise have an interest in this specification"
                },
                "resourceSpecification": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ResourceSpecificationRef"
                    },
                    "description": "A list of resource specification references (ResourceSpecificationRef [*]). The ResourceSpecification is required for a service specification with type ResourceFacingServiceSpecification (RFSS)."
                },
                "serviceLevelSpecification": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceLevelSpecificationRef"
                    },
                    "description": "A list of service level specifications related to this service specification, and which will need to be satisifiable for corresponding service instances; e.g. Gold, Platinum"
                },
                "serviceSpecRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceSpecRelationship"
                    },
                    "description": "A list of service specifications related to this specification, e.g. migration, substitution, dependency or exclusivity relationship"
                },
                "specCharacteristic": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CharacteristicSpecification"
                    },
                    "description": "List of characteristics that the entity can take"
                },
                "targetEntitySchema": {
                    "$ref": "#/definitions/TargetEntitySchema",
                    "description": "Pointer to a schema that defines the target entity"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which this REST resource is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceSpecification_Update": {
            "type": "object",
            "description": "ServiceSpecification is a class that offers characteristics to describe a type of service.\nFunctionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.\nSkipped properties: id,href,lastUpdate",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Description of the specification"
                },
                "isBundle": {
                    "type": "boolean",
                    "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)."
                },
                "lifecycleStatus": {
                    "type": "string",
                    "description": "Used to indicate the current lifecycle status of this catalog item"
                },
                "name": {
                    "type": "string",
                    "description": "Name given to the specification"
                },
                "version": {
                    "type": "string",
                    "description": "specification version"
                },
                "attachment": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AttachmentRefOrValue"
                    },
                    "description": "Attachments that may be of relevance to this specification, such as picture, document, media"
                },
                "constraint": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ConstraintRef"
                    },
                    "description": "This is a list of constraint references applied to this specification"
                },
                "entitySpecRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EntitySpecificationRelationship"
                    },
                    "description": "Relationship to another specification"
                },
                "featureSpecification": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FeatureSpecification"
                    },
                    "description": "A list of Features for this specification."
                },
                "relatedParty": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RelatedParty"
                    },
                    "description": "Parties who manage or otherwise have an interest in this specification"
                },
                "resourceSpecification": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ResourceSpecificationRef"
                    },
                    "description": "A list of resource specification references (ResourceSpecificationRef [*]). The ResourceSpecification is required for a service specification with type ResourceFacingServiceSpecification (RFSS)."
                },
                "serviceLevelSpecification": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceLevelSpecificationRef"
                    },
                    "description": "A list of service level specifications related to this service specification, and which will need to be satisifiable for corresponding service instances; e.g. Gold, Platinum"
                },
                "serviceSpecRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceSpecRelationship"
                    },
                    "description": "A list of service specifications related to this specification, e.g. migration, substitution, dependency or exclusivity relationship"
                },
                "specCharacteristic": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CharacteristicSpecification"
                    },
                    "description": "List of characteristics that the entity can take"
                },
                "targetEntitySchema": {
                    "$ref": "#/definitions/TargetEntitySchema",
                    "description": "Pointer to a schema that defines the target entity"
                },
                "validFor": {
                    "$ref": "#/definitions/TimePeriod",
                    "description": "The period for which this REST resource is valid"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ServiceSpecificationRef": {
            "type": "object",
            "description": "Service specification reference: ServiceSpecification(s) required to realize a ProductSpecification.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "version": {
                    "type": "string",
                    "description": "Service specification version"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "TargetEntitySchema": {
            "type": "object",
            "description": "The reference object to the schema and type of target entity which is described by a specification",
            "required": [
                "@schemaLocation",
                "@type"
            ],
            "properties": {
                "@schemaLocation": {
                    "type": "string",
                    "description": "This field provides a link to the schema describing the target entity"
                },
                "@type": {
                    "type": "string",
                    "description": "Class type of the target entity"
                }
            }
        },
        "TimePeriod": {
            "type": "object",
            "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both",
            "properties": {
                "endDateTime": {
                    "example": "1985-04-12T23:20:50.52Z",
                    "type": "string",
                    "format": "date-time",
                    "description": "End of the time period, using IETC-RFC-3339 format"
                },
                "startDateTime": {
                    "example": "1985-04-12T23:20:50.52Z",
                    "type": "string",
                    "format": "date-time",
                    "description": "Start of the time period, using IETC-RFC-3339 format"
                }
            }
        },
        "EventSubscription": {
            "type": "object",
            "description": "Sets the communication endpoint address the service instance must use to deliver notification information",
            "required": [
                "id",
                "callback"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Id of the listener"
                },
                "callback": {
                    "type": "string",
                    "description": "The callback being registered."
                },
                "query": {
                    "type": "string",
                    "description": "additional data to be passed"
                }
            }
        },
        "EventSubscriptionInput": {
            "type": "object",
            "description": "Sets the communication endpoint address the service instance must use to deliver notification information",
            "required": [
                "callback"
            ],
            "properties": {
                "callback": {
                    "type": "string",
                    "description": "The callback being registered."
                },
                "query": {
                    "type": "string",
                    "description": "additional data to be passed"
                }
            }
        },
        "ServiceCatalogCreateEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceCatalogCreateEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceCatalogCreateEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceCatalog": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceCatalog"
                }
            }
        },
        "ServiceCatalogChangeEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceCatalogChangeEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceCatalogChangeEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceCatalog": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceCatalog"
                }
            }
        },
        "ServiceCatalogBatchEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceCatalogBatchEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceCatalogBatchEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceCatalog": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceCatalog"
                }
            }
        },
        "ServiceCatalogDeleteEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceCatalogDeleteEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceCatalogDeleteEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceCatalog": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceCatalog"
                }
            }
        },
        "ServiceCategoryCreateEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceCategoryCreateEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceCategoryCreateEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceCategory": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceCategory"
                }
            }
        },
        "ServiceCategoryChangeEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceCategoryChangeEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceCategoryChangeEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceCategory": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceCategory"
                }
            }
        },
        "ServiceCategoryDeleteEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceCategoryDeleteEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceCategoryDeleteEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceCategory": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceCategory"
                }
            }
        },
        "ServiceCandidateCreateEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceCandidateCreateEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceCandidateCreateEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceCandidate": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceCandidate"
                }
            }
        },
        "ServiceCandidateChangeEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceCandidateChangeEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceCandidateChangeEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceCandidate": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceCandidate"
                }
            }
        },
        "ServiceCandidateDeleteEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceCandidateDeleteEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceCandidateDeleteEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceCandidate": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceCandidate"
                }
            }
        },
        "ServiceSpecificationCreateEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceSpecificationCreateEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceSpecificationCreateEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceSpecification": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceSpecification"
                }
            }
        },
        "ServiceSpecificationChangeEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceSpecificationChangeEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceSpecificationChangeEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceSpecification": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceSpecification"
                }
            }
        },
        "ServiceSpecificationDeleteEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ServiceSpecificationDeleteEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ServiceSpecificationDeleteEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "serviceSpecification": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ServiceSpecification"
                }
            }
        },
        "Error": {
            "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)",
            "type": "object",
            "required": [
                "code",
                "reason"
            ],
            "properties": {
                "code": {
                    "type": "string",
                    "description": "Application relevant detail, defined in the API or a common list."
                },
                "reason": {
                    "type": "string",
                    "description": "Explanation of the reason for the error which can be shown to a client user."
                },
                "message": {
                    "type": "string",
                    "description": "More details and corrective actions related to the error which can be shown to a client user."
                },
                "status": {
                    "type": "string",
                    "description": "HTTP Error code extension"
                },
                "referenceError": {
                    "type": "string",
                    "format": "uri",
                    "description": "URI of documentation describing the error."
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class."
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class entity name."
                }
            }
        }
    }
}