{
  "openapi": "3.0.1",
  "info": {
    "title": "TMF 685 Resource Pool Management",
    "description": "## TMF API Reference: TMF685 Resource Pool Management   ### Release : 18.0 Resources that can\r\nbe reserved are only\r\nin one pool.\r\nIF a resource is not found in a pool is infinite.\r\nWhen one makes a reservation for a resource, then we check availability of \r\nthis resource on that specific dates\r\nif checkAvailability returns the resource\r\nthen it can be reserved on that specific requested date and time.",
    "license": {
      "name": "Apache 2.0",
      "url": "https://osl.etsi.org"
    },
    "version": "1.0.0"
  },
  "externalDocs": {
    "description": "Openslice",
    "url": "https://osl.etsi.org"
  },
  "servers": [
    {
      "url": "https://portal.openslice.eu/tmf-api",
      "description": "Generated server url"
    }
  ],
  "security": [
    {
      "security_auth": []
    }
  ],
  "tags": [
    {
      "name": "resourcePool",
      "description": "the resourcePool API"
    },
    {
      "name": "reservation",
      "description": "the reservation API"
    },
    {
      "name": "availabilityCheck",
      "description": "the availabilityCheck API"
    },
    {
      "name": "hub",
      "description": "the hub API"
    },
    {
      "name": "extract",
      "description": "the extract API"
    },
    {
      "name": "push",
      "description": "the push API"
    }
  ],
  "paths": {
    "/resourcePoolManagement/v1/resourcePool": {
      "get": {
        "tags": [
          "resourcePool"
        ],
        "summary": "List or find ResourcePool objects",
        "description": "This operation list or find ResourcePool entities",
        "operationId": "listResourcePool",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated properties to be provided in response",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Requested index for start of resources to be provided in response",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Requested number of resources to be provided in response",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourcePool"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourcePool"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourcePool"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourcePool"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourcePool"
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourcePool"
                  }
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourcePool"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourcePool"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "resourcePool"
        ],
        "summary": "Creates a 'ResourcePool'",
        "operationId": "createResourcePool",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourcePoolCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "400": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          }
        }
      }
    },
    "/resourcePoolManagement/v1/reservation": {
      "get": {
        "tags": [
          "reservation"
        ],
        "summary": "List or find 'Reservation' objects",
        "operationId": "listReservation",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "Comma separated properties to display in response",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Requested index for start of resources to be provided in response",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Requested number of resources to be provided in response",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Reservation"
                  }
                }
              }
            }
          },
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Reservation"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Reservation"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Reservation"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Reservation"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Reservation"
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Reservation"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Reservation"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "reservation"
        ],
        "summary": "Creates a 'Reservation'",
        "operationId": "createReservation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "400": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          }
        }
      }
    },
    "/resourcePoolManagement/v1/push": {
      "post": {
        "tags": [
          "push"
        ],
        "summary": "Creates a 'Push' action and modifies a Pool",
        "description": "This operation runs TASK, which adds the capacity of the new resource to the resource pool.",
        "operationId": "createPush",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PushCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "400": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          }
        }
      }
    },
    "/resourcePoolManagement/v1/hub": {
      "post": {
        "tags": [
          "hub",
          "events subscription"
        ],
        "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.",
        "operationId": "registerListener",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSubscriptionInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "400": {
            "description": "Subscribed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          }
        }
      }
    },
    "/resourcePoolManagement/v1/extract": {
      "post": {
        "tags": [
          "extract"
        ],
        "summary": "Creates an 'Extract' action and modifies a pool",
        "description": "In this operation, TASK is executed to extract the capacity of the resource from the resource pool to another pool.",
        "operationId": "createExtract",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtractCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "400": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          }
        }
      }
    },
    "/resourcePoolManagement/v1/availabilityCheck": {
      "post": {
        "tags": [
          "availabilityCheck"
        ],
        "summary": "Creates a 'AvailabilityCheck'",
        "description": "This operation executes task to retrieve available Resource entities or to check resource pool has available Resource capacity.",
        "operationId": "createAvailabilityCheck",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AvailabilityCheckCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailabilityCheck"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailabilityCheck"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailabilityCheck"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailabilityCheck"
                }
              }
            }
          },
          "400": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailabilityCheck"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailabilityCheck"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailabilityCheck"
                }
              }
            }
          }
        }
      }
    },
    "/resourcePoolManagement/v1/resourcePool/{id}": {
      "get": {
        "tags": [
          "resourcePool"
        ],
        "summary": "Retrieves a ResourcePool by ID",
        "description": "This operation retrieves a ResourcePool entity. Attribute selection is enabled for all first level attributes.",
        "operationId": "retrieveResourcePool",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the ResourcePool",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated properties to provide in response",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "resourcePool"
        ],
        "summary": "Deletes a 'ResourcePool' by Id",
        "operationId": "deleteResourcePool",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the Resource Pool",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error"
          },
          "204": {
            "description": "Deleted"
          },
          "409": {
            "description": "Conflict"
          },
          "404": {
            "description": "Not Found"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request"
          },
          "405": {
            "description": "Method Not allowed"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "patch": {
        "tags": [
          "resourcePool"
        ],
        "summary": "Updates partially a 'ResourcePool' by Id",
        "operationId": "patchResourcePool",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the Resource Pool",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourcePoolUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "200": {
            "description": "Updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcePool"
                }
              }
            }
          }
        }
      }
    },
    "/resourcePoolManagement/v1/reservation/{id}": {
      "get": {
        "tags": [
          "reservation"
        ],
        "summary": "Retrieves a 'Reservation' by Id",
        "operationId": "retrieveReservation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the Reservation",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "reservation",
          "resourcePool"
        ],
        "summary": "Deletes a 'Reservation' by Id",
        "operationId": "deleteReservation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the Reservation",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error"
          },
          "204": {
            "description": "Deleted"
          },
          "409": {
            "description": "Conflict"
          },
          "404": {
            "description": "Not Found"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request"
          },
          "405": {
            "description": "Method Not allowed"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "patch": {
        "tags": [
          "reservation"
        ],
        "summary": "Updates partially a 'Reservation' by Id",
        "operationId": "patchReservation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the Reservation",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReservationUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "200": {
            "description": "Updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reservation"
                }
              }
            }
          }
        }
      }
    },
    "/resourcePoolManagement/v1/hub/{id}": {
      "delete": {
        "tags": [
          "hub",
          "events subscription"
        ],
        "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.",
        "operationId": "unregisterListener",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the registered listener",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error"
          },
          "400": {
            "description": "Bad request"
          },
          "204": {
            "description": "Deleted"
          },
          "405": {
            "description": "Method not allowed"
          },
          "404": {
            "description": "Not Found"
          },
          "403": {
            "description": "Forbidden"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApplicableTimePeriod": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "fromDateTime": {
            "type": "string",
            "description": "The period of time for which the schedule is applicable.  Instance values are mutually exclusive with daysOfWeek values."
          },
          "endDateTime": {
            "type": "string",
            "description": "The period of time for which the schedule is applicable.  Instance values are mutually exclusive with daysOfWeek values."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "dayOfWeek": {
            "type": "string",
            "description": "A day or days representing when the schedule is applicable. For example 2, 3 represent Monday and Tuesday."
          },
          "rangeInterval": {
            "type": "string",
            "description": "An indicator that specifies the inclusion or exclusion of the from and to DateTime attributes.  Possible values are \"open\", \"closed\", \"closedBottom\" and \"closedTop\"."
          }
        },
        "description": "The period of time for which Capacity or CapacityDemand applies."
      },
      "AppliedCapacityAmount": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "resource": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceRef"
            }
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "appliedDemandAmount": {
            "type": "integer",
            "description": "An amount of demand applied to a CapacityAmount. Note that this is a composite attribute defined by CapacityAmount.",
            "format": "int32"
          },
          "resourceCapacityDemand": {
            "$ref": "#/components/schemas/ResourceCapacityDemand"
          },
          "resources": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceRef"
            }
          }
        },
        "description": "The amount of CapcityDemand applied to a CapacityAmount."
      },
      "Capacity": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "capacityAmount": {
            "type": "integer",
            "format": "int32"
          },
          "relatedParty": {
            "$ref": "#/components/schemas/RelatedParty"
          },
          "place": {
            "$ref": "#/components/schemas/PlaceRef"
          },
          "resources": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceRef"
            }
          },
          "appliedCapacityAmount": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppliedCapacityAmount"
            }
          }
        }
      },
      "PlaceRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          }
        },
        "description": "Place reference. PlaceRef defines the placeRefs where the products are sold or delivered."
      },
      "RelatedParty": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "role": {
            "type": "string",
            "description": "Role of the related party."
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "id": {
            "type": "string"
          },
          "extendedInfo": {
            "type": "string"
          }
        },
        "description": "RelatedParty reference. A related party defines party or party role linked to a specific entity."
      },
      "ResourceCapacityDemand": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "capacityDemandAmount": {
            "type": "integer",
            "description": "A value and units that define the CapacityDemand, such as 10000 ea, 10B Mb.  Instance values are mutually exclusive with From and To capacityDemandAmounts and range interval.",
            "format": "int32"
          },
          "resourcePool": {
            "$ref": "#/components/schemas/ResourcePoolRef"
          },
          "applicableTimePeriod": {
            "$ref": "#/components/schemas/ApplicableTimePeriod"
          },
          "place": {
            "$ref": "#/components/schemas/PlaceRef"
          },
          "resources": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceRef"
            }
          }
        },
        "description": "the amount of capacity that is planned to be consumed or has been consumed."
      },
      "ResourcePoolCreate": {
        "type": "object",
        "properties": {
          "atBaseType": {
            "type": "string",
            "description": "A string. Generic attribute indicating the base class type of the extension class of the current object. Useful only when the class type of the current  object is unknown to the implementation."
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A string. Generic attribute containing the link to the schema that defines the structure of the class type of the current object."
          },
          "atType": {
            "type": "string",
            "description": "A string. Generic attribute containing the name of the resource class type."
          },
          "@baseType": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@type": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "description": "A string. free-text description of the Resource Pool."
          },
          "relatedParty": {
            "type": "string",
            "description": "A related party defines party or party role linked to a specific entity, who uses the resource of Resource Pool."
          },
          "name": {
            "type": "string"
          },
          "capacity": {
            "$ref": "#/components/schemas/Capacity"
          }
        },
        "description": "The Resource Pool to be created"
      },
      "ResourcePoolRef": {
        "type": "object",
        "properties": {
          "atReferredType": {
            "type": "string",
            "description": "A string. Indicates the type of the referred object. This attribute is to be used when the object is representing a reference to an existing object instead of the of the object itself."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "@referredType": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "description": "A string. Identifier of an instance of the Resource Pool."
          },
          "resources": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceRef"
            }
          }
        },
        "description": "manages resource capacity with the resource state"
      },
      "ResourceRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the supporting resource"
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          }
        }
      },
      "ResourcePool": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "lastUpdate": {
            "type": "string",
            "description": "Date and time of the last update"
          },
          "lifecycleStatusEnum": {
            "type": "string",
            "writeOnly": true,
            "enum": [
              "In study",
              "In design",
              "In test",
              "Active",
              "Launched",
              "Retired",
              "Obsolete",
              "Rejected"
            ]
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "description": {
            "type": "string",
            "description": "Description of this catalog"
          },
          "lifecycleStatus": {
            "type": "string",
            "description": "Used to indicate the current lifecycle status"
          },
          "version": {
            "type": "string",
            "description": "Entity version"
          },
          "validFor": {
            "$ref": "#/components/schemas/TimePeriod"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of this REST resource"
          },
          "capacity": {
            "$ref": "#/components/schemas/Capacity"
          }
        },
        "description": "manages resource capacity with the resource state"
      },
      "TimePeriod": {
        "type": "object",
        "properties": {
          "endDateTime": {
            "type": "string",
            "description": "End of the time period, using IETC-RFC-3339 format"
          },
          "startDateTime": {
            "type": "string",
            "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end"
          }
        },
        "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both"
      },
      "ReservationCreate": {
        "type": "object",
        "properties": {
          "requestedPeriodEndDateTime": {
            "type": "string"
          },
          "requestedPeriodStartDateTime": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A string. Generic attribute containing the link to the schema that defines the structure of the class type of the current object."
          },
          "atType": {
            "type": "string",
            "description": "A string. Indicates the (class) type of reservation. Ex. serviceItemReservation, resourceItemReservation"
          },
          "@baseType": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "description": "A string. free-text description of the reservation."
          },
          "relatedParty": {
            "$ref": "#/components/schemas/RelatedParty"
          },
          "reservationState": {
            "type": "string",
            "description": "A string. The life cycle state of the reservation."
          },
          "validFor": {
            "$ref": "#/components/schemas/TimePeriod"
          },
          "reservationItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReservationItem"
            }
          },
          "serviceOrderRef": {
            "$ref": "#/components/schemas/ServiceOrderRef"
          }
        },
        "description": "The Reservation to be created"
      },
      "ReservationItem": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "quantity": {
            "type": "integer",
            "description": "Represents the number of reservationItems that make up the reservation.",
            "format": "int32"
          },
          "subReservationState": {
            "type": "string",
            "description": "A string. The life cycle state of the each reservation item."
          },
          "resourceCapacity": {
            "$ref": "#/components/schemas/ResourceCapacityDemand"
          },
          "appliedCapacityAmount": {
            "$ref": "#/components/schemas/AppliedCapacityAmount"
          }
        },
        "description": "An identified part of the reservation. A reservation is decomposed into one or more reservation items."
      },
      "ServiceOrderRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the Service Order"
          },
          "serviceOrderItemId": {
            "type": "string",
            "description": "Unique identifier of the Service Order Item within a service order, not populated if this is a reference to a service order"
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          }
        },
        "description": "Service Order reference. Useful to understand the which was the Service order through which the service was instantiated in the service inventory"
      },
      "Reservation": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "lastUpdate": {
            "type": "string",
            "description": "Date and time of the last update"
          },
          "requestedPeriodStartDateTime": {
            "type": "string",
            "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end"
          },
          "requestedPeriodEndDateTime": {
            "type": "string",
            "description": "End of the time period, using IETC-RFC-3339 format"
          },
          "lifecycleStatusEnum": {
            "type": "string",
            "writeOnly": true,
            "enum": [
              "In study",
              "In design",
              "In test",
              "Active",
              "Launched",
              "Retired",
              "Obsolete",
              "Rejected"
            ]
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "description": {
            "type": "string",
            "description": "Description of this catalog"
          },
          "lifecycleStatus": {
            "type": "string",
            "description": "Used to indicate the current lifecycle status"
          },
          "version": {
            "type": "string",
            "description": "Entity version"
          },
          "validFor": {
            "$ref": "#/components/schemas/TimePeriod"
          },
          "id": {
            "type": "string",
            "description": "A string. Identifier of an instance of the Reservation."
          },
          "relatedParty": {
            "$ref": "#/components/schemas/RelatedParty"
          },
          "reservationState": {
            "type": "string",
            "description": "A string. The life cycle state of the reservation."
          },
          "reservationItem": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReservationItem"
            }
          },
          "serviceOrderRef": {
            "$ref": "#/components/schemas/ServiceOrderRef"
          }
        },
        "description": "reservation api resource"
      },
      "PushCreate": {
        "type": "object",
        "properties": {
          "atType": {
            "type": "string",
            "description": "The class type of the actual resource (for type extension)."
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A link to the schema describing a resource (for type extension)."
          },
          "atBaseType": {
            "type": "string",
            "description": "The base type for use in polymorphic collections"
          },
          "@type": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@baseType": {
            "type": "string"
          },
          "capacity": {
            "$ref": "#/components/schemas/Capacity"
          },
          "resourcePool": {
            "$ref": "#/components/schemas/ResourcePoolRef"
          }
        },
        "description": "The Push to be performed"
      },
      "EventSubscriptionInput": {
        "required": [
          "callback"
        ],
        "type": "object",
        "properties": {
          "callback": {
            "type": "string",
            "description": "The callback being registered."
          },
          "query": {
            "type": "string",
            "description": "additional data to be passed"
          }
        },
        "description": "Data containing the callback endpoint to deliver the information"
      },
      "EventSubscription": {
        "required": [
          "callback",
          "id"
        ],
        "type": "object",
        "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"
          }
        }
      },
      "ExtractCreate": {
        "type": "object",
        "properties": {
          "atType": {
            "type": "string",
            "description": "The class type of the actual resource (for type extension)."
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A link to the schema describing a resource (for type extension)."
          },
          "atBaseType": {
            "type": "string",
            "description": "The base type for use in polymorphic collections"
          },
          "@type": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@baseType": {
            "type": "string"
          },
          "capacity": {
            "$ref": "#/components/schemas/Capacity"
          },
          "resourcePool": {
            "$ref": "#/components/schemas/ResourcePoolRef"
          }
        },
        "description": "The Extract to be performed"
      },
      "AvailabilityCheckCreate": {
        "type": "object",
        "properties": {
          "atType": {
            "type": "string",
            "description": "The class type of the actual resource (for type extension)."
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A link to the schema describing a resource (for type extension)."
          },
          "atBaseType": {
            "type": "string",
            "description": "The base type for use in polymorphic collections"
          },
          "@type": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@baseType": {
            "type": "string"
          },
          "resourceCapacityDemand": {
            "$ref": "#/components/schemas/ResourceCapacityDemand"
          }
        },
        "description": "The Availability Check to be created"
      },
      "AvailabilityCheck": {
        "type": "object",
        "properties": {
          "atType": {
            "type": "string",
            "description": "The class type of the actual resource (for type extension)."
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A link to the schema describing a resource (for type extension)."
          },
          "atBaseType": {
            "type": "string",
            "description": "The base type for use in polymorphic collections"
          },
          "href": {
            "type": "string",
            "description": "A string. Hyperlink to access the availabilityCheck task for resource pool Management"
          },
          "id": {
            "type": "string",
            "description": "A string. Identifier of an instance of the availabilityCheck task for resource pool Management"
          },
          "@type": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@baseType": {
            "type": "string"
          },
          "resourceCapacityDemand": {
            "$ref": "#/components/schemas/ResourceCapacityDemand"
          },
          "availableResources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceRef"
            }
          }
        },
        "description": "the availabilityCheck task resource for resource pool management"
      },
      "ResourcePoolUpdate": {
        "type": "object",
        "properties": {
          "atBaseType": {
            "type": "string",
            "description": "A string. Generic attribute indicating the base class type of the extension class of the current object. Useful only when the class type of the current  object is unknown to the implementation."
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A string. Generic attribute containing the link to the schema that defines the structure of the class type of the current object."
          },
          "atType": {
            "type": "string",
            "description": "A string. Generic attribute containing the name of the resource class type."
          },
          "@baseType": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@type": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "description": "A string. free-text description of the Resource Pool."
          },
          "relatedParty": {
            "type": "string",
            "description": "A related party defines party or party role linked to a specific entity, who uses the resource of Resource Pool."
          },
          "name": {
            "type": "string"
          },
          "capacity": {
            "$ref": "#/components/schemas/Capacity"
          }
        },
        "description": "The Resource Pool to be updated"
      },
      "ReservationUpdate": {
        "type": "object",
        "properties": {
          "requestedPeriodEndDateTime": {
            "type": "string"
          },
          "requestedPeriodStartDateTime": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A string. Generic attribute containing the link to the schema that defines the structure of the class type of the current object."
          },
          "atType": {
            "type": "string",
            "description": "A string. Indicates the (class) type of reservation. Ex. serviceItemReservation, resourceItemReservation"
          },
          "@baseType": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "description": "A string. free-text description of the reservation."
          },
          "relatedParty": {
            "$ref": "#/components/schemas/RelatedParty"
          },
          "reservationState": {
            "type": "string",
            "description": "A string. The life cycle state of the reservation."
          },
          "validFor": {
            "$ref": "#/components/schemas/TimePeriod"
          },
          "reservationItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReservationItem"
            }
          },
          "serviceOrderRef": {
            "$ref": "#/components/schemas/ServiceOrderRef"
          }
        },
        "description": "The Reservation to be updated"
      }
    },
    "securitySchemes": {
      "security_auth": {
        "type": "oauth2",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://portal.openslice.eu/auth/realms/openslice/protocol/openid-connect/auth",
            "tokenUrl": "https://portal.openslice.eu/auth/realms/openslice/protocol/openid-connect/token",
            "scopes": {
              "read": "read scope",
              "write": "write scope"
            }
          }
        }
      }
    }
  }
}