{
  "swagger": "2.0",
  "info": {
    "version": "V2.0",
    "title": "Tridion CoreService Rest API",
    "x-swagger-net-version": "8.4.6.201"
  },
  "host": "HOST",
  "basePath": "/api",
  "schemes": [
    "http"
  ],
  "paths": {
    "/v2.0/items/{escapedItemId}/appData": {
      "get": {
        "tags": [
          "ApplicationData"
        ],
        "summary": "Gets application data for all applications related to a specified item.",
        "description": "This operation returns an instance of 'ApplicationData' type.\n\n",
        "operationId": "GetApplicationData",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/ApplicationData"
              },
              "xml": {
                "name": "ApplicationData",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        },
        "deprecated": true
      }
    },
    "/v2.0/batch/copy": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Copies a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchCopy",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchCopyRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/move": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Moves a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchMove",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchCopyOrMoveRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/delete": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Deletes a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchDelete",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchOperationRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/demote": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Demotes a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchDemote",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchPromoteDemoteRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/checkIn": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Checks in a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchCheckIn",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchCheckInRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/promote": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Promotes a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchPromote",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchPromoteDemoteRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/publish": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Publishes a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchPublish",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchPublishRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/checkOut": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Checks out a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchCheckOut",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchCheckOutRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/classify": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Classifies a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchClassify",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchClassifyOrUnClassifyRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/localize": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Localizes a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchLocalize",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchOperationRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/unpublish": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Unpublishes a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchUnpublish",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchUnPublishRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/unclassify": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Unclassifies a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchUnclassify",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchClassifyOrUnClassifyRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/unlocalize": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Unlocalizes a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchUnlocalize",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchOperationRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/autoClassify": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Automatically classifies a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchAutoClassify",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchAutoClassifyRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/undoCheckOut": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Undoes the checkout of a batch of items.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchUndoCheckOut",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchUndoCheckOutRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/startActivity": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Starts a batch of activities.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchStartActivity",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchOperationRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/finishActivity": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Finishes a batch of activities.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchFinishActivity",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchFinishActivityRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/restartActivity": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Restarts a batch of activities.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchRestartActivity",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchOperationRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/batch/reassignActivity": {
      "post": {
        "tags": [
          "BatchOperations"
        ],
        "summary": "Reassignes a batch of activities.",
        "description": "This operation returns an instance of 'BatchOperationCreationResult' type.\n\n",
        "operationId": "BatchReAssignActivity",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchReAssignActivityRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BatchOperationCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/binary/download": {
      "get": {
        "tags": [
          "Binaries"
        ],
        "summary": "Downloads the binary content of a Multimedia Component as a file.",
        "description": "\n\n",
        "operationId": "DownloadItemBinary",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/binary/download": {
      "get": {
        "tags": [
          "Binaries"
        ],
        "summary": "Downloads the temporary file for a binary file that was previously uploaded.",
        "description": "\n\n",
        "operationId": "DownloadFile",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "name": "tempFileId",
            "in": "query",
            "description": "The temporary ID of a binary file that was previously uploaded with an upload request. The ID can be found in the model returned by the request.",
            "required": true,
            "type": "string"
          },
          {
            "name": "filename",
            "in": "query",
            "description": "The name to give to the download file.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "type": "object"
            }
          },
          "304": {
            "description": "The requested content was not modified."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/binary/thumbnail": {
      "get": {
        "tags": [
          "Binaries"
        ],
        "summary": "Gets the thumbnail image for the binary content contained in a specified Multimedia Component.",
        "description": "\n\n",
        "operationId": "GetItemBinaryThumbnail",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "width",
            "in": "query",
            "description": "Resize an image binary to the specified width in pixels.",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 0
          },
          {
            "name": "height",
            "in": "query",
            "description": "Resize an image binary to the specified height in pixels.",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 0
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "type": "object"
            }
          },
          "304": {
            "description": "The requested content was not modified."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/binary/thumbnail": {
      "get": {
        "tags": [
          "Binaries"
        ],
        "summary": "Gets the thumbnail image of an uploaded binary file (or the multimedia type icon when no thumbnail is available).",
        "description": "\n\n",
        "operationId": "GetFileThumbnail",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "name": "tempFileId",
            "in": "query",
            "description": "The temporary ID of a binary file that was previously uploaded with an upload request. The ID can be found in the model returned by the request.",
            "required": true,
            "type": "string"
          },
          {
            "name": "fileExtension",
            "in": "query",
            "description": "The extension of the uploaded binary file (excluding the leading dot).",
            "required": true,
            "type": "string"
          },
          {
            "name": "width",
            "in": "query",
            "description": "Resize an image binary to the specified width in pixels. Default value is 0.",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 0
          },
          {
            "name": "height",
            "in": "query",
            "description": "Resize an image binary to the specified height in pixels. Default value is 0.",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 0
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "type": "object"
            }
          },
          "304": {
            "description": "The requested content was not modified."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/binary/upload": {
      "post": {
        "tags": [
          "Binaries"
        ],
        "summary": "Uploads a single binary file.",
        "description": "This operation returns an instance of 'BinaryUploadResponse' type.\n\n",
        "operationId": "Upload",
        "consumes": [
          "application/json",
          "application/form-data"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "file",
            "in": "formData",
            "description": "File for uploading",
            "required": true,
            "type": "file"
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/BinaryUploadResponse"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "413": {
            "description": "The request size is bigger than the allowed limit set on the web-server."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedFolderId}/upload": {
      "post": {
        "tags": [
          "Binaries"
        ],
        "summary": "Uploads a single binary file and creates a multimedia component.",
        "description": "This operation returns an instance of 'Component' type.\n\nThe method doesn't support creating of the component based on the multimedia schema having required metadata fields with no default values.",
        "operationId": "UploadMultimediaComponent",
        "consumes": [
          "application/json",
          "application/form-data"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "file",
            "in": "formData",
            "description": "File for uploading",
            "required": true,
            "type": "file"
          },
          {
            "name": "escapedFolderId",
            "in": "path",
            "description": "The TCM URI of a Folder. Escape the colon by replacing it with an underscore. E.g. \"tcm_1-1-2\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "title",
            "in": "query",
            "description": "The title of the component. The name of the file is used when not specified.",
            "required": false,
            "type": "string"
          },
          {
            "name": "multimediaSchemaId",
            "in": "query",
            "description": "TCM URI of a multimedia schema. Default multimedia schema is used when not specified.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "The request has completed and has resulted in one or more new resources being created.",
            "schema": {
              "$ref": "#/definitions/Component"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "409": {
            "description": "The request could not be completed due to a conflict with the current state of the target resource."
          },
          "413": {
            "description": "The request size is bigger than the allowed limit set on the web-server."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/bluePrintHierarchy": {
      "get": {
        "tags": [
          "BluePrinting"
        ],
        "summary": "Gets the context of an item in the BluePrint hierarchy.",
        "description": "This operation returns an instance of 'BlueprintHierarchyResponse' type.\n\n",
        "operationId": "GetBluePrintHierarchy",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/BlueprintHierarchyResponse"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/demote": {
      "post": {
        "tags": [
          "BluePrinting"
        ],
        "summary": "Demotes an item in the BluePrint hierarchy.",
        "description": "This operation returns an instance of 'OperationResult' type.\n\n",
        "operationId": "Demote",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PromoteDemoteRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The request has completed and has resulted in one or more new resources being created.",
            "schema": {
              "$ref": "#/definitions/OperationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/promote": {
      "post": {
        "tags": [
          "BluePrinting"
        ],
        "summary": "Promotes an item in the BluePrint hierarchy.",
        "description": "This operation returns an instance of 'OperationResult' type.\n\n",
        "operationId": "Promote",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PromoteDemoteRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The request has completed and has resulted in one or more new resources being created.",
            "schema": {
              "$ref": "#/definitions/OperationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/localize": {
      "post": {
        "tags": [
          "BluePrinting"
        ],
        "summary": "Localizes a shared item in the BluePrint to create a local copy that can then be modified locally.",
        "description": "This operation returns an instance of 'RepositoryLocalObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Keyword</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ResolvedBundle</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionProcessDefinition</span></li></ul>\n\n",
        "operationId": "Localize",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "The request has completed and has resulted in one or more new resources being created.",
            "schema": {
              "$ref": "#/definitions/RepositoryLocalObject"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/unlocalize": {
      "post": {
        "tags": [
          "BluePrinting"
        ],
        "summary": "Unlocalizes an item in the BluePrint.",
        "description": "This operation returns an instance of 'RepositoryLocalObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Keyword</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ResolvedBundle</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionProcessDefinition</span></li></ul>\n\n",
        "operationId": "Unlocalize",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "useDynamicVersion",
            "in": "query",
            "description": "Loads a dynamic version (if available for the current user)",
            "required": false,
            "type": "boolean",
            "default": true
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/RepositoryLocalObject"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedKeywordId}/classifiedItems": {
      "get": {
        "tags": [
          "Classification"
        ],
        "summary": "Gets a list of all items that are classified with a specified Keyword (internal) or Concept (external).",
        "description": "This operation returns an instance of 'RepositoryLocalObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Keyword</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ResolvedBundle</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TemplateBuildingBlock</span></li></ul>\n\n",
        "operationId": "GetClassifiedItems",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedKeywordId",
            "in": "path",
            "description": "The URI of a Keyword or Concept with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-1024\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "useDynamicVersion",
            "in": "query",
            "description": "Loads a dynamic version (if available for the current user)",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "rloItemTypes",
            "in": "query",
            "description": "The item types of all repository-local objects that you want to include in the response.",
            "required": false,
            "items": {
              "$ref": "#/definitions/RLOItemType",
              "type": "string"
            },
            "collectionFormat": "multi",
            "type": "array"
          },
          {
            "name": "resolveDescendantKeywords",
            "in": "query",
            "description": "A boolean value to indicate whether to include descendant keywords in the results.",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "resultLimit",
            "in": "query",
            "description": "An integer value to limit the number of items returned in the list. Specify a positive value as the limit or -1 for no limit. Setting the value to zero will return an empty list.",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 100
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/RepositoryLocalObject"
              },
              "xml": {
                "name": "RepositoryLocalObject",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/autoClassify": {
      "post": {
        "tags": [
          "Classification"
        ],
        "summary": "Automatically classifies the specified item with Concepts from external taxonomy based on the current content and metadata of the item.",
        "description": "This operation returns an instance of 'ClassificationInfo' type.\n\n",
        "operationId": "AutoClassify",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/ClassificationInfo"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/item/suggestKeywords": {
      "post": {
        "tags": [
          "Classification"
        ],
        "summary": "Get suggestions for classifying an item with concepts from an external taxonomy. Suggestions are based on the content and metadata of the source item.",
        "description": "This operation returns an instance of 'KeywordSuggestions' type.\n\n",
        "operationId": "GetKeywordSuggestions",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "sourceObject",
            "in": "body",
            "description": "The source item to request the keywords for.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IdentifiableObject"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "description": "The Category identifier (ECL URI), if provided, the suggestions are given based on this category only, and rest of the specified categories (if any) in the sourceObject are ignored.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "additionalProperties": {
                "items": {
                  "$ref": "#/definitions/KeywordSuggestion"
                },
                "xml": {
                  "name": "KeywordSuggestion",
                  "wrapped": true
                },
                "type": "array"
              },
              "type": "object"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/extensions": {
      "get": {
        "tags": [
          "Extensions"
        ],
        "summary": "Gets a list of Experience Space extensions",
        "description": "This operation returns an instance of 'FrontendAddon' type.\n\n",
        "operationId": "GetExtensions",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/FrontendAddon"
              },
              "xml": {
                "name": "FrontendAddon",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "401": {},
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        },
        "deprecated": true
      }
    },
    "/v2.0/item/defaultModel/{modelType}": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets a default model for the specified model type. The returned model can be used for item creation.",
        "description": "This operation returns an instance of 'IdentifiableObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>ApprovalStatus</span></li><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>Folder</span></li><li><span>Group</span></li><li><span>Keyword</span></li><li><span>MultimediaType</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>Publication</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TargetType</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionProcessDefinition</span></li><li><span>User</span></li></ul>\n\n",
        "operationId": "GetDefaultModel",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "modelType",
            "in": "path",
            "description": "The type of data model that will be created.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ModelType"
            },
            "type": "string",
            "enum": [
              "Bundle",
              "SearchFolder",
              "Schema",
              "Page",
              "PageTemplate",
              "Component",
              "ComponentTemplate",
              "Folder",
              "Keyword",
              "StructureGroup",
              "TemplateBuildingBlock",
              "Publication",
              "Category",
              "Group",
              "ProcessDefinition",
              "BusinessProcessType",
              "MultimediaType",
              "TargetType",
              "User",
              "TargetGroup",
              "ApprovalStatus"
            ]
          },
          {
            "name": "containerId",
            "in": "query",
            "description": "The TCM URI of the organizational item to use as a container for the specified Model Type.\r\nA container ID is required for all types except the following: Batch, Publication, PublicationTarget, PublishTransaction, TargetType, MultimediaType, WorkflowType, User, Group, and ApprovalStatus.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/IdentifiableObject"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets a single item by specifying the item URI.",
        "description": "This operation returns an instance of 'IdentifiableObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>ActivityHistory</span></li><li><span>ActivityInstance</span></li><li><span>ApprovalStatus</span></li><li><span>Batch</span></li><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Group</span></li><li><span>Keyword</span></li><li><span>MultimediaType</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ProcessHistory</span></li><li><span>ProcessInstance</span></li><li><span>Publication</span></li><li><span>PublishTransaction</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TargetType</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionActivityDefinition</span></li><li><span>TridionProcessDefinition</span></li><li><span>User</span></li><li><span>WorkItem</span></li></ul>\n\n",
        "operationId": "GetItem",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "useDynamicVersion",
            "in": "query",
            "description": "Loads a dynamic version (if available for the current user)",
            "required": false,
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/IdentifiableObject"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "put": {
        "tags": [
          "Items"
        ],
        "summary": "Updates an existing item with the specified item URI.",
        "description": "This operation returns an instance of 'IdentifiableObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>ActivityHistory</span></li><li><span>ActivityInstance</span></li><li><span>ApprovalStatus</span></li><li><span>Batch</span></li><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Group</span></li><li><span>Keyword</span></li><li><span>MultimediaType</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ProcessHistory</span></li><li><span>ProcessInstance</span></li><li><span>Publication</span></li><li><span>PublishTransaction</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TargetType</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionActivityDefinition</span></li><li><span>TridionProcessDefinition</span></li><li><span>User</span></li><li><span>WorkItem</span></li></ul>\n\n",
        "operationId": "Update",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IdentifiableObject"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/IdentifiableObject"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "delete": {
        "tags": [
          "Items"
        ],
        "summary": "Permanently deletes an item from the system. You can delete all versions of the item or only a specified version of the item.",
        "description": "\n\n",
        "operationId": "Delete",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-1\".\r\nTo delete only a specific version of the item, include the item's version in the TCM URI. E.g. \"tcm_1-15-v5\"",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The request was successful and there is no content in the body of the response."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "409": {
            "description": "The request could not be completed due to a conflict with the current state of the target resource."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "head": {
        "tags": [
          "Items"
        ],
        "summary": "Checks whether an item exists in the system based on its URI.",
        "description": "\n\n",
        "operationId": "ItemExists",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The request was successful and there is no content in the body of the response."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/item/convertWebDavUrl": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Constructs an item URI from a WebDav URL, plus optionally, a Context Repository URI and version number.",
        "description": "\n\n",
        "operationId": "ConvertWebDavUrl",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "webDavUrl",
            "in": "query",
            "description": "The WebDavUrl of the item.",
            "required": true,
            "type": "string"
          },
          {
            "name": "contextRepositoryUri",
            "in": "query",
            "description": "The URI of the Publication you want to use instead of the one used in the webDavUrl. Include this if you want the constructed URI to refer to a different context Publication.",
            "required": false,
            "type": "string"
          },
          {
            "name": "version",
            "in": "query",
            "description": "The version of the item.",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/bulkRead": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets multiple items by specifying a list of item URIs.",
        "description": "This operation returns an instance of 'IdentifiableObjectDictionary' type.\n\n",
        "operationId": "GetItems",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "itemIds",
            "in": "query",
            "description": "A list of item URIs.",
            "required": true,
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "type": "array"
          },
          {
            "name": "useDynamicVersion",
            "in": "query",
            "description": "Loads a dynamic version (if available for the current user)",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "loadFullItems",
            "in": "query",
            "description": "Determines whether full items or partially loaded items are returned.",
            "required": false,
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "additionalProperties": {
                "$ref": "#/definitions/IdentifiableObject"
              },
              "type": "object"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "post": {
        "tags": [
          "Items"
        ],
        "summary": "Gets a large number of items by specifying a list of item URIs in the body of the request.",
        "description": "This operation returns an instance of 'IdentifiableObjectDictionary' type.\n\n",
        "operationId": "GetItemsExtended",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "itemIds",
            "in": "body",
            "description": "A list of item URIs.",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "useDynamicVersion",
            "in": "query",
            "description": "Loads a dynamic version (if available for the current user)",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "loadFullItems",
            "in": "query",
            "description": "Determines whether full items or partially loaded items are returned.",
            "required": false,
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "additionalProperties": {
                "$ref": "#/definitions/IdentifiableObject"
              },
              "type": "object"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/item/validatePage": {
      "post": {
        "tags": [
          "Items"
        ],
        "summary": "Validates a Page according to the Page Schema that is used.",
        "description": "This operation returns an instance of 'ValidationError' type.\n\n",
        "operationId": "ValidatePage",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "pageModel",
            "in": "body",
            "description": "The Page model.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/ValidationError"
              },
              "xml": {
                "name": "ValidationError",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/item/synchronizeWithSchema": {
      "post": {
        "tags": [
          "Schemas"
        ],
        "summary": "Validates the content and metadata of an item against its current Schema, and as needed, updates the item to synchronize it with the Schema.\r\nThe operation returns the updated item and a list of all actions that were applied to it.",
        "description": "This operation returns an instance of 'SynchronizationResult' type.\n\nUsing this operation will not persist the changes made through synchronization.",
        "operationId": "SynchronizeWithSchema",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IdentifiableObject"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/SynchronizationResult"
            }
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items": {
      "post": {
        "tags": [
          "Items"
        ],
        "summary": "Creates an object based on a specified request model and saves it to the database. For versioned items, a check-in is performed by default.",
        "description": "This operation returns an instance of 'IdentifiableObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>ApprovalStatus</span></li><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>Folder</span></li><li><span>Group</span></li><li><span>Keyword</span></li><li><span>MultimediaType</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>Publication</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TargetType</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionProcessDefinition</span></li><li><span>User</span></li></ul>\n\n",
        "operationId": "Create",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IdentifiableObject"
            }
          },
          {
            "name": "autoCheckIn",
            "in": "query",
            "description": "Indicates whether to check in the created item.",
            "required": false,
            "type": "boolean",
            "default": true
          }
        ],
        "responses": {
          "201": {
            "description": "The request has completed and has resulted in one or more new resources being created.",
            "schema": {
              "$ref": "#/definitions/IdentifiableObject"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "409": {
            "description": "The request could not be completed due to a conflict with the current state of the target resource."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/move/{escapedDestinationId}": {
      "post": {
        "tags": [
          "Items"
        ],
        "summary": "Moves a RepositoryLocalObject from its current location to a new destination.",
        "description": "This operation returns an instance of 'RepositoryLocalObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Keyword</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ResolvedBundle</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionProcessDefinition</span></li></ul>\n\n",
        "operationId": "Move",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "escapedDestinationId",
            "in": "path",
            "description": "The TCM URI of the destination, which can be either an organizational item or a Keyword. Escape the colon by replacing it with an underscore. E.g. \"tcm_1-1-2\"",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/RepositoryLocalObject"
            }
          },
          "204": {
            "description": "The request was successful and there is no content in the body of the response."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "409": {
            "description": "The request could not be completed due to a conflict with the current state of the target resource."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/copy/{escapedDestinationId}": {
      "post": {
        "tags": [
          "Items"
        ],
        "summary": "Copies a RepositoryLocalObject to the specified destination.",
        "description": "This operation returns an instance of 'RepositoryLocalObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Keyword</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ResolvedBundle</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionProcessDefinition</span></li></ul>\n\n",
        "operationId": "Copy",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "escapedDestinationId",
            "in": "path",
            "description": "The TCM URI of the destination, which can be either an organizational item or a Keyword. Escape the colon by replacing it with an underscore. E.g. \"tcm_1-1-2\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "makeUnique",
            "in": "query",
            "description": "Specifies whether a unique title should be generated if an item with the same title already exists in the destination.",
            "required": false,
            "type": "boolean",
            "default": true
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/RepositoryLocalObject"
            }
          },
          "204": {
            "description": "The request was successful and there is no content in the body of the response."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "409": {
            "description": "The request could not be completed due to a conflict with the current state of the target resource."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/targetTypes": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of Target Types.",
        "description": "This operation returns an instance of 'TargetType' type.\n\n",
        "operationId": "GetTargetTypes",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/TargetType"
              },
              "xml": {
                "name": "TargetType",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/publications": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of all Publications.",
        "description": "This operation returns an instance of 'Publication' type.\n\nThis operation returns a limited set of properties compared to other list operations. To get a full set of properties, read each Publication separately.",
        "operationId": "GetPublications",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Publication"
              },
              "xml": {
                "name": "Publication",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/publicationTypes": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of Publication Types.",
        "description": "This operation returns an instance of 'PublicationType' type.\n\n",
        "operationId": "GetPublicationTypes",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/PublicationType"
              },
              "xml": {
                "name": "PublicationType",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/keywords": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of Keywords contained in the specified Category or parent Keyword.",
        "description": "This operation returns an instance of 'Keyword' type or one of the following inherited types:<ul class=\"model-list\"><li><span>ExternalKeyword</span></li></ul>\n\n",
        "operationId": "GetKeywords",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Keyword"
              },
              "xml": {
                "name": "Keyword",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedPublicationId}/categories": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of Categories related to the specified Publication.",
        "description": "This operation returns an instance of 'Category' type or one of the following inherited types:<ul class=\"model-list\"><li><span>ExternalCategory</span></li></ul>\n\n",
        "operationId": "GetCategories",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedPublicationId",
            "in": "path",
            "description": "The TCM URI of a Publication with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Category"
              },
              "xml": {
                "name": "Category",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedPublicationId}/processDefinitions": {
      "get": {
        "tags": [
          "Workflow"
        ],
        "summary": "Gets a list of Process Definitions for a specific context Repository.",
        "description": "This operation returns an instance of 'ProcessDefinition' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>TridionProcessDefinition</span></li></ul>\n\n",
        "operationId": "GetProcessDefinitions",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedPublicationId",
            "in": "path",
            "description": "The TCM URI of a Publication with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/ProcessDefinition"
              },
              "xml": {
                "name": "ProcessDefinition",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/checkedOutItems": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of items that are checked out.",
        "description": "This operation returns an instance of 'VersionedItem' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalComponent</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>Schema</span></li><li><span>TemplateBuildingBlock</span></li></ul>\n\n",
        "operationId": "GetCheckedOutItems",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "query",
            "description": "The TCM URI of a User.\r\nSpecify to get only items checked out by a specific user. If not specified, the operation will get all items that are checked out.\r\nNote that Administrators can get items checked out by all users. Other users, however, can typically retrieve only the items that are checked out by themselves.",
            "required": false,
            "type": "string"
          },
          {
            "name": "maxResults",
            "in": "query",
            "description": "An integer value to limit the number of items returned in the list. Specify a positive value as the limit or -1 for no limit. Setting the value to zero will return an empty list.",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 500
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/VersionedItem"
              },
              "xml": {
                "name": "VersionedItem",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        },
        "deprecated": true
      }
    },
    "/v2.0/items/{escapedPublicationId}/publishableChildPublications": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of all child Publications of the specified Parent publication, where the Business Process Type settings are the same as those of the parent Publication.",
        "description": "This operation returns an instance of 'Publication' type.\n\n",
        "operationId": "GetPublishableChildPublications",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedPublicationId",
            "in": "path",
            "description": "The TCM URI of a Publication with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Publication"
              },
              "xml": {
                "name": "Publication",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedBusinessProcessTypeId}/publishableTargetTypes": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of Target Types for a specified Business Process Type.",
        "description": "This operation returns an instance of 'TargetType' type.\n\n",
        "operationId": "GetPublishableTargetTypes",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedBusinessProcessTypeId",
            "in": "path",
            "description": "The TCM URI of a Business Process Type with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-4096\"",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/TargetType"
              },
              "xml": {
                "name": "TargetType",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/users": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of Users.",
        "description": "This operation returns an instance of 'User' type or one of the following inherited types:<ul class=\"model-list\"><li><span>AccessToken</span></li></ul>\n\n",
        "operationId": "GetUsers",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "predefined",
            "in": "query",
            "description": "If specified, return only non-predefined users (false) or predefined users (true).",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "includeDisabled",
            "in": "query",
            "description": "Specifies whether to include disabled users or not. Default is to not include those.",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "search",
            "in": "query",
            "description": "If specified, return only users whose account name (Title) matches this value. See {searchMode}.",
            "required": false,
            "type": "string"
          },
          {
            "name": "searchMode",
            "in": "query",
            "description": "Specifies how to match on the account name. If not specified, \"Contains\" is used.",
            "required": false,
            "schema": {
              "$ref": "#/definitions/StringSearchMode"
            },
            "type": "string",
            "default": "Contains",
            "enum": [
              "Contains",
              "StartsWith",
              "EndsWith",
              "ExactMatch"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/User"
              },
              "xml": {
                "name": "User",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedCategoryId}/taxonomy": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a full taxonomy for a specified Category.",
        "description": "This operation returns an instance of 'TaxonomyNode' type.\n\n",
        "operationId": "GetTaxonomy",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedCategoryId",
            "in": "path",
            "description": "The URI of a Category where the URI can be either a TCM URI or an ECL URI (for an external taxonomy).\r\nEscape the colon by replacing it with an underscore. E.g. \"tcm_1-1-512\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "includeAlternativeLabels",
            "in": "query",
            "description": "Where the Category represents an external taxonomy, set to \"True\" to include alternative labels for taxonomy concepts.",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "maxNodes",
            "in": "query",
            "description": "The maximum number of nodes the tree is allowed to contain. If the tree contains more, an HTTP 400 error will be returned. Defaults to a configured value (maxTaxonomyNodes).",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 0
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TaxonomyNode"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/usedBy": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of items that use a specified item.",
        "description": "This operation returns an instance of 'IdentifiableObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>ActivityHistory</span></li><li><span>ActivityInstance</span></li><li><span>ApprovalStatus</span></li><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Keyword</span></li><li><span>MultimediaType</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>Publication</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TargetType</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionProcessDefinition</span></li></ul>\n\n",
        "operationId": "GetUsedBy",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "onlyLatestVersions",
            "in": "query",
            "description": "Set to true to include only the latest versions of the returned items or to false to include all versions.",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "useDynamicVersion",
            "in": "query",
            "description": "Loads a dynamic version (if available for the current user)",
            "required": false,
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/IdentifiableObject"
              },
              "xml": {
                "name": "IdentifiableObject",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/groups": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of Groups.",
        "description": "This operation returns an instance of 'Group' type.\n\n",
        "operationId": "GetGroups",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "inPublicationId",
            "in": "query",
            "description": "If specified, return only groups which are scoped to the given Publication (TCM URI).",
            "required": false,
            "type": "string"
          },
          {
            "name": "includeEveryone",
            "in": "query",
            "description": "Specifies whether the special \"Everyone\" Group (representing all CM users) should be returned.",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "search",
            "in": "query",
            "description": "If specified, return only groups with titles matching this value. See {searchMode}.",
            "required": false,
            "type": "string"
          },
          {
            "name": "searchMode",
            "in": "query",
            "description": "Specifies how to match on the group title. If not specified, \"Contains\" is used.",
            "required": false,
            "schema": {
              "$ref": "#/definitions/StringSearchMode"
            },
            "type": "string",
            "default": "Contains",
            "enum": [
              "Contains",
              "StartsWith",
              "EndsWith",
              "ExactMatch"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Group"
              },
              "xml": {
                "name": "Group",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/uses": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of items that are used by a specified item.",
        "description": "This operation returns an instance of 'IdentifiableObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>ActivityHistory</span></li><li><span>ActivityInstance</span></li><li><span>ApprovalStatus</span></li><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Keyword</span></li><li><span>MultimediaType</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>Publication</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TargetType</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionProcessDefinition</span></li></ul>\n\n",
        "operationId": "GetUses",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "includeBlueprintParentItem",
            "in": "query",
            "description": "Set to true to include the parent item of the specified item or false to exclude the parent.",
            "required": false,
            "type": "boolean",
            "default": true
          },
          {
            "name": "useDynamicVersion",
            "in": "query",
            "description": "Loads a dynamic version (if available for the current user)",
            "required": false,
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/IdentifiableObject"
              },
              "xml": {
                "name": "IdentifiableObject",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/lockedItems": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets a list of locked items (either versioned items or organizational items).",
        "description": "This operation returns an instance of 'RepositoryLocalObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Keyword</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ResolvedBundle</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionProcessDefinition</span></li></ul>\n\n",
        "operationId": "GetLockedItems",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "forAllUsers",
            "in": "query",
            "description": "If specified and true, items locked by any user are returned, but only in Publications where the user has Publication Administration or Lock Management Rights (unless the user has System Administration privileges).\r\nBy default, only items locked by the current user are returned.\r\nThis parameter is ignored if {lockUserId} parameter is specified.",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "lockUserId",
            "in": "query",
            "description": "The TCM URI of the user who locked the items.\r\nIf specified, the {forAllUsers} parameter is irrelevant and ignored.",
            "required": false,
            "type": "string"
          },
          {
            "name": "lockFilter",
            "in": "query",
            "description": "If specified, this acts as bitmask to apply to the items' lock type. Must be used in combination with {lockResult}.\r\nBy default, no filtering on lock type is performed.",
            "required": false,
            "items": {
              "$ref": "#/definitions/LockType",
              "type": "string"
            },
            "collectionFormat": "multi",
            "type": "array"
          },
          {
            "name": "lockResult",
            "in": "query",
            "description": "If specified, this constraints the returned items' lock type. Must be used in combination with {lockFilter}.\r\nBy default, no filtering on lock type is performed.",
            "required": false,
            "items": {
              "$ref": "#/definitions/LockType",
              "type": "string"
            },
            "collectionFormat": "multi",
            "type": "array"
          },
          {
            "name": "maxResults",
            "in": "query",
            "description": "Specifies the maximum number of results to return.",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 500
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/RepositoryLocalObject"
              },
              "xml": {
                "name": "RepositoryLocalObject",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/organizationalStructureTree": {
      "get": {
        "tags": [
          "Lists"
        ],
        "summary": "Gets an (expanded) tree representation of all the items in the path of a RepositoryLocalObject.",
        "description": "This operation returns an instance of 'TreeNode' type.\n\n",
        "operationId": "GetOrganizationalStructureTree",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "includeAllPublications",
            "in": "query",
            "description": "Include all publications (and not just the context publication).",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "includeChildrenOnEveryLevel",
            "in": "query",
            "description": "Include children of all items in the path.",
            "required": false,
            "type": "boolean",
            "default": true
          },
          {
            "name": "groupCategoriesAndKeywords",
            "in": "query",
            "description": "Group categories and keywords in a single treenode.",
            "required": false,
            "type": "boolean",
            "default": true
          },
          {
            "name": "groupBusinessProcessTypes",
            "in": "query",
            "description": "Group all business process types in a single treenode.",
            "required": false,
            "type": "boolean",
            "default": true
          },
          {
            "name": "useDynamicVersion",
            "in": "query",
            "description": "Loads a dynamic version (if available for the current user)",
            "required": false,
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TreeNode"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        },
        "deprecated": true
      }
    },
    "/v2.0/items/{escapedItemId}/inBundles": {
      "get": {
        "tags": [
          "OrganizationalItems"
        ],
        "summary": "Gets a list of Bundles that contain a specified item.",
        "description": "This operation returns an instance of 'Bundle' type.\n\n",
        "operationId": "GetInBundles",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "onlySpecifiedBluePrintVariant",
            "in": "query",
            "description": "Set to true to limit results to Bundles that contain only the specified variant of the item (same exact URI) and no other variants from the BluePrint. By default, a value of false will include Bundles that contain any variant of the specified item.",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "suppressLocalCopies",
            "in": "query",
            "description": "Set to true to exclude from the results any Bundle that is a local copy in the BluePrint. By default, a value of false will include all Bundle variants that contain the specified item.",
            "required": false,
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Bundle"
              },
              "xml": {
                "name": "Bundle",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedOrgItemId}/items": {
      "get": {
        "tags": [
          "OrganizationalItems"
        ],
        "summary": "Gets a list of child items of a specified organizational item.",
        "description": "This operation returns an instance of 'RepositoryLocalObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Keyword</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ResolvedBundle</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TemplateBuildingBlock</span></li></ul>\n\n",
        "operationId": "GetItemsFromContainer",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedOrgItemId",
            "in": "path",
            "description": "The TCM URI of an organizational item, such as a Bundle, Category, Folder, Virtual folder, or Structure Group. Escape the colon by replacing it with an underscore. E.g. \"tcm_1-1-2\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "useDynamicVersion",
            "in": "query",
            "description": "Loads a dynamic version (if available for the current user)",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "rloItemTypes",
            "in": "query",
            "description": "The item types of all repository-local objects that you want to include in the response.",
            "required": false,
            "items": {
              "$ref": "#/definitions/RLOItemType",
              "type": "string"
            },
            "collectionFormat": "multi",
            "type": "array"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/RepositoryLocalObject"
              },
              "xml": {
                "name": "RepositoryLocalObject",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedOrgItemId}/itemsPage/{pageIndex}": {
      "get": {
        "tags": [
          "OrganizationalItems"
        ],
        "summary": "Gets a paged list of child items of a specified organizational item.",
        "description": "This operation returns an instance of 'PageOfItems' type.\n\n",
        "operationId": "GetItemsPageFromContainer",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedOrgItemId",
            "in": "path",
            "description": "The TCM URI of an organizational item, such as a Bundle, Category, Folder, Virtual folder, or Structure Group. Escape the colon by replacing it with an underscore. E.g. \"tcm_1-1-2\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "pageIndex",
            "in": "path",
            "description": "The 0-based page index.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The size of the page. If set to 0 (the default), the page size is determined by the system.",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 0
          },
          {
            "name": "useDynamicVersion",
            "in": "query",
            "description": "Loads a dynamic version (if available for the current user)",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "rloItemTypes",
            "in": "query",
            "description": "The item types of all repository-local objects that you want to include in the response.",
            "required": false,
            "items": {
              "$ref": "#/definitions/RLOItemType",
              "type": "string"
            },
            "collectionFormat": "multi",
            "type": "array"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/PageOfItems"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedPublicationId}/pageTemplateLinks": {
      "get": {
        "tags": [
          "Publications"
        ],
        "summary": "Gets a list of all Page Template links contained within a specified Publication.",
        "description": "This operation returns an instance of 'Link' type.\n\n",
        "operationId": "GetPageTemplateLinks",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedPublicationId",
            "in": "path",
            "description": "The TCM URI of a Publication with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedPublicationId}/schemaLinks": {
      "get": {
        "tags": [
          "Publications"
        ],
        "summary": "Gets a list of all Schema links contained within a specified Publication.",
        "description": "This operation returns an instance of 'Link' type.\n\n",
        "operationId": "GetSchemaLinks",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedPublicationId",
            "in": "path",
            "description": "The TCM URI of a Publication with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "schemaPurpose",
            "in": "query",
            "description": "The types of Schemas to include in the results list. You must select at least one.",
            "required": true,
            "items": {
              "$ref": "#/definitions/SchemaPurpose",
              "type": "string"
            },
            "collectionFormat": "multi",
            "type": "array"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/publishedTo": {
      "get": {
        "tags": [
          "Publishing"
        ],
        "summary": "Gets a summary of all publishing targets for a specified item.",
        "description": "This operation returns an instance of 'PublishInfo' type.\n\n",
        "operationId": "GetPublishedTo",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/PublishInfo"
              },
              "xml": {
                "name": "PublishInfo",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedPageId}/publishUrls": {
      "get": {
        "tags": [
          "Publishing"
        ],
        "summary": "Gets the URL where an item is published.",
        "description": "This operation returns an instance of 'PublishUrlInfo' type.\n\n",
        "operationId": "GetPublishUrls",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedPageId",
            "in": "path",
            "description": "The TCM URI of a Page with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-7\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/PublishUrlInfo"
              },
              "xml": {
                "name": "PublishUrlInfo",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/system/publishSourceByUrl": {
      "get": {
        "tags": [
          "Publishing"
        ],
        "summary": "Gets information about the source from which content was published using the published URL.",
        "description": "This operation returns an instance of 'PublishSource' type.\n\n",
        "operationId": "GetPublishSourceByUrl",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "description": "The URL to which content was published.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/PublishSource"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedComponentId}/publishedPages": {
      "get": {
        "tags": [
          "Publishing"
        ],
        "summary": "Gets a list of published Pages that use a specified Component.",
        "description": "This operation returns an instance of 'Page' type.\n\n",
        "operationId": "GetPublishedPages",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedComponentId",
            "in": "path",
            "description": "The TCM URI of a Component with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-5\"",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Page"
              },
              "xml": {
                "name": "Page",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/businessProcessTypes": {
      "get": {
        "tags": [
          "Publishing"
        ],
        "summary": "Gets a list of Business Process Types linked to a specified Topology Type.",
        "description": "This operation returns an instance of 'Link' type.\n\n",
        "operationId": "GetBusinessProcessTypes",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "topologyTypeId",
            "in": "query",
            "description": "The ID of the Topology Type.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/isPublished": {
      "get": {
        "tags": [
          "Publishing"
        ],
        "summary": "Indicates whether a specified item is published (true) or not (false).",
        "description": "\n\n",
        "operationId": "IsPublished",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "isPublishedInContext",
            "in": "query",
            "description": "Controls whether to return \"true\" (item is published) when the item is published in the context Publication only. Set to \"true\" to consider only publishing within the context Publication or to \"false\" to consider publishing within any Publication.",
            "required": true,
            "type": "boolean"
          },
          {
            "name": "targetIdOrPurpose",
            "in": "query",
            "description": "Indicates a Target Type or Purpose as a limit for the query. If you enter a value, the query will return \"true\" only if the item is published at least once to that specific Target Type or Purpose. If you leave it blank, the query will return \"true\" if the item is published to at least one target regardless of the Target Type or Purpose.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully published",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/publishing/transactions": {
      "get": {
        "tags": [
          "Publishing"
        ],
        "summary": "Gets a list of all publishing transactions.",
        "description": "This operation returns an instance of 'PublishTransaction' type.\n\n",
        "operationId": "GetPublishTransactions",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "query",
            "description": "The TCM URI of the user who initiated the transaction.",
            "required": false,
            "type": "string"
          },
          {
            "name": "publicationId",
            "in": "query",
            "description": "The TCM URI of a Publication.",
            "required": false,
            "type": "string"
          },
          {
            "name": "targetTypeId",
            "in": "query",
            "description": "The TCM URI of a publishing Target Type.",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "A specific start date and time (in ISO 8601 format) for publishing transactions to include in the list.",
            "required": false,
            "x-example": "1970-01-01T00:00:00Z",
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "A specific end date and time (in ISO 8601 format) for publishing transactions to include in the list.",
            "required": false,
            "x-example": "1970-01-01T00:00:00Z",
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "priority",
            "in": "query",
            "description": "If specified, only include Publish Transactions with this priority.",
            "required": false,
            "schema": {
              "$ref": "#/definitions/PublishPriority"
            },
            "type": "string",
            "enum": [
              "Low",
              "Normal",
              "High"
            ]
          },
          {
            "name": "state",
            "in": "query",
            "description": "If specified, only include Publish Transactions with this state.",
            "required": false,
            "schema": {
              "$ref": "#/definitions/PublishTransactionState"
            },
            "type": "string",
            "enum": [
              "ScheduledForPublish",
              "WaitingForPublish",
              "InProgress",
              "ScheduledForDeployment",
              "WaitingForDeployment",
              "Failed",
              "Success",
              "Warning",
              "Resolving",
              "Rendering",
              "Throttled",
              "ReadyForTransport",
              "Transporting",
              "Deploying",
              "PreparingDeployment",
              "PreCommittingDeployment",
              "CommittingDeployment",
              "WaitingForCdEnvironment",
              "UnknownByClient"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/PublishTransaction"
              },
              "xml": {
                "name": "PublishTransaction",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/publish": {
      "post": {
        "tags": [
          "Publishing"
        ],
        "summary": "Publishes items according to the specified instructions.",
        "description": "This operation returns an instance of 'PublishTransactionsCreationResult' type.\n\n",
        "operationId": "Publish",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PublishRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/PublishTransactionsCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/unpublish": {
      "post": {
        "tags": [
          "Publishing"
        ],
        "summary": "Unpublishes items according to the specified instructions.",
        "description": "This operation returns an instance of 'PublishTransactionsCreationResult' type.\n\n",
        "operationId": "Unpublish",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UnPublishRequest"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The request has been accepted for processing, but the processing has not been completed.",
            "schema": {
              "$ref": "#/definitions/PublishTransactionsCreationResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/itemsToPublish": {
      "post": {
        "tags": [
          "Publishing"
        ],
        "summary": "Gets a list of items that will be published when executing the specified instructions.",
        "description": "This operation returns an instance of 'ResolvedItem' type.\n\n",
        "operationId": "GetItemsToPublish",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PublishRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/ResolvedItem"
              },
              "xml": {
                "name": "ResolvedItem",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/itemsToUnpublish": {
      "post": {
        "tags": [
          "Publishing"
        ],
        "summary": "Gets a list of items that will be unpublished when executing the specified instructions.",
        "description": "This operation returns an instance of 'ResolvedItem' type.\n\n",
        "operationId": "GetItemsToUnpublish",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UnPublishRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/ResolvedItem"
              },
              "xml": {
                "name": "ResolvedItem",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedSchemaId}/instanceData": {
      "get": {
        "tags": [
          "Schemas"
        ],
        "summary": "Gets instance data of a specified Schema including default field values.",
        "description": "This operation returns an instance of 'SchemaInstance' type.\n\n",
        "operationId": "GetSchemaInstanceData",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedSchemaId",
            "in": "path",
            "description": "The TCM URI of a Schema with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-8\"",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/SchemaInstance"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedSchemaId}/componentTemplateLinks": {
      "get": {
        "tags": [
          "Schemas"
        ],
        "summary": "Gets a list of all Component Template links that can render Components based on the specified Schema.",
        "description": "This operation returns an instance of 'Link' type.\n\n",
        "operationId": "GetAssociatedComponentTemplateLinks",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedSchemaId",
            "in": "path",
            "description": "The TCM URI of a Schema with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-8\"",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Searches within an individual item for a specified text string.",
        "description": "This operation returns an instance of 'IdentifiableObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>ActivityHistory</span></li><li><span>ActivityInstance</span></li><li><span>ApprovalStatus</span></li><li><span>Batch</span></li><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Group</span></li><li><span>Keyword</span></li><li><span>MultimediaType</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ProcessHistory</span></li><li><span>ProcessInstance</span></li><li><span>Publication</span></li><li><span>PublishTransaction</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TargetType</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionActivityDefinition</span></li><li><span>TridionProcessDefinition</span></li><li><span>User</span></li><li><span>WorkItem</span></li></ul>\n\n",
        "operationId": "SearchInContainer",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "fullTextQuery",
            "in": "query",
            "description": "Input for the full-text query.\r\nThe following characters have special meaning in the query syntax: + - &amp;&amp; || ! ( ) { } [ ] ^ \" ~ * ? : \\\\\r\nTo use any of these characters without their syntactical meaning, to escape them by preceding  the character with a \\\\.",
            "required": true,
            "type": "string"
          },
          {
            "name": "itemTypes",
            "in": "query",
            "description": "Only return items of the given item types. If not specified, items are not filtered by item type.",
            "required": false,
            "items": {
              "$ref": "#/definitions/RLOItemType",
              "type": "string"
            },
            "collectionFormat": "multi",
            "type": "array"
          },
          {
            "name": "resultLimit",
            "in": "query",
            "description": "The maximum number of results to return. If not specified, there will still be a limit, but it is defined by the system.",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/IdentifiableObject"
              },
              "xml": {
                "name": "IdentifiableObject",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/system/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Searches the system for a specified text string.",
        "description": "This operation returns an instance of 'IdentifiableObject' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>ActivityHistory</span></li><li><span>ActivityInstance</span></li><li><span>ApprovalStatus</span></li><li><span>Batch</span></li><li><span>Bundle</span></li><li><span>BusinessProcessType</span></li><li><span>Category</span></li><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalCategory</span></li><li><span>ExternalComponent</span></li><li><span>ExternalContainer</span></li><li><span>ExternalKeyword</span></li><li><span>Folder</span></li><li><span>Group</span></li><li><span>Keyword</span></li><li><span>MultimediaType</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>ProcessHistory</span></li><li><span>ProcessInstance</span></li><li><span>Publication</span></li><li><span>PublishTransaction</span></li><li><span>Schema</span></li><li><span>SearchFolder</span></li><li><span>StructureGroup</span></li><li><span>TargetGroup</span></li><li><span>TargetType</span></li><li><span>TemplateBuildingBlock</span></li><li><span>TridionActivityDefinition</span></li><li><span>TridionProcessDefinition</span></li><li><span>User</span></li><li><span>WorkItem</span></li></ul>\n\n",
        "operationId": "SystemSearch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "fullTextQuery",
            "in": "query",
            "description": "Input for the full-text query.\r\nThe following characters have special meaning in the query syntax: + - &amp;&amp; || ! ( ) { } [ ] ^ \" ~ * ? : \\\\\r\nTo use any of these characters without their syntactical meaning, to escape them by preceding  the character with a \\\\.",
            "required": true,
            "type": "string"
          },
          {
            "name": "resultLimit",
            "in": "query",
            "description": "The maximum number of search results.",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "usedKeywordsIds",
            "in": "query",
            "description": "Limits the search results to only items that are classified with the specified keyword IDs.",
            "required": false,
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "type": "array"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/IdentifiableObject"
              },
              "xml": {
                "name": "IdentifiableObject",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/userSettings": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "Gets user settings for authenticated user",
        "description": "This operation returns an instance of 'Settings' type.\n\n",
        "operationId": "GetUserSettings",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/Settings"
            }
          },
          "401": {},
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "put": {
        "tags": [
          "Settings"
        ],
        "summary": "Saves user settings for authenticated user",
        "description": "\n\n",
        "operationId": "SaveUserSettings",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "userSettings",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Settings"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The request was successful and there is no content in the body of the response."
          },
          "401": {},
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "delete": {
        "tags": [
          "Settings"
        ],
        "summary": "Deletes user settings for authenticated user",
        "description": "\n\n",
        "operationId": "DeleteUserSettings",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "The request was successful and there is no content in the body of the response."
          },
          "401": {},
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/applicationSettings": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "Gets application settings for specified application Id",
        "description": "This operation returns an instance of 'Settings' type.\n\n",
        "operationId": "GetApplicationSettings",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "applicationId",
            "in": "query",
            "description": "The id of an Application (case-insensitive).",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/Settings"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "401": {},
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "put": {
        "tags": [
          "Settings"
        ],
        "summary": "Saves application settings with specified application Id",
        "description": "\n\n",
        "operationId": "SaveApplicationSettings",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "applicationId",
            "in": "query",
            "description": "The id of an Application (case-insensitive).",
            "required": true,
            "type": "string"
          },
          {
            "name": "applicationSettings",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Settings"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The request was successful and there is no content in the body of the response."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "401": {},
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "delete": {
        "tags": [
          "Settings"
        ],
        "summary": "Deletes application settings for specified application Id",
        "description": "\n\n",
        "operationId": "DeleteApplicationSettings",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "applicationId",
            "in": "query",
            "description": "The id of an Application (case-insensitive).",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The request was successful and there is no content in the body of the response."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "401": {},
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/healthCheck": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Checks and displays the health status of the API.",
        "description": "This operation returns an instance of 'ApiStatus' type.\n\n",
        "operationId": "HealthCheck",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/ApiStatus"
            }
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/system/capabilities": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Lists all available capabilities and features.",
        "description": "This operation returns an instance of 'Capabilities' type.\n\n",
        "operationId": "capabilities",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/Capabilities"
            }
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/translationJobs": {
      "get": {
        "tags": [
          "Translation"
        ],
        "summary": "Gets an overview of all translation jobs.",
        "description": "This operation returns an instance of 'TranslationJobOverview' type or one of the following inherited types:<ul class=\"model-list\"><li><span>TranslationJob</span></li></ul>\n\n",
        "operationId": "ListTranslationJobs",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/TranslationJobOverview"
              },
              "xml": {
                "name": "TranslationJobOverview",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "post": {
        "tags": [
          "Translation"
        ],
        "summary": "Creates a new translation job.",
        "description": "This operation returns an instance of 'TranslationJob' type.\n\n",
        "operationId": "CreateTranslationJob",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "translationJob",
            "in": "body",
            "description": "The model to use for creating the new translation job.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TranslationJob"
            }
          },
          {
            "name": "autoSend",
            "in": "query",
            "description": "Set to \"True\" to automatically send the new job to the translation management system for translation after it is created. By default, a value of \"False\" saves the job but keeps it in the Definition stage where you can still edit the Translation Job and add or remove items.",
            "required": false,
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TranslationJob"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/translationJobs/{jobId}": {
      "get": {
        "tags": [
          "Translation"
        ],
        "summary": "Gets full details for the translation job with the specified job ID.",
        "description": "This operation returns an instance of 'TranslationJob' type.\n\n",
        "operationId": "FetchTranslationJob",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "The ID of the translation job you want to retrieve.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TranslationJob"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "put": {
        "tags": [
          "Translation"
        ],
        "summary": "Updates an existing translation job with new data.",
        "description": "This operation returns an instance of 'TranslationJob' type.\n\n",
        "operationId": "UpdateTranslationJob",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "The ID of the translation job you want to update.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "translationJob",
            "in": "body",
            "description": "The model to use for the updated translation job.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TranslationJob"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TranslationJob"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "delete": {
        "tags": [
          "Translation"
        ],
        "summary": "Deletes the translation job that has the specified job ID.",
        "description": "\n\n",
        "operationId": "DeleteTranslationJob",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "The ID of the translation job you want to delete.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "204": {
            "description": "The request was successful and there is no content in the body of the response."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/translationInfo": {
      "get": {
        "tags": [
          "Translation"
        ],
        "summary": "Gets the translation information for a specified item.",
        "description": "This operation returns an instance of 'TranslationInfo' type.\n\nThis route is used as the HATEOAS URL for the tm:TranslationInfo ListLink.",
        "operationId": "FetchTranslationInfo",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TranslationInfo"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/translationJobs/{jobId}/send": {
      "post": {
        "tags": [
          "Translation"
        ],
        "summary": "Sends a job for translation.",
        "description": "This operation returns an instance of 'TranslationJob' type.\n\n",
        "operationId": "SendTranslationJob",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "The ID of the translation job you want to send to the translation management system.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TranslationJob"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/translationJobs/{jobId}/retry": {
      "post": {
        "tags": [
          "Translation"
        ],
        "summary": "Retries to send or retrieve a translation job.",
        "description": "This operation returns an instance of 'TranslationJob' type.\n\n",
        "operationId": "RetryTranslationJob",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "description": "The ID of the translation job you want to retry.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TranslationJob"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/pullTranslation": {
      "post": {
        "tags": [
          "Translation"
        ],
        "summary": "Pulls a translation for a specified item by creating a pull translation job containing the item and sending it to translation.",
        "description": "This operation returns an instance of 'TranslationJob' type.\n\nThis route is used as HATEOAS URL for the tm:PullTranslation Applicable Action",
        "operationId": "PullTranslation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TranslationJob"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedItemId}/pushTranslation": {
      "post": {
        "tags": [
          "Translation"
        ],
        "summary": "Pushes the specified item into translation by creating a push translation job containing the item and sending it to translation.",
        "description": "This operation returns an instance of 'TranslationJob' type.\n\nThis route is used as HATEOAS URL for the tm:PushTranslation Applicable Action",
        "operationId": "PushTranslation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedItemId",
            "in": "path",
            "description": "The URI of an item with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TranslationJob"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/translationJob/defaultData": {
      "post": {
        "tags": [
          "Translation"
        ],
        "summary": "Gets a translation job model with default data, which you can use as the basis for creating a translation job.",
        "description": "This operation returns an instance of 'TranslationJob' type.\n\n",
        "operationId": "FetchTranslationJobDefaultData",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "itemIds",
            "in": "body",
            "description": "An array of item URIs that you want to send for translation.",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "jobType",
            "in": "query",
            "description": "Select the type of translation job:\r\n* PullJob – a job that is initiated from a target Publication and which pulls the translation from a source Publication that is higher up in the BluePrint.\r\n* PushJob – a job that is initiated from a source Publication and which pushes the translation to one or more target Publications that are lower down in the BluePrint.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TranslationJobType"
            },
            "type": "string",
            "enum": [
              "None",
              "PushJob",
              "PullJob",
              "UnknownByClient"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/TranslationJob"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/whoAmI": {
      "get": {
        "tags": [
          "UserProfile"
        ],
        "summary": "Beta version. Get the user profile of the currently logged-in user.",
        "description": "This operation returns an instance of 'UserProfile' type.\n\n",
        "operationId": "GetOwnUserProfile",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/UserProfile"
            }
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedUserId}/avatar": {
      "get": {
        "tags": [
          "UserProfile"
        ],
        "summary": "Beta version. Gets the avatar (profile picture) of a user.",
        "description": "\n\n",
        "operationId": "GetUserAvatar",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedUserId",
            "in": "path",
            "description": "The TCM URI of the user with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-17\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "type": "string",
              "format": "byte"
            }
          },
          "304": {
            "description": "The requested content was not modified."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedUserId}/profile": {
      "get": {
        "tags": [
          "UserProfile"
        ],
        "summary": "Beta version. Gets the user profile of a user.",
        "description": "This operation returns an instance of 'UserProfile' type.\n\n",
        "operationId": "GetUserProfile",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedUserId",
            "in": "path",
            "description": "The TCM URI of the user with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-17\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/UserProfile"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      },
      "put": {
        "tags": [
          "UserProfile"
        ],
        "summary": "Beta version. Updates certain properties in a user's profile.",
        "description": "This operation returns an instance of 'UserProfile' type.\n\nOnly 'Preferences.Favorites' property can be updated through this operation.",
        "operationId": "UpdateUserProfile",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedUserId",
            "in": "path",
            "description": "The TCM URI of the user with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-17\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "userProfile",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UserProfile"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/UserProfile"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedVersionedItemId}/history": {
      "get": {
        "tags": [
          "Versioning"
        ],
        "summary": "Gets all major versions of a specified versioned item.",
        "description": "This operation returns an instance of 'VersionedItem' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalComponent</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>Schema</span></li><li><span>TemplateBuildingBlock</span></li></ul>\n\n",
        "operationId": "GetHistory",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedVersionedItemId",
            "in": "path",
            "description": "The URI of a versioned item (no version specified). Escape the colon by replacing it with an underscore. E.g. \"tcm_1-1-8\"",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/VersionedItem"
              },
              "xml": {
                "name": "VersionedItem",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedVersionedItemId}/checkIn": {
      "post": {
        "tags": [
          "Versioning"
        ],
        "summary": "Checks in a versioned item that was checked out for editing. The operation converts the editable version into a new latest version of the item and removes the lock from the item.",
        "description": "This operation returns an instance of 'VersionedItem' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalComponent</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>Schema</span></li><li><span>TemplateBuildingBlock</span></li></ul>\n\n",
        "operationId": "CheckIn",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedVersionedItemId",
            "in": "path",
            "description": "The URI of a versioned item (no version specified). Escape the colon by replacing it with an underscore. E.g. \"tcm_1-1-8\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckInRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/VersionedItem"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedVersionedItemId}/checkOut": {
      "post": {
        "tags": [
          "Versioning"
        ],
        "summary": "Checks out a versioned item to create a new, editable version of the item. The new version is locked for editing by the user who performed the checkout. No other user can edit the item while it is checked out.",
        "description": "This operation returns an instance of 'VersionedItem' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalComponent</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>Schema</span></li><li><span>TemplateBuildingBlock</span></li></ul>\n\n",
        "operationId": "CheckOut",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedVersionedItemId",
            "in": "path",
            "description": "The URI of a versioned item (no version specified). Escape the colon by replacing it with an underscore. E.g. \"tcm_1-1-8\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckOutRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/VersionedItem"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedVersionedItemId}/undoCheckOut": {
      "post": {
        "tags": [
          "Versioning"
        ],
        "summary": "Reverts the check-out of a versioned item. The operation removes the editable version without saving any changes and also removes the lock from the item.",
        "description": "This operation returns an instance of 'VersionedItem' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalComponent</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>Schema</span></li><li><span>TemplateBuildingBlock</span></li></ul>\n\n",
        "operationId": "UndoCheckOut",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedVersionedItemId",
            "in": "path",
            "description": "The URI of a versioned item (no version specified). Escape the colon by replacing it with an underscore. E.g. \"tcm_1-1-8\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UndoCheckOutRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/VersionedItem"
            }
          },
          "204": {
            "description": "The request was successful and there is no content in the body of the response."
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedVersionedItemIdWithVersion}/rollback": {
      "post": {
        "tags": [
          "Versioning"
        ],
        "summary": "Rolls back all changes that have been made to an item since a specified version.",
        "description": "This operation returns an instance of 'VersionedItem' type, as implemented by one of the following:<ul class=\"model-list\"><li><span>Component</span></li><li><span>ComponentTemplate</span></li><li><span>ExternalComponent</span></li><li><span>Page</span></li><li><span>PageTemplate</span></li><li><span>Schema</span></li><li><span>TemplateBuildingBlock</span></li></ul>\n\n",
        "operationId": "Rollback",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedVersionedItemIdWithVersion",
            "in": "path",
            "description": "The URI of a versioned item including the version ID and with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-8-v5\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RollBackRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/VersionedItem"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/activityInstances": {
      "get": {
        "tags": [
          "Workflow"
        ],
        "summary": "Gets a list of Activity Instances.",
        "description": "This operation returns an instance of 'ActivityInstance' type.\n\n",
        "operationId": "ListActivityInstances",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "forAllUsers",
            "in": "query",
            "description": "When forAllUsers is set to false (the default value), the results will be filtered on Assignee or Owner depending on the activity instance state:\r\nActivity Instances in Assigned State are returned if they are assigned to the Current User or any groups of the Current User.\r\nActivity Instances in other Activity States are returned if they are owned by the Current User\r\n<para>\r\nWhen forAllUsers is set to true, the results are filtered by security instead.\r\nOnly the Activity Instances on which the current user has Workflow Management rights (or system administration privileges) are returned.\r\n</para><para>\r\nThe forAllUsers is ignored if either of {ownerId} or {assigneeId} parameters is specified.\r\n</para>",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "ownerId",
            "in": "query",
            "description": "The TCM URI of the owner.\r\nIf specified, only activity instances for the given owner are returned,\r\nand {forAllUsers} parameter is irrelevant and will be ignored.\r\nIf {assigneeId} is also specified then activity instances with given owner or assignee are returned.",
            "required": false,
            "type": "string"
          },
          {
            "name": "assigneeId",
            "in": "query",
            "description": "The TCM URI of the assignee user or group.\r\nIf specified, only activity instances assigned to the given assignee are returned,\r\nand {forAllUsers} parameter is irrelevant and will be ignored.\r\nIf {ownerId} is also specified then activity instances with given owner or assignee are returned.",
            "required": false,
            "type": "string"
          },
          {
            "name": "activityStates",
            "in": "query",
            "description": "If specified, only Activity Instances which have one of the given Activity States will be returned.",
            "required": false,
            "items": {
              "$ref": "#/definitions/ActivityState",
              "type": "string"
            },
            "collectionFormat": "multi",
            "type": "array"
          },
          {
            "name": "processDefinitionId",
            "in": "query",
            "description": "If specified, only Activity Instances based on the given Process Definition will be returned.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "items": {
                "$ref": "#/definitions/ActivityInstance"
              },
              "xml": {
                "name": "ActivityInstance",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedPublicationId}/startWorkflow": {
      "post": {
        "tags": [
          "Workflow"
        ],
        "summary": "Starts the Workflow process for a Publication.",
        "description": "This operation returns an instance of 'ProcessInstance' type.\n\n",
        "operationId": "StartWorkflow",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedPublicationId",
            "in": "path",
            "description": "The TCM URI of a Publication with the colon escaped by replacing it with an underscore. E.g. \"tcm_0-1-1\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The model to use for the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/StartWorkflowInstruction"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The request has completed and has resulted in one or more new resources being created.",
            "schema": {
              "$ref": "#/definitions/ProcessInstance"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedActivityInstanceId}/startActivity": {
      "post": {
        "tags": [
          "Workflow"
        ],
        "summary": "Starts a Workflow activity.",
        "description": "This operation returns an instance of 'ActivityInstance' type.\n\n",
        "operationId": "StartActivity",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedActivityInstanceId",
            "in": "path",
            "description": "The URI of a Workflow activity instance with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-131104\"",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/ActivityInstance"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedActivityInstanceId}/finishActivity": {
      "post": {
        "tags": [
          "Workflow"
        ],
        "summary": "Finishes a Workflow activity.",
        "description": "This operation returns an instance of 'FinishActivityResult' type.\n\n",
        "operationId": "FinishActivity",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedActivityInstanceId",
            "in": "path",
            "description": "The URI of a Workflow activity instance with the colon escaped by replacing it with an underscore. E.g. \"tcm_1-1-131104\"",
            "required": true,
            "type": "string"
          },
          {
            "name": "activityFinishRequestModel",
            "in": "body",
            "description": "The model to use for the finish activity request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ActivityFinishRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/FinishActivityResult"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedActivityInstanceId}/restartActivity": {
      "post": {
        "tags": [
          "Workflow"
        ],
        "summary": "Restarts an automated Activity Instance which is in Failed state.",
        "description": "This operation returns an instance of 'ActivityInstance' type.\n\n",
        "operationId": "RestartActivity",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedActivityInstanceId",
            "in": "path",
            "description": "The (escaped) Activity Instance TCM URI.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/ActivityInstance"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    },
    "/v2.0/items/{escapedActivityInstanceId}/reassignActivity": {
      "post": {
        "tags": [
          "Workflow"
        ],
        "summary": "Reassigns a Workflow Activity to another User or Group.",
        "description": "This operation returns an instance of 'ActivityInstance' type.\n\n",
        "operationId": "ReAssignActivity",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "escapedActivityInstanceId",
            "in": "path",
            "description": "The (escaped) Activity Instance TCM URI.",
            "required": true,
            "type": "string"
          },
          {
            "name": "newAssigneeId",
            "in": "query",
            "description": "The TCM URI of the User or Group to re-assign to.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request was successful.",
            "schema": {
              "$ref": "#/definitions/ActivityInstance"
            }
          },
          "400": {
            "description": "The request data is invalid."
          },
          "403": {
            "description": "The server understood the request but refuses to authorize it."
          },
          "404": {
            "description": "The requested resource doesn't exist."
          },
          "500": {
            "description": "There was an unexpected error while handling the request."
          }
        }
      }
    }
  },
  "definitions": {
    "AbstractBatchPublishRequest": {
      "description": "Represents the abstract request for the publish/un-publish batch operations.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "Priority": {
              "$ref": "#/definitions/PublishPriority",
              "description": "Gets or sets the priority of the publish action. Passing null will use the priority from the Publication Target."
            },
            "TargetIdsOrPurposes": {
              "description": "Gets or sets the collection of identifiers representing Publication Targets, Target Types or purposes of the \"TargetType\" to publish to. This cannot contain a combination of them.",
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "AbstractBatchPublishRequest"
      },
      "type": "object"
    },
    "AccessControlEntry": {
      "description": "Represents an entry in an Access Control List, which is used to restrict access to containers.\n            An Access Control Entry specifies which Permissions and/or Rights a given \"Trustee\" has.\n            Permissions and Rights can either be Allowed, Denied or Implicit Denied.\n            ",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'AccessControlEntry' (or a class name that inherits from this class)",
          "example": "AccessControlEntry",
          "type": "string"
        },
        "AllowedPermissions": {
          "description": "Gets or sets the Permissions that the \"Trustee\" is allowed to have.\n            This property works in conjunction with \"DeniedPermissions\".\n            The following combinations are possible:\n               Allowed: Allowed bit set, Denied bit not set\n               Implicit Denied: Allowed bit not set, Denied bit not set\n               Denied: Allowed bit not set, Denied bit set\n            ",
          "items": {
            "$ref": "#/definitions/Permissions"
          },
          "xml": {
            "name": "Permissions",
            "wrapped": true
          },
          "type": "array"
        },
        "AllowedRights": {
          "description": "Gets or sets the Rights that the \"Trustee\" is allowed to have.\n            This property works in conjunction with \"DeniedRights\".\n            The following combinations are possible:\n               Allowed: Allowed bit set, Denied bit not set\n               Implicit Denied: Allowed bit not set, Denied bit not set\n               Denied: Allowed bit not set, Denied bit set\n            ",
          "items": {
            "$ref": "#/definitions/Rights"
          },
          "xml": {
            "name": "Rights",
            "wrapped": true
          },
          "type": "array"
        },
        "DeniedPermissions": {
          "description": "Gets or sets the Permissions that the \"Trustee\" is denied to have.\n            This property works in conjunction with \"AllowedPermissions\".\n            The following combinations are possible:\n               Allowed: Allowed bit set, Denied bit not set\n               Implicit Denied: Allowed bit not set, Denied bit not set\n               Denied: Allowed bit not set, Denied bit set\n            ",
          "items": {
            "$ref": "#/definitions/Permissions"
          },
          "xml": {
            "name": "Permissions",
            "wrapped": true
          },
          "type": "array"
        },
        "DeniedRights": {
          "description": "Gets or sets the Rights that the \"Trustee\" is denied to have.\n            This property works in conjunction with \"AllowedRights\".\n            The following combinations are possible:\n               Allowed: Allowed bit set, Denied bit not set\n               Implicit Denied: Allowed bit not set, Denied bit not set\n               Denied: Allowed bit not set, Denied bit set\n            ",
          "items": {
            "$ref": "#/definitions/Rights"
          },
          "xml": {
            "name": "Rights",
            "wrapped": true
          },
          "type": "array"
        },
        "Trustee": {
          "$ref": "#/definitions/Link",
          "description": "Gets the Trustee (User or Group) which the Access Control Entry applies to."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "AccessControlEntry"
      },
      "type": "object"
    },
    "AccessControlList": {
      "description": "Represents an Access Control List which is used to restrict access to a container.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'AccessControlList' (or a class name that inherits from this class)",
          "example": "AccessControlList",
          "type": "string"
        },
        "AccessControlEntries": {
          "description": "Gets access to Access Control Entries which the Access Control List contains.This list doesn't support delta update. So in order to add new entry, original list should be extended with that new entry, not overwritten. \n            If AccessControlEntries are modified on organizational item which is not permissions inheritance root, changes will be silently ignored.",
          "items": {
            "$ref": "#/definitions/AccessControlEntry"
          },
          "xml": {
            "name": "AccessControlEntry",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "AccessControlList"
      },
      "type": "object"
    },
    "AccessToken": {
      "description": "Represents read-only access token data.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/User"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ExpiresAt": {
              "description": "Gets the expiration date and time in UTC format for this token.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "InheritedSystemPrivileges": {
              "$ref": "#/definitions/SystemPrivilegesDictionary",
              "description": "Gets a dictionary containing \"SystemPrivilege\" and link \"Group\" associations."
            },
            "Signature": {
              "description": "Gets a signature value for this token to prevent modifying any of its properties outside of the CM system.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "AccessToken"
      },
      "type": "object"
    },
    "Activity": {
      "description": "Abstract base class for the data of Activities.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/WorkflowObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Assignee": {
              "$ref": "#/definitions/Link",
              "description": "Gets the User or Group to which the Activity is assigned."
            },
            "AssignmentDate": {
              "description": "Gets the most recent assigned/re-assigned date and time in UTC of the Activity.Initially the Assignment date and Creation date are the same, upon re-assign of the activity this is updated to time the operation was performed.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "DueDate": {
              "description": "Gets or sets the due date and time in UTC for finishing activity.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "FinishDate": {
              "description": "Gets the date and time in UTC at which the Activity has been finished.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "FinishMessage": {
              "description": "Gets the message provided by the User who finished the Activity.",
              "type": "string"
            },
            "Owner": {
              "$ref": "#/definitions/Link",
              "description": "Gets the User who owns the Activity.\n            The User who starts an Activity becomes the owner of the Activity.\n            Ownership can be transferred to someone else using the ReAssign method.\n            Only the owner can Finish the Activity.\n            "
            },
            "Performers": {
              "description": "Gets the Users that are performing or have performed the Activity.\n            This property is an aggregation of the Work Items' Owner property.\n            This property can be empty collection if the Activity was never started, and hence the Work Item(s) were never owned by anybody.\n            \n            Activity can have multiple Performers because each Work Item can be owned/performed by someone else.",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "Position": {
              "description": "Gets the position of the current Activity within the Process.",
              "type": "integer",
              "format": "int32"
            },
            "PrimarySubject": {
              "$ref": "#/definitions/Link",
              "description": "Gets or set the Primary Subject of the Activity.\n            This property is introduced in Tridion Sites 10.0 (V2 API)\n            "
            },
            "Process": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Process which contains the Activity."
            },
            "StartDate": {
              "description": "Gets the date and time in UTC at which the Activity was started (for the first time).",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "SuspendDate": {
              "description": "Gets the date and time in UTC at which the automated Activity was suspended or failed (the last time).",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "WorkItems": {
              "description": "Gets the Work Items involved in the Activity.\n            An Activity contains a Work Item for each Content Manager item (\"subject\") involved in the Activity.\n            ",
              "items": {
                "$ref": "#/definitions/WorkItem"
              },
              "xml": {
                "name": "WorkItem",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Activity"
      },
      "type": "object"
    },
    "ActivityConstraints": {
      "description": "\n            Defines the constraints of an Activity Instance.\n            \r\n\r\nMembers:\r\n* `None` - \n            Does not have any constraints.\n            \r\n* `DenyBundleMetadataEditing` - \n            Denies editing Metadata of a Bundle in workflow.\n            \r\n* `DenySubjectEditing` - \n            Denies editing Subject in workflow. \n            \r\n* `DenyAddRemoveWorkItem` - \n            Denies adding/removing work items to/from the Activity.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "None",
        "DenyBundleMetadataEditing",
        "DenySubjectEditing",
        "DenyAddRemoveWorkItem",
        "UnknownByClient"
      ]
    },
    "ActivityDecisionFinishInfo": {
      "description": "Represents the data required for finishing an Decision Activity.",
      "allOf": [
        {
          "$ref": "#/definitions/ActivityFinishInfo"
        },
        {
          "properties": {
            "NextActivity": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the next Activity Instance in the decision."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ActivityDecisionFinishInfo"
      },
      "type": "object"
    },
    "ActivityDefinition": {
      "description": "Abstract base class for the data of the Activity Definitions. Part of the Process Definition.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/WorkflowObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ActivityConstraints": {
              "$ref": "#/definitions/ActivityConstraints",
              "description": "Gets or sets the constraints of an activity."
            },
            "Assignee": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the User or Group to which the Workflow activity will be assigned.\n            Depending on the character of activity this property has some limitations:\n            Assignee of the first activity in the process might not be set explicitly. In that case activity will be assigned to everyone.Automatic activities (activities with \"TridionActivityDefinition.Script\" property set) should be assigned to the workflow agent user (Id of this user can be found in Content Manager configuration under the 'Automatic Trustee ID' setting in the Workflow settings node).\n            If this property is not set or set to null, the value depends on the kind of activity:\n            For normal activity the everyone group will be assigned.For decision activity a performer of the previous activity will be assigned.For automatic activity (activity with \"TridionActivityDefinition.Script\" property set) the workflow agent user will be assigned."
            },
            "Description": {
              "description": "Gets or sets the description of the Activity Definition.",
              "type": "string"
            },
            "ProcessDefinition": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Workflow Process Definition that contains this activity."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ActivityDefinition"
      },
      "type": "object"
    },
    "ActivityFinishInfo": {
      "description": "Represents the data required for finishing an Activity.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ActivityFinishInfo' (or a class name that inherits from this class)",
          "example": "ActivityFinishInfo",
          "type": "string"
        },
        "Message": {
          "description": "Gets or sets the finish message for the current Activity.",
          "type": "string"
        },
        "NextActivityDueDate": {
          "description": "Gets or sets the due date in UTC to be used for the next Activity Instance.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "NextActivityTitle": {
          "description": "Gets or sets the title to be used for the next Activity Instance.\n            By default, Activity Instances get an auto-generated title consisting of their position and the title of their Activity Definition.\n            However, it is also possible to let Activity Instance have a custom title.\n            Such a custom title can be specified when finishing the previous Activity using this property.\n            ",
          "type": "string"
        },
        "NextAssignee": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the assignee (override) for the next Activity.\n            Typically, the assignee is specified on the Activity Definition and hence it is not required to set this property.\n            This property can be used to override the assignee as specified in the Process/Activity Definition.\n            "
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ActivityFinishInfo"
      },
      "type": "object"
    },
    "ActivityFinishRequest": {
      "description": "Represents the data required for finishing an Activity.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ActivityFinishRequest' (or a class name that inherits from this class)",
          "example": "ActivityFinishRequest",
          "type": "string"
        },
        "Message": {
          "description": "Gets or sets the finish message for the current Activity.",
          "type": "string"
        },
        "NextActivityDueDate": {
          "description": "Gets or sets the due date in UTC to be used for the next Activity Instance.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "NextActivityTitle": {
          "description": "Gets or sets the title to be used for the next Activity Instance.\n            By default, Activity Instances get an auto-generated title consisting of their position and the title of their Activity Definition.\n            However, it is also possible to let Activity Instance have a custom title.\n            Such a custom title can be specified when finishing the previous Activity using this property.\n            ",
          "type": "string"
        },
        "NextAssignee": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the assignee (override) for the next Activity.\n            Typically, the assignee is specified on the Activity Definition and hence it is not required to set this property.\n            This property can be used to override the assignee as specified in the Process/Activity Definition.\n            "
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ActivityFinishRequest"
      },
      "type": "object"
    },
    "ActivityHistory": {
      "description": "Representing data of the Activity History. This is the part of \"ProcessHistory\".",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Activity"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ActivityDefinitionTitle": {
              "description": "Gets the Activity Definition Title of the Activity.",
              "type": "string"
            },
            "ActivityType": {
              "$ref": "#/definitions/ActivityType",
              "description": "Gets the Activity Type related to current \"ActivityHistory\"."
            },
            "ApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Approval Status of the Activity History."
            },
            "Description": {
              "description": "Gets the Description of current \"ActivityHistory\".",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ActivityHistory"
      },
      "type": "object"
    },
    "ActivityInstance": {
      "description": "Represents the data of an Activity Instance: a current Activity which is part of a Process Instance (V2).",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ActivityInstanceBase"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ActivityConstraints": {
              "description": "Gets the constraints of this activity (V2).",
              "items": {
                "$ref": "#/definitions/ActivityConstraints"
              },
              "xml": {
                "name": "ActivityConstraints",
                "wrapped": true
              },
              "type": "array"
            },
            "ActivityState": {
              "$ref": "#/definitions/ActivityState",
              "description": "Gets the state of the Activity Instance (V2)."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ActivityInstance"
      },
      "type": "object"
    },
    "ActivityInstanceBase": {
      "description": "Represents the data of an Activity Instance: a current Activity which is part of a Process Instance.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Activity"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ActivityDefinition": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Activity Definition on which the Activity Instance is based."
            },
            "ApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Approval Status for this Activity Instance."
            },
            "IsExpirationExecution": {
              "description": "Gets or sets value, indicated whether this activity expired or not.\n            This property is used by Workflow Agent while expiring the activity.\n            ",
              "type": "boolean"
            },
            "ProcessDefinition": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Process Definition on which the Activity Instance is based.\n            This property is introduced in Tridion Sites 10.0 (V2 API)\n            "
            },
            "ResumeBookmark": {
              "description": "Gets the resume bookmark for suspended automated activities.During suspending of activity user can specify \"ResumeBookmark\" object. With its help script execution can be started in future from specific place, but not from the very beginning.",
              "type": "string"
            },
            "SuspendOrFailReason": {
              "description": "Gets the reason why this Activity was suspended or failed.",
              "type": "string"
            },
            "WorkflowType": {
              "$ref": "#/definitions/Link",
              "description": "Gets the workflow type of the Process which contains this Activity.\n            This property is introduced in Tridion Sites 10.0 (V2 API)\n            "
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ActivityInstanceBase"
      },
      "type": "object"
    },
    "ActivityState": {
      "description": "\n            Defines a state of an Activity.\n            \r\n\r\nMembers:\r\n* `Assigned` - \n            The Activity is assigned to the User or Group.\n            \r\n* `Started` - \n            The Activity is started by a User.\n            \r\n* `Failed` - \n            The Activity is failed.\n            \r\n* `Finished` - \n            The Activity is finished. \n            \r\n* `Suspended` - \n            The Activity is suspended.\n            \r\n* `WaitingForWorkflowAgent` - \n            The Activity is waiting for execution by Workflow Agent.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Assigned",
        "Started",
        "Failed",
        "Finished",
        "Suspended",
        "WaitingForWorkflowAgent",
        "UnknownByClient"
      ]
    },
    "ActivityType": {
      "description": "\n            Defines a type of an Activity.\n            \r\n\r\nMembers:\r\n* `Normal` - \n            Normal activity.\n            \r\n* `Decision` - \n            Decision activity.\n            \r\n",
      "type": "string",
      "enum": [
        "Normal",
        "Decision"
      ]
    },
    "AddedItem": {
      "description": "Represents an Item added to a {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob}.The item added to a Translation Job is not necessarily the item that is send for translation. For example,\n            if a Page is added without specifying the TranslateParentItems flag in the\n            , the Components on the Page are included in the Translation Job but\n            the Page itself will not.To change the items included in the Translation Job directly, use a Tridion Sites event subscription with the  event arguments.",
      "properties": {
        "IdRef": {
          "description": "Gets the URI of the added item.",
          "type": "string"
        },
        "Title": {
          "description": "Gets the title of the Tridion item.",
          "type": "string"
        },
        "ItemTypeWithSubtype": {
          "description": "Gets a string that identifies the Tridion Item type.",
          "type": "string"
        },
        "ResolveOptions": {
          "description": "Gets or sets the {Tridion.TranslationManager.DomainModel.ResolveOptions} specifying it it is the Item itself, it's child Items or both that should be translated.",
          "items": {
            "$ref": "#/definitions/ResolveOptions"
          },
          "xml": {
            "name": "ResolveOptions",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "xml": {
        "name": "AddedItem"
      },
      "type": "object"
    },
    "ApiStatus": {
      "description": "Represents the status of the CoreService REST API.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ApiStatus' (or a class name that inherits from this class)",
          "example": "ApiStatus",
          "type": "string"
        },
        "ApiVersion": {
          "description": "Gets the current version of the CoreService REST API (for example: \"2.0\")",
          "type": "string"
        },
        "ProductVersion": {
          "description": "Gets the Tridion Sites Product Version (for example: \"10.0.1\")",
          "type": "string"
        },
        "ServerTime": {
          "description": "Gets the server time at the request moment.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ApiStatus"
      },
      "type": "object"
    },
    "ApplicationData": {
      "description": "Represents application-specific data which can be stored system-wide (global) or associated with any identifiable object.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ApplicationData' (or a class name that inherits from this class)",
          "example": "ApplicationData",
          "type": "string"
        },
        "ApplicationId": {
          "description": "Gets or sets the application identifier.\n            This identifier must be unique across all applications. Consider using a GUID or URI.\n            This value might be case-sensitive or case-insensitive depending upon system and database configuration. Hence, it is wise to consider this value as case-sensitive, and not create two different Ids differing only in their case.",
          "type": "string"
        },
        "Data": {
          "description": "Gets or sets the binary data.",
          "type": "string",
          "format": "byte"
        },
        "IsInherited": {
          "description": "Gets the status informing whether this application data is inherited from parent item.\n            The value of this property will be false for \"ApplicationData\" attached to all Non Repository Local Objects and Global Application Data.\n            ",
          "type": "boolean"
        },
        "ManagedLinks": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets managed links (reserved for future use).\n            The \"Data\" property is simply a binary data of which the CM Kernel doesn't have any knowledge.\n            Hence, the CM Kernel cannot automatically provide link management functionality on links to TCM items contained in some way in the data.\n            Link management will be provided in future versions of the CM Kernel by means of this property.\n            This property is currently exposed merely to prevent a change to the data contract in the future when link management is provided.\n            "
        },
        "OwningRepositoryId": {
          "description": "Gets the Id of the repository which owns this application data.\n            The owning publication of an application data is either the context publication in which it is being read, or the owning publication of the subject item to which it is attached.\n            The value of this property will be tcm:0-0-0 for \"ApplicationData\" attached to all Non Repository Local Objects and Global Application Data.",
          "type": "string"
        },
        "TypeId": {
          "description": "Gets or sets the type identifier which can be used to deserialize the binary \"Data\" into a structured data type.\n            The type identifier can be any string. It doesn't have meaning to the Content Manager system; it's merely intended to help applications\n            store and retrieve application-specific data using structured types.\n            ",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ApplicationData"
      },
      "type": "object"
    },
    "ApprovalStatus": {
      "description": "Represents a data of the Approval Status.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/SystemWideObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "IsDeleted": {
              "description": "Gets a value indicating whether the Approval Status is deleted.\n            If an Approval Status is deleted, it is not physically removed, but only flagged as deleted\n            (and therefore suppressed from the list of Approval Statuses).\n            ",
              "type": "boolean"
            },
            "Position": {
              "description": "Gets or sets the position of this Approval Status in the list of the Approval Statuses.\n            The list of Approval Statuses is ordered, because Publication Targets can have a minimal Approval Status:\n            Approval Statuses with a Position lower than this minimal approval status won't be publishable.\n            ",
              "type": "integer",
              "format": "int32"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ApprovalStatus"
      },
      "type": "object"
    },
    "BasicVersionInfo": {
      "description": "Basic version information about any Identifiable Object.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'BasicVersionInfo' (or a class name that inherits from this class)",
          "example": "BasicVersionInfo",
          "type": "string"
        },
        "CreationDate": {
          "description": "Gets or sets the date and time in UTC at which the item was created.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "RevisionDate": {
          "description": "Gets or sets the date and time in UTC at which the item was last modified.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "BasicVersionInfo"
      },
      "type": "object"
    },
    "Batch": {
      "description": "Represents the data of a Batch. Defines batch operations and additional info related to batch invocation.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/SystemWideObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "NumberOfDoneOperations": {
              "description": "Gets the count of done operations.",
              "type": "integer",
              "format": "int32"
            },
            "Operations": {
              "description": "Gets or sets the list of operations of the current batch.",
              "items": {
                "$ref": "#/definitions/BatchOperation"
              },
              "xml": {
                "name": "BatchOperation",
                "wrapped": true
              },
              "type": "array"
            },
            "Performer": {
              "$ref": "#/definitions/Link",
              "description": "Gets the performer of the batch operation."
            },
            "StartAt": {
              "description": "Gets or sets the time in UTC, when the batch operation must be started.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "TotalNumberOfOperations": {
              "description": "Gets the total number of operations.",
              "type": "integer",
              "format": "int32"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Batch"
      },
      "type": "object"
    },
    "BatchAutoClassifyRequest": {
      "description": "Represents the request for the auto-classify batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {},
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchAutoClassifyRequest"
      },
      "type": "object"
    },
    "BatchCheckInRequest": {
      "description": "Represents the request for the check-in batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "RemovePermanentLock": {
              "description": "A permanent lock is set when the user performs an explicit checkout action in the UI.\r\nIt is removed when the user performs an explicit checkin action in the UI.\r\nAvailable values:\r\n* True – removes the permanent lock after the check-in action.\r\n* False – does not remove the lock after the check-in action, such as when the item is still being edited.",
              "type": "boolean"
            },
            "UserComment": {
              "description": "Gets or sets the user comment for this item. If null the user comment is not changed.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchCheckInRequest"
      },
      "type": "object"
    },
    "BatchCheckOutRequest": {
      "description": "Represents the request for the check-out batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "SetPermanentLock": {
              "description": "A permanent lock is set when the user performs an explicit checkout action in the UI and removed when the user performs an explicit checkin action in the UI.\r\nCheckout or checkin actions without permanent lock effectively do nothing if item was checked out with permanent lock.\r\nAvailable values:\r\n* True – sets a permanent lock that will be removed only when the user performs an explicit check-in action.\r\n* False – sets no lock, which means the check-in and check-out actions effectively do nothing.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchCheckOutRequest"
      },
      "type": "object"
    },
    "BatchClassifyOrUnClassifyRequest": {
      "description": "Represents the request for the classify or un-classify batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "KeywordIds": {
              "description": "Gets or sets the collection of Keyword identifiers to classify/un-classify the item.",
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchClassifyOrUnClassifyRequest"
      },
      "type": "object"
    },
    "BatchCopyOrMoveRequest": {
      "description": "Represents the request for the copy or move batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "DestinationId": {
              "description": "The identifier of the \"ContentManagement.OrganizationalItem\" where the copy should be created.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchCopyOrMoveRequest"
      },
      "type": "object"
    },
    "BatchCopyRequest": {
      "description": "Represents the request for the copy batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchCopyOrMoveRequest"
        },
        {
          "properties": {
            "MakeUnique": {
              "description": "Specifies whether a unique title should be generated if an item with the same title already exists in the destination.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchCopyRequest"
      },
      "type": "object"
    },
    "BatchDeleteTaxonomyNodeRequest": {
      "description": "Represents the request for the delete taxonomy node batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "TaxonomyNodeMode": {
              "$ref": "#/definitions/DeleteTaxonomyNodeMode",
              "description": "Specifies how to handle the children of the deleted taxonomy node."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchDeleteTaxonomyNodeRequest"
      },
      "type": "object"
    },
    "BatchFinishActivityRequest": {
      "description": "Represents the request for the finish activity batch operations.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "ActivityFinishInfo": {
              "$ref": "#/definitions/ActivityFinishInfo",
              "description": "Gets or sets the data object that specifies some parameters for the Finish operation."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchFinishActivityRequest"
      },
      "type": "object"
    },
    "BatchForceFinishRequest": {
      "description": "Represents the request for the force finish batch operations.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "ApprovalStatusId": {
              "description": "Gets or sets the identifier of the Approval Status which will be set to all Subjects of the related Work Items.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchForceFinishRequest"
      },
      "type": "object"
    },
    "BatchOperation": {
      "description": "Provides information about batch operation on the list of subjects.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'BatchOperation' (or a class name that inherits from this class)",
          "example": "BatchOperation",
          "type": "string"
        },
        "Operation": {
          "description": "Gets or sets the operation name.",
          "type": "string"
        },
        "Parameters": {
          "$ref": "#/definitions/ParametersDictionary",
          "description": "Gets the additional parameters for invoking operation."
        },
        "Statuses": {
          "description": "Gets the collection, which contains information about performing operation on each subject.",
          "items": {
            "$ref": "#/definitions/BatchOperationStatus"
          },
          "xml": {
            "name": "BatchOperationStatus",
            "wrapped": true
          },
          "type": "array"
        },
        "SubjectLinks": {
          "description": "Gets the subjects on which current operation must be performed.",
          "items": {
            "$ref": "#/definitions/Link"
          },
          "xml": {
            "name": "Link",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "BatchOperation"
      },
      "type": "object"
    },
    "BatchOperationCreationResult": {
      "description": "The result of the creation of the batch operation.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'BatchOperationCreationResult' (or a class name that inherits from this class)",
          "example": "BatchOperationCreationResult",
          "type": "string"
        },
        "BatchId": {
          "description": "Reference for reading batch operation which has been created.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "BatchOperationCreationResult"
      },
      "type": "object"
    },
    "BatchOperationRequest": {
      "description": "Represents the request for the batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequestBase"
        },
        {
          "properties": {},
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchOperationRequest"
      },
      "type": "object"
    },
    "BatchOperationRequestBase": {
      "description": "Represents the abstract request for the batch operation.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'BatchOperationRequestBase' (or a class name that inherits from this class)",
          "example": "<Set to a class name inheriting from 'BatchOperationRequestBase'>",
          "type": "string"
        },
        "ItemIds": {
          "description": "Gets or sets the identifier of items on which the current operation must be performed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "BatchOperationRequestBase"
      },
      "type": "object"
    },
    "BatchOperationState": {
      "description": "\n            The state of the batch operation.\n            \r\n\r\nMembers:\r\n* `NotStarted` - \n            Batch operation wasn't started yet.\n            \r\n* `Success` - \n            Batch operation was successfully finished.\n            \r\n* `Warning` - \n            Batch operation was finished with warning.\n            \r\n* `Error` - \n            Batch operation wasn't finished due to an error.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "NotStarted",
        "Success",
        "Warning",
        "Error",
        "UnknownByClient"
      ]
    },
    "BatchOperationStatus": {
      "description": "Contains information about performing batch operation on concrete subject.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'BatchOperationStatus' (or a class name that inherits from this class)",
          "example": "BatchOperationStatus",
          "type": "string"
        },
        "Id": {
          "description": "Gets the subject id.",
          "type": "integer",
          "format": "int32"
        },
        "CreatedItems": {
          "description": "Gets the list of the Ids of the created items during batch operation.\n            The property is used for publish/unpublish batch operations only and contains Ids of created publication transactions.\n            \n            For the other batch operations the property is empty.\n            ",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ErrorCode": {
          "description": "Gets the error code in case of error during operation (warning, error).",
          "type": "string"
        },
        "Information": {
          "description": "Gets the information about an operation being performed (warning, error).",
          "type": "string"
        },
        "State": {
          "$ref": "#/definitions/BatchOperationState",
          "description": "Gets the state of the current batch operation."
        },
        "SubjectId": {
          "description": "Gets the subject id.",
          "type": "string"
        },
        "ValidationErrors": {
          "description": "Gets the list of \"ValidationError\" which were raised while performing an operation.",
          "items": {
            "$ref": "#/definitions/ValidationError"
          },
          "xml": {
            "name": "ValidationError",
            "wrapped": true
          },
          "type": "array"
        },
        "ValidationWarnings": {
          "description": "Gets the list of \"ValidationWarning\" which were raised while performing an operation.",
          "items": {
            "$ref": "#/definitions/ValidationWarning"
          },
          "xml": {
            "name": "ValidationWarning",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "BatchOperationStatus"
      },
      "type": "object"
    },
    "BatchPromoteDemoteRequest": {
      "description": "Represents the request for the promote or demote batch operations.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "DestinationRepositoryId": {
              "description": "Gets or sets the identifier of the parent/child repository where item should be promoted/demoted to.",
              "type": "string"
            },
            "Instruction": {
              "$ref": "#/definitions/OperationInstruction",
              "description": "Gets or sets the instruction to specify how operation will be executed."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchPromoteDemoteRequest"
      },
      "type": "object"
    },
    "BatchPublishRequest": {
      "description": "Represents the request for the publish batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/AbstractBatchPublishRequest"
        },
        {
          "properties": {
            "PublishInstruction": {
              "$ref": "#/definitions/PublishInstruction",
              "description": "Gets or sets the instruction for the publish action."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchPublishRequest"
      },
      "type": "object"
    },
    "BatchReAssignActivityRequest": {
      "description": "Represents the request for the re-assign activity batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "NewAssigneeId": {
              "description": "Gets or sets the identifier of the User or Group to re-assign to.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchReAssignActivityRequest"
      },
      "type": "object"
    },
    "BatchReClassifyRequest": {
      "description": "Represents the request for the re-classify batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "KeywordIdsToAdd": {
              "description": "Gets or sets the collection of Keyword identifiers to add to the item.",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "KeywordIdsToRemove": {
              "description": "Gets or sets the collection of Keyword identifiers to remove from the item.",
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchReClassifyRequest"
      },
      "type": "object"
    },
    "BatchSuspendActivityRequest": {
      "description": "Represents the request for the suspend activity batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "Reason": {
              "description": "Gets or sets the reason of the suspending activity.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchSuspendActivityRequest"
      },
      "type": "object"
    },
    "BatchSwitchUserEnabledStateRequest": {
      "description": "Represents the request for the batch operation that changes the enabled state of users.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "IsEnabled": {
              "description": "Gets or sets a new value for \"User.IsEnabled\" property.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchSwitchUserEnabledStateRequest"
      },
      "type": "object"
    },
    "BatchUndoCheckOutRequest": {
      "description": "Represents the request for the undo check-out batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/BatchOperationRequest"
        },
        {
          "properties": {
            "RemovePermanentLock": {
              "description": "A permanent lock is set when the user performs an explicit checkout action in the UI.\r\nIt is removed when the user performs an explicit undo checkout action in the UI.\r\nAvailable values:\r\n* True – removes the permanent lock after the check-in action.\r\n* False – does not remove the lock after the check-in action, such as when the item is still being edited.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchUndoCheckOutRequest"
      },
      "type": "object"
    },
    "BatchUnPublishRequest": {
      "description": "Represents the request for the un-publish batch operation.",
      "allOf": [
        {
          "$ref": "#/definitions/AbstractBatchPublishRequest"
        },
        {
          "properties": {
            "UnPublishInstruction": {
              "$ref": "#/definitions/UnPublishInstruction",
              "description": "Gets or sets the instruction for the un-publish action."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BatchUnPublishRequest"
      },
      "type": "object"
    },
    "BinaryContent": {
      "description": "Represents the binary content of a Multimedia Component or a Template.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'BinaryContent' (or a class name that inherits from this class)",
          "example": "BinaryContent",
          "type": "string"
        },
        "BlobId": {
          "description": "Gets the ID of the binary in the permanent content storage.",
          "type": "string"
        },
        "ExternalBinaryUri": {
          "description": "Gets or sets the URI for the external binary content.",
          "type": "string"
        },
        "Filename": {
          "description": "Gets or sets the file name of the binary content.\n            For backward compatibility purposes, it is allowed to set this property to the external binary URI.\n            This will effectively set the \"ExternalBinaryUri\" property instead.\n            ",
          "type": "string"
        },
        "IsExternal": {
          "description": "Gets or sets whether the binary content is stored internally or externally.\n            If the binary content is stored externally, the \"Filename\" property\n            should contain the URL where the binary content can be retrieved.\n            ",
          "type": "boolean"
        },
        "MimeType": {
          "description": "Gets a value indicating the MimeType of the binary content.\n            Getting the MimeType from the MultiMediaType property requires an extra call.\n            ",
          "type": "string"
        },
        "MultimediaType": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Multimedia Type of the binary content.\n            This only applies to the binary content of Multimedia Components;\n            for templates with binary content, this property is always null.\n            "
        },
        "Size": {
          "description": "Gets the size of the binary data.",
          "type": "integer",
          "format": "int64"
        },
        "UploadFromFile": {
          "description": "Gets or sets the uploaded filename of the binary content.\n            If the binary content is stored externally, it should not have value.\n            If the binary content is stored internally, it should contain filepath.\n            ",
          "type": "string"
        },
        "Url": {
          "description": "Url that can be used to navigate and get a binary.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "BinaryContent"
      },
      "type": "object"
    },
    "BinaryUploadResponse": {
      "description": "Represents information about uploaded file.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'BinaryUploadResponse' (or a class name that inherits from this class)",
          "example": "BinaryUploadResponse",
          "type": "string"
        },
        "FileName": {
          "description": "Uploaded file name.",
          "type": "string"
        },
        "Links": {
          "description": "Hateoas links to uploaded file.",
          "items": {
            "$ref": "#/definitions/HateoasLink"
          },
          "xml": {
            "name": "HateoasLink",
            "wrapped": true
          },
          "type": "array"
        },
        "MultimediaType": {
          "$ref": "#/definitions/Link",
          "description": "Link to MultimediaType for uploaded file."
        },
        "TempFileId": {
          "description": "The identifier of uploaded file.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "BinaryUploadResponse"
      },
      "type": "object"
    },
    "BlueprintHierarchyResponse": {
      "description": "Response model for Blueprint Hierarchy request",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'BlueprintHierarchyResponse' (or a class name that inherits from this class)",
          "example": "BlueprintHierarchyResponse",
          "type": "string"
        },
        "Items": {
          "description": "Collection of Items in the blueprint hierarchy",
          "items": {
            "$ref": "#/definitions/BlueprintNode"
          },
          "xml": {
            "name": "BlueprintNode",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "BlueprintHierarchyResponse"
      },
      "type": "object"
    },
    "BlueprintInfo": {
      "description": "BluePrint info for Repository-Local Objects.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'BlueprintInfo' (or a class name that inherits from this class)",
          "example": "BlueprintInfo",
          "type": "string"
        },
        "IsLocalized": {
          "description": "Gets or sets whether the item is localized in the current context Publication.",
          "type": "boolean"
        },
        "IsShared": {
          "description": "Gets or sets whether the item is shared in the current context Publication.",
          "type": "boolean"
        },
        "OwningRepository": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Repository in which the item physically resides.\n            For shared items, the \"context Repository\" and \"owning Repository\" will be different.\n            "
        },
        "PrimaryBluePrintParentItem": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the link to a master item (an item in the top of the BluePrint chain, where it was originally created).\n             For shared and localized items returns an originally item on the top of the BluePrint tree.\n            \n            For local items returns an item itself.\n            "
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "BlueprintInfo"
      },
      "type": "object"
    },
    "BlueprintNode": {
      "description": "Represent blueprint node when retrieving the hierarchy.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'BlueprintNode' (or a class name that inherits from this class)",
          "example": "BlueprintNode",
          "type": "string"
        },
        "Children": {
          "description": "Links to immediate child context repositories.",
          "items": {
            "$ref": "#/definitions/Link"
          },
          "xml": {
            "name": "Link",
            "wrapped": true
          },
          "type": "array"
        },
        "ContextRepositoryId": {
          "description": "The Id of the context repository.",
          "type": "string"
        },
        "Item": {
          "$ref": "#/definitions/IdentifiableObject",
          "description": "The item in context repository."
        },
        "Parents": {
          "description": "Links to immediate parent context repositories.",
          "items": {
            "$ref": "#/definitions/Link"
          },
          "xml": {
            "name": "Link",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "BlueprintNode"
      },
      "type": "object"
    },
    "Bundle": {
      "description": "Represents a Bundle which is used to group Repository Local Objects for Release Management purposes.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/VirtualFolder"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Items": {
              "description": "Gets or sets the collection of links to items in the Bundle.",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Bundle"
      },
      "type": "object"
    },
    "BusinessProcessType": {
      "description": "Represents a Business Process Type: defines a type of (publishing) Business Process, including a set of publishing Target Types and workflows.\n            It is a root organizational item. Title must be unique across its blueprint hierarchy; like all other root organizational items.\n            \n            Metadata Schema, Bundle Schemas and Target Types of a Business Process Type are not localizable.\n            AccessControlListData and IsPermissionsInheritanceRoot cannot be set for a Business Process Type.\n            GetList and GetListXml return the associated \"BundleSchemas\".\n            \n            When reading a Business Process Type the associated Target Types are returned without its Access Control List, if that information is needed,\n            then, the Business Process Type should be loaded with LoadFlags.Expanded.\n            ",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/OrganizationalItem"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "BundleSchemas": {
              "description": "Gets or sets the bundle schemas which are applicable for this Business Process Type.\n            This property is not localizable.\n            \n            The collection of Bundle Schemas is used to determine the workflow that will be used in the Publication.\n            \n            This property can only be set by the user with Business Process Type Management rights.\n            ",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "CdTopologyTypeId": {
              "description": "Gets or sets the topology type id of the Business Process Type.\n            This property can not be null or empty.\n            \n            CdTopologyType with specified \"CdTopologyTypeId\" must exist in the associated Topology Manager. \n            The endpoint address of the associated Topology Manager is stored in the environment variable with name \"TRIDION_TTM_SERVICEURL\".\n            \n            This property is not localizable.\n            \n            The value of this property is the id of the topology type from the associated Tridion Topology Manager.\n            ",
              "type": "string"
            },
            "Description": {
              "description": "Gets or sets the description of the Business Process Type.\n            The description can be used for informational purposes.\n            ",
              "type": "string"
            },
            "TargetTypes": {
              "description": "Gets or sets the associated Target Types of this Business Process Type.\n            This property is not localizable.\n            \n            The collection of the Target Types is used to determine the Content Delivery Environment using Topology Manager.\n            \n            In order to change the Access Control List additional Permission Management rights are required in the context publication.\n            ",
              "items": {
                "$ref": "#/definitions/TargetType"
              },
              "xml": {
                "name": "TargetType",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "BusinessProcessType"
      },
      "type": "object"
    },
    "Capabilities": {
      "description": "Represents information about available capabilities and features",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'Capabilities' (or a class name that inherits from this class)",
          "example": "Capabilities",
          "type": "string"
        },
        "EnabledFeatures": {
          "description": "Symbolic names of enabled features.\n            Features can be added, enabled or disabled in \"tridion.featureToggling\" section in Tridion.ContentManager.config file.\n            ",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "Links": {
          "description": "API links.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "Capabilities"
      },
      "type": "object"
    },
    "Category": {
      "description": "Represents the data of a Category of Keywords.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/OrganizationalItem"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "AllowedParentCategories": {
              "description": "Get access to the allowed parent Categories.\n            Keywords from this Category are allowed to have parent Keywords from the allowed parent categories.\n            Current implementation allows only one parent category. By default when no parent category is set the category itself is added as allowed parent category. \n            Reassign with a new collection when changing or setting a new parent.\n            To remove parent categories reassign with a new collection which contains the Category itself.\n            ",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "Description": {
              "description": "Gets or sets the description of the Category.\n            The description can be used for informational purposes.\n            ",
              "type": "string"
            },
            "IsTaxonomyRoot": {
              "description": "Gets whether the Category is a root Category (i.e. it has no allowed parent Categories other than itself).",
              "type": "boolean"
            },
            "KeywordMetadataSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the metadata Schema for the Keywords in this Category."
            },
            "UseForIdentification": {
              "description": "Gets or sets indicating whether the Category can be used for Taxonomy identification.\n            Specifies whether to enforce title uniqueness in the whole Blueprint structure on components that are classified with keywords from this Category.\n            For example, Components can be classified by a Keyword if there is no other Component with the same title classified with this Keyword.\n            Can be configurable only on root Categories.\n            Title uniqueness check is performed on a Component with fields that contains a Keyword from the Category with UseForIdentification set to true.\n            ",
              "type": "boolean"
            },
            "UseForNavigation": {
              "description": "Gets or sets a value indicating whether the taxonomy in this Category can be published.",
              "type": "boolean"
            },
            "XmlName": {
              "description": "Gets or sets the XML (type) name of the Category.\n            Each publication contains a \"Categories XSD\" in which all Categories and their Keywords\n            are defined. In this Categories XSD, each Category is represented as a complex type with this name.\n            The XML name is subject to the restrictions specified for type names in XML Schemas:\n            The first character must be a letter or an underscore.Following characters may be letters, digits, underscores, dashes or dots.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Category"
      },
      "type": "object"
    },
    "CheckInRequest": {
      "description": "Removes permanent lock and creates a new version of the item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'CheckInRequest' (or a class name that inherits from this class)",
          "example": "CheckInRequest",
          "type": "string"
        },
        "RemovePermanentLock": {
          "description": "A permanent lock is set when the user performs an explicit checkout action in the UI.\r\nIt is removed when the user performs an explicit checkin action in the UI.\r\nAvailable values:\r\n* True – removes the permanent lock after the check-in action.\r\n* False – does not remove the lock after the check-in action, such as when the item is still being edited.",
          "type": "boolean"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "CheckInRequest"
      },
      "type": "object"
    },
    "CheckOutRequest": {
      "description": "Checks out versioned item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'CheckOutRequest' (or a class name that inherits from this class)",
          "example": "CheckOutRequest",
          "type": "string"
        },
        "SetPermanentLock": {
          "description": "A permanent lock is set when the user performs an explicit checkout action in the UI and removed when the user performs an explicit checkin action in the UI.\r\nCheckout or checkin actions without permanent lock effectively do nothing if item was checked out with permanent lock.\r\nAvailable values:\r\n* True – sets a permanent lock that will be removed only when the user performs an explicit check-in action.\r\n* False – sets no lock, which means the check-in and check-out actions effectively do nothing.",
          "type": "boolean"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "CheckOutRequest"
      },
      "type": "object"
    },
    "ClaimMapping": {
      "description": "Abstract base class representing the data of a mapping between a Claim and a TCM Group.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ClaimMapping' (or a class name that inherits from this class)",
          "example": "<Set to a class name inheriting from 'ClaimMapping'>",
          "type": "string"
        },
        "Description": {
          "description": "Gets or sets the description of the mapping.",
          "type": "string"
        },
        "Group": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Group for which the mapping exists."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ClaimMapping"
      },
      "type": "object"
    },
    "ClassificationDetail": {
      "description": "Classsification details for a particular field.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ClassificationDetail' (or a class name that inherits from this class)",
          "example": "ClassificationDetail",
          "type": "string"
        },
        "Category": {
          "$ref": "#/definitions/Link",
          "description": "Link to the category that was used for Classification."
        },
        "FieldName": {
          "description": "Name of the field.",
          "type": "string"
        },
        "FieldPath": {
          "description": "Path to the field in the data.",
          "type": "string"
        },
        "IsMetadataField": {
          "description": "Indicates whether the field is a \"metadata\" field.",
          "type": "boolean"
        },
        "Keywords": {
          "description": "The keywords that apply to the field.",
          "items": {
            "$ref": "#/definitions/Link"
          },
          "xml": {
            "name": "Link",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ClassificationDetail"
      },
      "type": "object"
    },
    "ClassificationInfo": {
      "description": "Contains classification information for an Item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ClassificationInfo' (or a class name that inherits from this class)",
          "example": "ClassificationInfo",
          "type": "string"
        },
        "Details": {
          "description": "Classification details (per field).",
          "items": {
            "$ref": "#/definitions/ClassificationDetail"
          },
          "xml": {
            "name": "ClassificationDetail",
            "wrapped": true
          },
          "type": "array"
        },
        "Item": {
          "$ref": "#/definitions/RepositoryLocalObject",
          "description": "The item that was Classified."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ClassificationInfo"
      },
      "type": "object"
    },
    "Component": {
      "description": "Represents the data of a Component: a generic holder of content and metadata.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/VersionedItem"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Approval Status of the item."
            },
            "BinaryContent": {
              "$ref": "#/definitions/BinaryContent",
              "description": "Gets or sets access to the Component's binary content.\n            Only Multimedia Components (i.e. Component based on a Multimedia Schema) have binary content.\n            For \"normal\" Components, which have XML content instead, this property is null.\n            "
            },
            "ComponentType": {
              "$ref": "#/definitions/ComponentType",
              "description": "Gets the type of the Component (Normal or Multimedia).\n            This type is derived from the \"Schema\" on which the Component is based.\n            Components with type \"ComponentType.Multimedia\" are often referred to as \"Multimedia Components\".\n            "
            },
            "Content": {
              "$ref": "#/definitions/FieldsValueDictionary",
              "description": "Gets or sets the content of the Component."
            },
            "IsBasedOnMandatorySchema": {
              "description": "Gets whether the Component is based on a Mandatory Schema",
              "type": "boolean"
            },
            "IsBasedOnTridionWebSchema": {
              "description": "Gets whether the Component is based on a Tridion Web Schema",
              "type": "boolean"
            },
            "Schema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Schema for the Component's content and metadata."
            },
            "WorkflowInfo": {
              "$ref": "#/definitions/WorkflowInfo",
              "description": "Sets workflow-related information for the item."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Component"
      },
      "type": "object"
    },
    "ComponentLinkFieldDefinition": {
      "description": "Represents a Component link field definition (in a Schema).",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ItemPublishableFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "AllowedTargetSchemas": {
              "description": "Gets access to the allowed Schemas for the linked Components.\n            An empty list means that the target Schema is not constrained.\n            ",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "AllowMultimediaLinks": {
              "description": "Gets or sets whether links to Multimedia Components are allowed.",
              "type": "boolean"
            },
            "DefaultValue": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Component used as default field's value."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ComponentLinkFieldDefinition"
      },
      "type": "object"
    },
    "ComponentPresentation": {
      "description": "Represents a Component Presentation: essentially a combination of a Component and a Component Template.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ComponentPresentation' (or a class name that inherits from this class)",
          "example": "ComponentPresentation",
          "type": "string"
        },
        "Component": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Component."
        },
        "ComponentTemplate": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Component Template.\n            This property is optional since Tridion Sites 9.5 if data publishing is enabled.\n            "
        },
        "Conditions": {
          "description": "Gets or sets the (Target Group) conditions.\n            If conditions are specified for a Component Presentation, these are published as TCDL code.\n            This TCDL code results in Content Delivery code that only renders the Component Presentation\n            if the user falls in the given Target Groups.\n            ",
          "items": {
            "$ref": "#/definitions/TargetGroupCondition"
          },
          "xml": {
            "name": "TargetGroupCondition",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ComponentPresentation"
      },
      "type": "object"
    },
    "ComponentPresentationConstraint": {
      "description": "Base class for Component Presentation Constraints (specified in a Region Schema).",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ComponentPresentationConstraint' (or a class name that inherits from this class)",
          "example": "ComponentPresentationConstraint",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ComponentPresentationConstraint"
      },
      "type": "object"
    },
    "ComponentTemplate": {
      "description": "Represents a Component Template: a template used to render a Component into a Component Presentation.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Template"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "AllowOnPage": {
              "description": "Gets or sets whether the Component Template may be used on a Page.\n            This setting only applies to Component Templates which render \"dynamic\" Component Presentations.\n            ",
              "type": "boolean"
            },
            "ApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets the approval status of the item.\n            An object representing the approval status of the item or null if the item has not been part of a workflow process.\n            "
            },
            "DynamicTemplate": {
              "description": "Gets or sets the \"dynamic\" part of the Component Template: an XSLT which is executed on the Content Delivery system.\n            Only applicable if the \"OutputFormat\" is set to \"XML Document\".\n            ",
              "type": "string"
            },
            "IsRepositoryPublishable": {
              "description": "Gets or sets whether the Component Template renders \"dynamic\" Component Presentations.\n            A \"dynamic\" Component Presentation is published separately instead of being embedded on a Page.\n            ",
              "type": "boolean"
            },
            "OutputFormat": {
              "description": "Gets or sets the format of the rendered Component Presentation.",
              "type": "string"
            },
            "Priority": {
              "description": "Gets or sets the priority used for resolving Component links.\n            The Priority is used by Content Delivery linking to resolve a Component link:\n            if a Component is published on multiple Pages, then a choice has to be made to which Page\n            the hyperlink should point.\n            This decision is made based on the Priority of the Component Template used\n            to render the Component: the hyperlink will point to the Page containing\n            a Component Presentation with the highest priority.\n            ",
              "type": "integer",
              "format": "int32"
            },
            "RelatedSchemas": {
              "description": "Gets access to the \"related\" Schemas.",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "TrackingCategories": {
              "description": "Gets access to the \"tracking\" Categories.\n            When rendering a Component using the Component Template,\n            code to increment \"tracking keys\" can get generated by the system.\n            Which \"tracking keys\" will get incremented is determined by the Keywords\n            attached to the Component and the Tracking Categories set on the Component Template:\n            each Keyword attached to the Component which is part of one of the Tracking Categories\n            will result in an associated \"tracking key\" increment.\n            ",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "WorkflowInfo": {
              "$ref": "#/definitions/WorkflowInfo",
              "description": "Gets workflow-related information for the item."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ComponentTemplate"
      },
      "type": "object"
    },
    "ComponentType": {
      "description": "\n            Defines the subtype of a Component.\n            \r\n\r\nMembers:\r\n* `Normal` - A normal Component containing XML content.\r\n* `Multimedia` - A Multimedia Component containing binary content.\r\n* `Widget` - A widget Component - a dedicated variant of the normal Component.\r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Normal",
        "Multimedia",
        "Widget",
        "UnknownByClient"
      ]
    },
    "Condition": {
      "description": "Abstract base class for Conditions used in a Target Group definition.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'Condition' (or a class name that inherits from this class)",
          "example": "<Set to a class name inheriting from 'Condition'>",
          "type": "string"
        },
        "Negate": {
          "description": "Gets or sets whether the condition should be negated.\n            If a condition is negated, it means that it matches if the condition is NOT met.\n            For example, a negated TargetGroupCondition matched on people that are NOT in the Target Group.\n            ",
          "type": "boolean"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "Condition"
      },
      "type": "object"
    },
    "ConditionOperator": {
      "description": "\n            Defines an operator used for comparison.\n            \r\n\r\nMembers:\r\n* `Equals` - \n            Compares if a numerical operand is equal to the given condition value.\n            \r\n* `GreaterThan` - \n            Compares if a numerical operand is greater than the given condition value.\n            \r\n* `LessThan` - \n            Compares if a numerical operand is less than the given condition value.\n            \r\n* `NotEqual` - \n            Compares if a numerical operand is not equal to the given condition value.\n            \r\n* `StringEquals` - \n            Compares if a string operand is equal to the given condition value.\n            \r\n* `Contains` - \n            Compares if a string operand contains the given condition value.\n            \r\n* `StartsWith` - \n            Compares if a string operand starts with the given condition value.\n            \r\n* `EndsWith` - \n            Compares if a string operand ends with the given condition value.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Equals",
        "GreaterThan",
        "LessThan",
        "NotEqual",
        "StringEquals",
        "Contains",
        "StartsWith",
        "EndsWith",
        "UnknownByClient"
      ]
    },
    "CustomerCharacteristicCondition": {
      "description": "Represents a condition on a Customer Characteristic (a named value in the user profile).",
      "properties": {
        "Name": {
          "description": "Gets or sets the name of the Customer Characteristic.",
          "type": "string"
        },
        "Negate": {
          "description": "Gets or sets whether the condition should be negated.",
          "type": "boolean"
        },
        "Operator": {
          "$ref": "#/definitions/ConditionOperator",
          "description": "Gets or sets the operator used for comparing the Customer Characteristic's value against the \"Value\" specified in the condition."
        },
        "Value": {
          "description": "Gets or sets the value to compare the Customer Characteristic's value against.\n            The type of comparison depends on the \"Operator\".\n            ",
          "type": "string"
        }
      },
      "xml": {
        "name": "CustomerCharacteristicCondition"
      },
      "type": "object"
    },
    "DateFieldDefinition": {
      "description": "Represents a date field definition (in a Schema).",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ItemPublishableFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "DefaultValue": {
              "description": "Gets or sets the default value.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "IsMaxValueExclusive": {
              "description": "Gets or sets whether the specified maximum value is exclusive or inclusive.",
              "type": "boolean"
            },
            "IsMinValueExclusive": {
              "description": "Gets or sets whether the specified minimum value is exclusive or inclusive.",
              "type": "boolean"
            },
            "List": {
              "$ref": "#/definitions/DateListDefinition",
              "description": "Gets access to the list of allowed values."
            },
            "MaxValue": {
              "description": "Gets or sets the maximum value constraint.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "MinValue": {
              "description": "Gets or sets the minimum value constraint.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "Pattern": {
              "description": "Gets or sets a regular expression pattern to constrain the value.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "DateFieldDefinition"
      },
      "type": "object"
    },
    "DateListDefinition": {
      "description": "Provides information about whether/how to present a list of allowed date field values.",
      "allOf": [
        {
          "$ref": "#/definitions/ListDefinition"
        },
        {
          "properties": {
            "Entries": {
              "description": "Gets access to the allowed values.",
              "items": {
                "type": "string",
                "format": "date-time"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "DateListDefinition"
      },
      "type": "object"
    },
    "DecisionActivityFinishRequest": {
      "description": "Represents the data required for finishing a decision Activity.",
      "allOf": [
        {
          "$ref": "#/definitions/ActivityFinishRequest"
        },
        {
          "properties": {
            "NextActivity": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets which Activity Definition should be used for the next Activity."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "DecisionActivityFinishRequest"
      },
      "type": "object"
    },
    "DeleteTaxonomyNodeMode": {
      "description": "\n            Specifies what will happen to the child nodes of a Taxonomy node after that node's deletion.\n            \r\n\r\nMembers:\r\n* `DeleteBranch` - \n            Specifies that the entire branch of descendant nodes will be deleted, excluding nodes in child Publications.\n            \r\n* `DeleteBranchIncludeChildPublications` - \n            Specifies that the entire branch of descendants will be deleted, including nodes in child Publications.\n            \r\n* `RemoveParentFromChildren` - \n            Specifies that the deleted node will be removed from the children's parents.\n            Children will become root if they have no other parents.\n            If the children have other parents, those parents are preserved.\n            \r\n* `AssignChildrenToGrandparents` - \n            Specifies that the parents of the deleted node adopt the deleted node's children.\n            If the children have other parents, those parents are preserved.\n            \r\n",
      "type": "string",
      "enum": [
        "DeleteBranch",
        "DeleteBranchIncludeChildPublications",
        "RemoveParentFromChildren",
        "AssignChildrenToGrandparents"
      ]
    },
    "DeployerAction": {
      "description": "\n            Represents the action the deployer needs to take.\n            \r\n\r\nMembers:\r\n* `Commit` - \n            The deployer should commit the transport package.\n            \r\n* `Wait` - \n            The deployer should wait to commit the transport package.\n            \r\n* `Abort` - \n            The deployer should abort the transport package.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Commit",
        "Wait",
        "Abort",
        "UnknownByClient"
      ]
    },
    "DirectoryGroupMapping": {
      "description": "Represents the data of a mapping between a Directory Service Group or Subtree and a TCM Group.",
      "properties": {
        "Description": {
          "description": "Gets or sets the description of the mapping.",
          "type": "string"
        },
        "DirectoryServiceName": {
          "description": "Gets or sets the Directory Service name to match on.",
          "type": "string"
        },
        "Group": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Group for which the mapping exists."
        },
        "SearchDN": {
          "description": "Gets or sets the Distinguished Name (DN) of the Group or Subtree to match on.",
          "type": "string"
        },
        "SearchType": {
          "$ref": "#/definitions/DirectorySearchType",
          "description": "Gets or sets the search type: either Subtree or Group."
        }
      },
      "xml": {
        "name": "DirectoryGroupMapping"
      },
      "type": "object"
    },
    "DirectorySearchType": {
      "description": "\n            Search types for the Directory Group Mapping.\n            \r\n\r\nMembers:\r\n* `Subtree` - \n            Search in the given subtree.\n            \r\n* `Group` - \n            Search in the given group.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Subtree",
        "Group",
        "UnknownByClient"
      ]
    },
    "DynamicVersionInfo": {
      "description": "Represents information about the dynamic version of a Versioned Item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'DynamicVersionInfo' (or a class name that inherits from this class)",
          "example": "DynamicVersionInfo",
          "type": "string"
        },
        "Revision": {
          "description": "Gets or sets the last revision counter.",
          "type": "integer",
          "format": "int32"
        },
        "RevisionDate": {
          "description": "Gets or sets the date/time at which the item was last modified (saved).",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "Revisor": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets link to user who did last revision (last save action)."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "DynamicVersionInfo"
      },
      "type": "object"
    },
    "EmbeddedRegion": {
      "description": "Represents the data object of an Embedded Region.",
      "allOf": [
        {
          "$ref": "#/definitions/Region"
        },
        {
          "properties": {
            "ComponentPresentations": {
              "description": "Gets or sets the collection of Component Presentations.",
              "items": {
                "$ref": "#/definitions/ComponentPresentation"
              },
              "xml": {
                "name": "ComponentPresentation",
                "wrapped": true
              },
              "type": "array"
            },
            "Metadata": {
              "$ref": "#/definitions/FieldsValueDictionary",
              "description": "Gets or sets the Metadata."
            },
            "Regions": {
              "description": "Gets or sets the collection of nested Regions.\n            The collection can be modified according to the following rules.\n            If the \"RegionSchema\" is set, the structure of the regions must adhere to the definition specified by that schema.\n            If the schema is not set, there are no restrictions and the regions can be added or changed in any fashion.\n            ",
              "items": {
                "$ref": "#/definitions/Region"
              },
              "xml": {
                "name": "Region",
                "wrapped": true
              },
              "type": "array"
            },
            "RegionSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Region Schema."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "EmbeddedRegion"
      },
      "type": "object"
    },
    "EmbeddedSchemaFieldDefinition": {
      "description": "Represents an embedded schema field definition (in a Schema).",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ItemFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "EmbeddedFields": {
              "$ref": "#/definitions/FieldsDefinitionDictionary",
              "description": "Gets the embedded field definitions."
            },
            "EmbeddedSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Link to SchemaData that defines the embedded fields."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "EmbeddedSchemaFieldDefinition"
      },
      "type": "object"
    },
    "ErrorDetails": {
      "description": "Provides details for errors occuring while sending or retrieving {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob}s.",
      "properties": {
        "ExceptionDetails": {
          "$ref": "#/definitions/ExceptionDetails",
          "description": "Gets the exception details for the error."
        },
        "JobId": {
          "description": "Gets the Id of the Translation Job, or 0 if the error is not associated with a specific job.",
          "type": "integer",
          "format": "int32"
        },
        "JobTitle": {
          "description": "Gets the title of the Translation Job, or null if the error is not associated with a specific job.",
          "type": "string"
        },
        "Severity": {
          "$ref": "#/definitions/ErrorSeverity",
          "description": "Gets the severity of the error."
        },
        "SourceLanguageId": {
          "description": "Gets the id of the source language, or null if the error is not associated with a specific source language.",
          "type": "string"
        },
        "TargetLanguageId": {
          "description": "Gets the id of the target language, or null if the error is not associated with a specific target language.",
          "type": "string"
        },
        "TcmItemCurrentTargetTitle": {
          "description": "Gets the current title of the target Item, or null of the error is not associated with a specific target Item.",
          "type": "string"
        },
        "TcmItemNewTargetTitle": {
          "description": "Gets the title the Item as it is retrieved by from the translation management system, or null if the error is not associated with a\r\nspecific target Item.",
          "type": "string"
        },
        "TcmItemSourceTitle": {
          "description": "Gets the title of the source Item, or null if the error is not associated with a specific source Item.",
          "type": "string"
        },
        "TcmItemSourceUri": {
          "description": "Gets the TCM URI of the source Item, or tcm:0-0-0 if the item is not associated with a specific source item.",
          "type": "string"
        },
        "TcmItemTargetUri": {
          "description": "Gets the TCM URI of the target Item, or tcm:0-0-0 if the item is not associated with a specific source item.",
          "type": "string"
        },
        "TmsItemId": {
          "description": "Gets the id of the item in TMS, or null if the error is not associated with a specific TMS Job.",
          "type": "string"
        },
        "TmsJobId": {
          "description": "Gets the id of the TMS Translation Job, or null if the error is not associated with a specific TMS job.",
          "type": "string"
        }
      },
      "xml": {
        "name": "ErrorDetails"
      },
      "type": "object"
    },
    "ErrorSeverity": {
      "description": "\n            Indicates the severity of an error sending or retrieving a Translation Job.\n            \r\n\r\nMembers:\r\n* `Info` - \n            Information.\n            \r\n* `Warning` - \n            Errors that can impact usability but does not impact sending or retrieving Items (for example old jobs not being deleted)\n            \r\n* `Error` - \n            Errors stopping Items from being send to translation or retrieved from translation.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Info",
        "Warning",
        "Error",
        "UnknownByClient"
      ]
    },
    "ErrorType": {
      "description": "\n            Enum of load error types.\n            \r\n\r\nMembers:\r\n* `None` - \n            No error.\n            \r\n* `Error` - \n            General error.\n            \r\n* `SecurityError` - \n            User has no permissions to read an item.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "None",
        "Error",
        "SecurityError",
        "UnknownByClient"
      ]
    },
    "ExceptionDetails": {
      "description": "Provides details about the <seealso cref=\"T:System.Exception\" /> that caused the error reported in the <seealso cref=\"T:Tridion.TranslationManager.OpenApi.V2.Dto.ErrorDetails\" />",
      "properties": {
        "ExceptionTypeName": {
          "description": "Gets the type name of original exception.",
          "type": "string"
        },
        "InnerException": {
          "$ref": "#/definitions/ExceptionDetails",
          "description": "Gets the {Tridion.TranslationManager.OpenApi.V2.Dto.ExceptionDetails} for {System.Exception.InnerException}; or null if there is no inner exception."
        },
        "LocalizedMessages": {
          "description": "Gets a {System.Collections.Generic.IDictionary`2} containing the <seealso cref=\"P:Tridion.TranslationManager.OpenApi.V2.Dto.ExceptionDetails.Message\" /> for each supported <seealso cref=\"T:System.Globalization.CultureInfo\" /> using the {System.Globalization.CultureInfo.Name} as the key.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "Message": {
          "description": "Gets the {System.Exception.Message}.",
          "type": "string"
        },
        "OriginalException": {
          "description": "Gets the original exception.",
          "type": "object"
        },
        "StackTrace": {
          "description": "Gets the {System.Exception.StackTrace}.",
          "type": "string"
        }
      },
      "xml": {
        "name": "ExceptionDetails"
      },
      "type": "object"
    },
    "ExpandableLink": {
      "description": "Represents a link to an Identifiable Object which may contain the linked data.",
      "required": [
        "IdRef"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Link"
        },
        {
          "required": [
            "IdRef"
          ],
          "properties": {
            "ExpandedData": {
              "$ref": "#/definitions/IdentifiableObject",
              "description": "Gets the expanded referenced object."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ExpandableLink"
      },
      "type": "object"
    },
    "ExtensionPropertyDictionary": {
      "description": "\n            Represents a collection of Extension Properties.\n            ",
      "additionalProperties": {},
      "type": "object"
    },
    "ExternalCategory": {
      "description": "Represents an External Category (mapped to an external Taxonomy Management System).",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Category"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "DisplayType": {
              "description": "Gets or sets display type of the External Category.",
              "type": "string"
            },
            "StubId": {
              "description": "Gets or sets the Stub Category ID (TCM URI)",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ExternalCategory"
      },
      "type": "object"
    },
    "ExternalComponent": {
      "description": "Represents a External Component: an item provided from external system.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Component"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "DirectLinkToPublished": {
              "description": "Gets or sets a direct link to a published rendition of the item.",
              "type": "string"
            },
            "DisplayType": {
              "description": "Gets or sets display type of external container.",
              "type": "string"
            },
            "ExternalMetadata": {
              "$ref": "#/definitions/FieldsValueDictionary",
              "description": "Gets or sets external metadata.\n            Metadata that item has in external system.\n            "
            },
            "ExternalMetadataSchemaFields": {
              "$ref": "#/definitions/FieldsDefinitionDictionary",
              "description": "Gets or sets external metadata schema fields.\n            Schema for metadata that item has in external system.\n            "
            },
            "StubId": {
              "description": "Gets or sets the Stub Component ID (TCM URI)",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ExternalComponent"
      },
      "type": "object"
    },
    "ExternalContainer": {
      "description": "Represents a External Container: a container provided from external system.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Folder"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "DisplayType": {
              "description": "Gets or sets display type of external container.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ExternalContainer"
      },
      "type": "object"
    },
    "ExternalKeyword": {
      "description": "Represents an External Keyword (mapped to an external Taxonomy Management System).",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Keyword"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "AlternativeLabels": {
              "description": "Gets or sets the alternative labels (synonyms)",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "DisplayType": {
              "description": "Gets or sets display type of the External Keyword.",
              "type": "string"
            },
            "ExternalMetadata": {
              "$ref": "#/definitions/FieldsValueDictionary",
              "description": "Gets or sets external metadata.\n            Metadata that item has in external system.\n            "
            },
            "ExternalMetadataSchemaFields": {
              "$ref": "#/definitions/FieldsDefinitionDictionary",
              "description": "Gets or sets external metadata schema fields.\n            Schema for metadata that item has in external system.\n            "
            },
            "HiddenLabels": {
              "description": "Gets or sets the hidden labels",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "StubId": {
              "description": "Gets or sets the Stub Keyword ID (TCM URI)",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ExternalKeyword"
      },
      "type": "object"
    },
    "ExternalLinkFieldDefinition": {
      "description": "Represents an external link field definition (in a Schema).",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/TextFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "DefaultValue": {
              "description": "Gets or sets the default value.",
              "type": "string"
            },
            "UseForAutoClassification": {
              "readOnly": true,
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ExternalLinkFieldDefinition"
      },
      "type": "object"
    },
    "ExternalVersionInfo": {
      "description": "Version info for External Components.",
      "allOf": [
        {
          "$ref": "#/definitions/FullVersionInfo"
        },
        {
          "properties": {
            "ExternalCreator": {
              "description": "Gets or sets the name of the user who created the item in the external system.",
              "type": "string"
            },
            "ExternalRevisor": {
              "description": "Gets or sets the name of the user who last modified the item in the external system.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ExternalVersionInfo"
      },
      "type": "object"
    },
    "FavoriteLink": {
      "description": "Represents the link to a favorite item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'FavoriteLink' (or a class name that inherits from this class)",
          "example": "FavoriteLink",
          "type": "string"
        },
        "IdRef": {
          "description": "Gets the TCM URI of the referenced item.",
          "type": "string"
        },
        "Title": {
          "description": "Gets the title of the referenced item.",
          "type": "string"
        },
        "Path": {
          "description": "Gets the path to the container where the referenced item is located.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "FavoriteLink"
      },
      "type": "object"
    },
    "FieldsDefinitionDictionary": {
      "description": "\n            Represents the set of Item Field Definitions grouped by the field definition name.\n            ",
      "additionalProperties": {
        "$ref": "#/definitions/ItemFieldDefinition"
      },
      "type": "object"
    },
    "FieldsValueDictionary": {
      "description": "\n            Represents the set of field values grouped by the field name.\n            ",
      "additionalProperties": {},
      "type": "object"
    },
    "FinishActivityResult": {
      "description": "Container of the next ActivityInstance in the workflow",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'FinishActivityResult' (or a class name that inherits from this class)",
          "example": "FinishActivityResult",
          "type": "string"
        },
        "NextActivityInstance": {
          "$ref": "#/definitions/ActivityInstance",
          "description": "The next activity in the workflow"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "FinishActivityResult"
      },
      "type": "object"
    },
    "Folder": {
      "description": "Represents the data of a Folder: an item used to organize the items in a Repository.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/OrganizationalItem"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "IsActive": {
              "description": "Gets or sets the active state of the Folder. \r\nIf the active state is set to false, the Folder and the items inside it cannot be published.\n                Even if the active state is set to true, it is not enough for a Folder to be publishable;\n                all of its ancestor Folders must also have the active state set to true for that to succeed.\n                Default value is true.",
              "type": "boolean"
            },
            "IsActiveResolvedValue": {
              "description": "Gets a value indicating whether this Folder and its items can be published.\r\nReturns true if the active state of this Folder and all of its ancestors is true.\r\nReturns false if the active state of this Folder or any of its ancestors is false.\r\nThe individual active state of each Folder is represented by the property \"IsActive\".",
              "type": "boolean"
            },
            "IsLinkedSchemaMandatory": {
              "description": "Gets or sets whether the linked Schema is mandatory.\n            If the linked Schema is not mandatory, it merely acts as a default Schema for new Components created in the Folder.\n            If the linked Schema is mandatory, Components cannot be saved in the Folder unless they are based on this Schema.\n            It is not possible to make the linked Schema mandatory if there are Components in the Folder based on another Schema.\n            ",
              "type": "boolean"
            },
            "LinkedSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the linked Schema of the Folder.\n            The linked Schema acts as default Schema for Components created in the Folder.\n            It can also acts as mandatory Schema, if \"IsLinkedSchemaMandatory\" is set to true.\n            In the latter case, Components cannot be saved in the Folder unless they are based on this Schema.\n            "
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Folder"
      },
      "type": "object"
    },
    "FormattingFeatures": {
      "description": "Represents the formatting options.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'FormattingFeatures' (or a class name that inherits from this class)",
          "example": "FormattingFeatures",
          "type": "string"
        },
        "AccessibilityLevel": {
          "description": "Gets or sets the Web Content Accessibility Guidelines (WCAG) setting that you choose, shows or hides buttons for the various WCAG levels.",
          "type": "integer",
          "format": "int32"
        },
        "DisallowedActions": {
          "description": "Gets or sets the formatting actions that a user can not perform on text within the format area.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "DisallowedStyles": {
          "description": "Gets or sets the styles that a user can not apply to text within a format area.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "DocType": {
          "description": "Gets or sets the rules that are applied to this format area when Components based on this Schema are validated.\r\nYou have the option of selecting \"Strict\" or \"Transitional\" document types.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "FormattingFeatures"
      },
      "type": "object"
    },
    "FrontendAddon": {
      "description": "Represents an Experience Space addon",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'FrontendAddon' (or a class name that inherits from this class)",
          "example": "FrontendAddon",
          "type": "string"
        },
        "Id": {
          "description": "Unique name of the addon",
          "type": "string"
        },
        "Configuration": {
          "description": "Configuration of the addon",
          "type": "object"
        },
        "Extensions": {
          "description": "Extensions contained in the addon",
          "items": {
            "$ref": "#/definitions/FrontendExtension"
          },
          "xml": {
            "name": "FrontendExtension",
            "wrapped": true
          },
          "type": "array"
        },
        "Hash": {
          "description": "Calculated hash of the addon",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "FrontendAddon"
      },
      "type": "object"
    },
    "FrontendExtension": {
      "description": "Represents an Experience Space extension",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'FrontendExtension' (or a class name that inherits from this class)",
          "example": "FrontendExtension",
          "type": "string"
        },
        "Contents": {
          "description": "Contents of an extension",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "MainFile": {
          "description": "Path to the entry point script file",
          "type": "string"
        },
        "Name": {
          "description": "Name of an extension",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "FrontendExtension"
      },
      "type": "object"
    },
    "FullVersionInfo": {
      "description": "Full version info for Versioned Items.",
      "allOf": [
        {
          "$ref": "#/definitions/LimitedVersionInfo"
        },
        {
          "properties": {
            "CheckOutDate": {
              "description": "Gets or sets the date/time at which the item was checked out.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "CheckOutUser": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the User who checked out the item."
            },
            "IsNew": {
              "description": "Gets or sets the value indicating whether the item is \"new\" (not checked in yet).",
              "type": "boolean"
            },
            "LastVersion": {
              "description": "Gets or sets the last version number of this item.",
              "type": "integer",
              "format": "int32"
            },
            "LockType": {
              "description": "Gets or sets the type of lock on the item (if any).",
              "items": {
                "$ref": "#/definitions/LockType"
              },
              "xml": {
                "name": "LockType",
                "wrapped": true
              },
              "type": "array"
            },
            "Revision": {
              "description": "Gets or sets the revision number of this item.",
              "type": "integer",
              "format": "int32"
            },
            "Revisor": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the User who last modified this item."
            },
            "SystemComment": {
              "description": "Gets the system comment.",
              "type": "string"
            },
            "UserComment": {
              "description": "Gets the comment set by the user during check-in of this item.",
              "type": "string"
            },
            "Version": {
              "description": "Gets or sets the version number of this item.",
              "type": "integer",
              "format": "int32"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "FullVersionInfo"
      },
      "type": "object"
    },
    "Group": {
      "description": "Represents a data of Group of Users.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Trustee"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ClaimMappings": {
              "description": "Gets or sets access to the Group's Claim Mappings.\n            A specific kind of Claim Mapping is a Directory Group Mapping, \n            which is used to map the group to a Group or Subtree in a Directory Service.\n            ",
              "items": {
                "$ref": "#/definitions/ClaimMapping"
              },
              "xml": {
                "name": "ClaimMapping",
                "wrapped": true
              },
              "type": "array"
            },
            "DefaultGroupId": {
              "description": "Gets the Default Group Id.\n            Determines the default Group id for current Group.\n            ",
              "type": "integer",
              "format": "int32"
            },
            "InheritedSystemPrivileges": {
              "$ref": "#/definitions/SystemPrivilegesDictionary",
              "description": "Gets a dictionary containing \"SystemPrivilege\" and link \"Group\" associations."
            },
            "Scope": {
              "description": "Gets or sets access to the Group's scope (also known as \"usage constraints\"): the Repositories in which the Group can be used.",
              "items": {
                "$ref": "#/definitions/LinkWithIsEditable"
              },
              "xml": {
                "name": "LinkWithIsEditable",
                "wrapped": true
              },
              "type": "array"
            },
            "SystemPrivileges": {
              "description": "Gets or sets a collection of \"SystemPrivilege\" assigned for this Group.",
              "items": {
                "$ref": "#/definitions/SystemPrivilege"
              },
              "xml": {
                "name": "SystemPrivilege",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Group"
      },
      "type": "object"
    },
    "GroupMembership": {
      "description": "Contains the scope of a Group.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'GroupMembership' (or a class name that inherits from this class)",
          "example": "GroupMembership",
          "type": "string"
        },
        "Group": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Group."
        },
        "Scope": {
          "description": "Gets or sets the scope for a Group.",
          "items": {
            "$ref": "#/definitions/LinkWithIsEditable"
          },
          "xml": {
            "name": "LinkWithIsEditable",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "GroupMembership"
      },
      "type": "object"
    },
    "HateoasLink": {
      "description": "Represents the hateoas link.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'HateoasLink' (or a class name that inherits from this class)",
          "example": "HateoasLink",
          "type": "string"
        },
        "Href": {
          "description": "Gets the target resource URI.",
          "type": "string"
        },
        "Rel": {
          "description": "Gets the link relation type, describes how the current context is related to the target resource.",
          "type": "string"
        },
        "Type": {
          "description": "Gets the expected resource media type.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "HateoasLink"
      },
      "type": "object"
    },
    "IdentifiableObject": {
      "description": "Abstract base class for all objects that can be identified using a \"TCM URI\"&gt;.",
      "required": [
        "Id"
      ],
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'IdentifiableObject' (or a class name that inherits from this class)",
          "example": "<Set to a class name inheriting from 'IdentifiableObject'>",
          "type": "string"
        },
        "Id": {
          "description": "Gets the identifier (TCM URI) of the object.",
          "type": "string"
        },
        "Title": {
          "description": "Gets or sets the title (display name) of the object.",
          "type": "string"
        },
        "ApplicableActions": {
          "description": "Gets information about the applicable actions which can be performed on the object in its current state.",
          "items": {
            "$ref": "#/definitions/HateoasLink"
          },
          "xml": {
            "name": "HateoasLink",
            "wrapped": true
          },
          "type": "array"
        },
        "ExtensionProperties": {
          "$ref": "#/definitions/ExtensionPropertyDictionary",
          "description": "Gets the extension properties dictionary which may be used by extensions.Key must comply with XML NCName datatype.This value is not persisted by Content Manager Kernel."
        },
        "IsEditable": {
          "description": "Gets a value indicating whether the object is editable.",
          "type": "boolean"
        },
        "ListLinks": {
          "description": "Gets or sets the collection of the hateoas links.",
          "items": {
            "$ref": "#/definitions/HateoasLink"
          },
          "xml": {
            "name": "HateoasLink",
            "wrapped": true
          },
          "type": "array"
        },
        "LoadInfo": {
          "$ref": "#/definitions/LoadInfo",
          "description": "Gets the information about the error that was thrown while loading an item."
        },
        "SecurityDescriptor": {
          "$ref": "#/definitions/SecurityDescriptor",
          "description": "Gets or sets the Security Descriptor which specifies the Rights and Permissions that the current user has on this item.\r\nA SecurityDescriptor is specific to a user and a context (IdentifiableObject)."
        },
        "VersionInfo": {
          "$ref": "#/definitions/BasicVersionInfo",
          "description": "Gets the version information of the object.\n            Should be casted into \"LimitedVersionInfo\" in case of the object type is \"Repository\" or \"RepositoryLocalObject\" or \n            derived classes and into \"FullVersionInfo\" in case of the object type is \"VersionedItem\" or derived from it classes.\n            "
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "IdentifiableObject"
      },
      "type": "object"
    },
    "IdentifiableObjectDictionary": {
      "description": "\n            Represents the set of Identifiable Objects grouped by the Identifiable Object Id.\n            ",
      "additionalProperties": {
        "$ref": "#/definitions/IdentifiableObject"
      },
      "type": "object"
    },
    "IdentityProviderGroupMapping": {
      "description": "Represents the data of a mapping from an Identity Provider Group to a TCM Group.",
      "properties": {
        "Description": {
          "description": "Gets or sets the description of the mapping.",
          "type": "string"
        },
        "Group": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Group for which the mapping exists."
        },
        "IdentityProviderName": {
          "description": "Gets or sets the name of the Identity Provider to match on.",
          "type": "string"
        }
      },
      "xml": {
        "name": "IdentityProviderGroupMapping"
      },
      "type": "object"
    },
    "ItemFieldDefinition": {
      "description": "Abstract base class for Item Field Definitions (specified in a Schema)",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ItemFieldDefinition' (or a class name that inherits from this class)",
          "example": "<Set to a class name inheriting from 'ItemFieldDefinition'>",
          "type": "string"
        },
        "CustomUrl": {
          "description": "Gets or sets the custom URL of the field.",
          "type": "string"
        },
        "Description": {
          "description": "Gets or sets the description/label of the field.",
          "type": "string"
        },
        "ExtensionXml": {
          "description": "Gets or sets the extension XML element which can contain any custom data.",
          "type": "string"
        },
        "MaxOccurs": {
          "description": "Gets or sets the maximum occurrence of the field.\n            The maximum occurrence specifies the maximum number of values that field may have.\n            Typical occurrence values are 1 (single valued field) and -1 (multi valued field).\n            ",
          "type": "integer",
          "format": "int32"
        },
        "MinOccurs": {
          "description": "Gets or sets the minimum occurrence of the field.\n            The minimum occurrence specifies the minimum number of values that the field must have.\n            Typical occurrence values are 0 (optional field) and 1 (required field).\n            ",
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "description": "Gets or sets the XML name of the field.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ItemFieldDefinition"
      },
      "type": "object"
    },
    "ItemPublishableFieldDefinition": {
      "description": "Abstract base class for Item Field Definitions for the field types that can be published.",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ItemFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "IsIndexable": {
              "description": "Gets or sets whether this field can be indexed once published.",
              "type": "boolean"
            },
            "IsPublishable": {
              "description": "Gets or sets whether this field can be published.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ItemPublishableFieldDefinition"
      },
      "type": "object"
    },
    "ItemType": {
      "type": "string",
      "enum": [
        "None",
        "Publication",
        "Folder",
        "StructureGroup",
        "Schema",
        "Component",
        "ComponentTemplate",
        "Page",
        "PageTemplate",
        "TargetGroup",
        "Category",
        "Keyword",
        "TemplateBuildingBlock",
        "BusinessProcessType",
        "VirtualFolder",
        "TargetType",
        "MultimediaType",
        "User",
        "Group",
        "DirectoryService",
        "DirectoryGroupMapping",
        "Batch",
        "PublishTransaction",
        "WorkflowType",
        "ApprovalStatus",
        "ProcessDefinition",
        "ProcessInstance",
        "ProcessHistory",
        "ActivityDefinition",
        "ActivityInstance",
        "ActivityHistory",
        "WorkItem"
      ]
    },
    "Keyword": {
      "description": "Represents the data of a Keyword used to classify items.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/RepositoryLocalObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Description": {
              "description": "Gets or sets a description of the Keyword.",
              "type": "string"
            },
            "IsAbstract": {
              "description": "Gets or sets whether the Keyword is abstract.\n            An abstract Keyword cannot be used to classify items with. It is merely there to act\n            as a parent for other Keywords.\n            This property cannot be changed in a local copy.\n            ",
              "type": "boolean"
            },
            "IsRoot": {
              "description": "Gets whether the Keyword is a root Keyword (i.e. it has no parent Keywords).",
              "type": "boolean"
            },
            "Key": {
              "description": "Gets or sets a custom key for the Keyword.\n            This key can be used to identify a Keyword in custom code; it has no special meaning to the TCM system.\n            Unlike the Keyword's \"IdentifiableObject.Title\", this property cannot be changed in a local copy.\n            ",
              "type": "string"
            },
            "ParentKeywords": {
              "description": "Gets or sets access to the parent Keywords of this Keyword.\n            Parent Keywords are used to form a Taxonomy of Keywords.\n            Typically, a parent Keyword is a broader term/concept.\n            The Parent Keywords must be from one of the allowed parent Categories of this Keyword's Category.\n            ",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "RelatedKeywords": {
              "description": "Gets or sets access to the Keywords related to this Keyword.",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Keyword"
      },
      "type": "object"
    },
    "KeywordFieldDefinition": {
      "description": "Represents a Keyword field definition (in a Schema).",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ItemPublishableFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "AllowAutoClassification": {
              "description": "Specifies whether the field supports automatic classification.",
              "type": "boolean"
            },
            "Category": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Category in which the Keywords must reside."
            },
            "DefaultValue": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the default value."
            },
            "List": {
              "$ref": "#/definitions/ListDefinition",
              "description": "Gets access to the list of allowed values."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "KeywordFieldDefinition"
      },
      "type": "object"
    },
    "KeywordSuggestion": {
      "description": "Represents a keyword suggestion for a given source.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'KeywordSuggestion' (or a class name that inherits from this class)",
          "example": "KeywordSuggestion",
          "type": "string"
        },
        "Frequency": {
          "description": "How often the Keyword appears in the source text.",
          "type": "integer",
          "format": "int32"
        },
        "Keyword": {
          "$ref": "#/definitions/Keyword",
          "description": "The suggested Keyword."
        },
        "Score": {
          "description": "The relevancy score for the suggested Keyword. The higher it is, the more confident the system is that the Keyword is relevant to the content.",
          "type": "number",
          "format": "float"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "KeywordSuggestion"
      },
      "type": "object"
    },
    "KeywordSuggestions": {
      "description": "\n            List of suggested keywords, grouped by the URI of the category that they belong to.\n            ",
      "additionalProperties": {},
      "type": "object"
    },
    "LimitedVersionInfo": {
      "description": "Limited version info for Repository-Local Objects.",
      "allOf": [
        {
          "$ref": "#/definitions/BasicVersionInfo"
        },
        {
          "properties": {
            "Creator": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the User who created the container object."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "LimitedVersionInfo"
      },
      "type": "object"
    },
    "Link": {
      "description": "Base class for links to Identifiable Objects.",
      "required": [
        "IdRef"
      ],
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'Link' (or a class name that inherits from this class)",
          "example": "Link",
          "type": "string"
        },
        "IdRef": {
          "description": "Gets or sets the TCM URI of the referenced object.",
          "type": "string"
        },
        "Title": {
          "description": "Gets or sets the title of the referenced object.\n            The title that is used for informational purposes only.\n            ",
          "type": "string"
        },
        "Description": {
          "description": "Gets or sets the description of the referenced object.",
          "type": "string"
        },
        "TargetStatus": {
          "$ref": "#/definitions/LinkTargetStatus",
          "description": "Link's target status."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "Link"
      },
      "type": "object"
    },
    "LinkDictionary": {
      "description": "\n            Represents the set of links grouped by the link definition.\n            ",
      "additionalProperties": {},
      "type": "object"
    },
    "LinkTargetStatus": {
      "description": "\n            Defines Link's target status\n            \r\n\r\nMembers:\r\n* `NotFound` - \n            Target item not found\n            \r\n* `NotAvailable` - \n            Target provider is not available\n            \r\n* `NoPermission` - \n            Target item is not accessible\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "NotFound",
        "NotAvailable",
        "NoPermission",
        "UnknownByClient"
      ]
    },
    "LinkWithIsEditable": {
      "description": "Represents a link to an Identifiable Object with the option to set if it is allowed to edit the linked Object.",
      "required": [
        "IdRef"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Link"
        },
        {
          "required": [
            "IdRef"
          ],
          "properties": {
            "IsEditable": {
              "description": "Gets or sets whether the referenced object is editable.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "LinkWithIsEditable"
      },
      "type": "object"
    },
    "ListDefinition": {
      "description": "Provides information about how a list of values should be represented to the user.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ListDefinition' (or a class name that inherits from this class)",
          "example": "ListDefinition",
          "type": "string"
        },
        "Height": {
          "description": "Gets or sets the height of the list (if applicable).",
          "type": "integer",
          "format": "int32"
        },
        "Type": {
          "$ref": "#/definitions/ListType",
          "description": "Gets or sets the list type (drop-down, checkboxes, radio buttons, etc.)\n            If the value is \"ListType.None\", no allowed values are presented.\n            "
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ListDefinition"
      },
      "type": "object"
    },
    "ListType": {
      "description": "\n            Specifies the type of list used to present allowed field values.\n            \r\n\r\nMembers:\r\n* `None` - Don't present a list of allowed values.\r\n* `Select` - Present a select list (or drop-down list if Height=1)\r\n* `Radio` - Present radio buttons.\r\n* `Checkbox` - Present check boxes.\r\n* `Tree` - Present a tree (Taxonomy).\r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "None",
        "Select",
        "Radio",
        "Checkbox",
        "Tree",
        "UnknownByClient"
      ]
    },
    "LoadInfo": {
      "description": "Represents the information about the error that was thrown while loading an item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'LoadInfo' (or a class name that inherits from this class)",
          "example": "LoadInfo",
          "type": "string"
        },
        "ErrorMessage": {
          "description": "Error message.",
          "readOnly": true,
          "type": "string"
        },
        "ErrorType": {
          "$ref": "#/definitions/ErrorType",
          "description": "Error type.",
          "readOnly": true
        },
        "State": {
          "$ref": "#/definitions/LoadInfoState",
          "description": "Load state of item.",
          "readOnly": true
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "LoadInfo"
      },
      "type": "object"
    },
    "LoadInfoState": {
      "description": "\n            Enum of load states.\n            \r\n\r\nMembers:\r\n* `FullyLoaded` - \n            An item is fully loaded.\n            \r\n* `PartiallyLoaded` - \n            An item is partially loaded.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "FullyLoaded",
        "PartiallyLoaded",
        "UnknownByClient"
      ]
    },
    "LocationInfo": {
      "description": "Location/context info for Repository-Local Objects.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'LocationInfo' (or a class name that inherits from this class)",
          "example": "LocationInfo",
          "type": "string"
        },
        "ContextRepository": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the context Repository from which the container object has been retrieved.\n            For shared items, the \"context Repository\" and \"owning Repository\" will be different.\n            "
        },
        "OrganizationalItem": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Organizational Item that contains the container object."
        },
        "Path": {
          "description": "Gets or sets the path to the item (that is, excluding the item's own title).",
          "type": "string"
        },
        "WebDavUrl": {
          "description": "Gets or sets the WebDAV URL of the item.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "LocationInfo"
      },
      "type": "object"
    },
    "LockInfo": {
      "description": "Lock information about Repository Local Object.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'LockInfo' (or a class name that inherits from this class)",
          "example": "LockInfo",
          "type": "string"
        },
        "LockDate": {
          "description": "The date and time in UTC at which the item was locked.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "LockType": {
          "description": "Type of lock on the item (if any).",
          "items": {
            "$ref": "#/definitions/LockType"
          },
          "xml": {
            "name": "LockType",
            "wrapped": true
          },
          "type": "array"
        },
        "LockUser": {
          "$ref": "#/definitions/Link",
          "description": "A user who locked the item."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "LockInfo"
      },
      "type": "object"
    },
    "LockType": {
      "description": "\n            Defines the state (lock) of an item.\n            \r\n\r\nMembers:\r\n* `None` - The item is not locked.\r\n* `CheckedOut` - The item is checked-out. This can mean either a temporary (edit) lock, a permanent lock (explicit check-out performed by user) or a workflow lock.\r\n* `Permanent` - The item is permanently locked, that is using an explicit lock (check-out) action. Can be applied to versioned items (permanent check-out) and to organizational items.\r\n* `NewItem` - The item is a new item, that is it has been created, but not checked-in for the first time yet.\r\n* `InWorkflow` - The item is in a workflow.\r\n* `Reserved` - \n            The item is reserved by the system. This means it is checked-out/locked, but nobody owns the lock.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "None",
        "CheckedOut",
        "Permanent",
        "NewItem",
        "InWorkflow",
        "Reserved",
        "UnknownByClient"
      ]
    },
    "ModelType": {
      "description": "\n            Specifies the Model types that are supported by the Content Manager.\n            \r\n\r\nMembers:\r\n* `Bundle` - \n            Bundle.\n            \r\n* `SearchFolder` - \n            Search folder.\n            \r\n* `Schema` - \n            Schema.\n            \r\n* `Page` - \n            Page.\n            \r\n* `PageTemplate` - \n            Page template.\n            \r\n* `Component` - \n            Component.\n            \r\n* `ComponentTemplate` - \n            Component template.\n            \r\n* `Folder` - \n            Folder.\n            \r\n* `Keyword` - \n            Keyword.\n            \r\n* `StructureGroup` - \n            Structure group.\n            \r\n* `TemplateBuildingBlock` - \n            Template building block.\n            \r\n* `Publication` - \n            Publication.\n            \r\n* `Category` - \n            Category.\n            \r\n* `Group` - \n            Group.\n            \r\n* `ProcessDefinition` - \n            Process definition.\n            \r\n* `BusinessProcessType` - \n            Business process type.\n            \r\n* `MultimediaType` - \n            Multimedia type.\n            \r\n* `TargetType` - \n            Target type.\n            \r\n* `User` - \n            User.\n            \r\n* `TargetGroup` - \n            Target group.\n            \r\n* `ApprovalStatus` - \n            Approval status.\n            \r\n",
      "type": "string",
      "enum": [
        "Bundle",
        "SearchFolder",
        "Schema",
        "Page",
        "PageTemplate",
        "Component",
        "ComponentTemplate",
        "Folder",
        "Keyword",
        "StructureGroup",
        "TemplateBuildingBlock",
        "Publication",
        "Category",
        "Group",
        "ProcessDefinition",
        "BusinessProcessType",
        "MultimediaType",
        "TargetType",
        "User",
        "TargetGroup",
        "ApprovalStatus"
      ]
    },
    "MultiLineTextFieldDefinition": {
      "description": "Represents a multi-line text field definition (in a Schema).",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/TextFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "DefaultValue": {
              "description": "Gets or sets the default value.",
              "type": "string"
            },
            "Height": {
              "description": "Gets or sets the height of the text area in the form-based User Interface.",
              "type": "integer",
              "format": "int32"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "MultiLineTextFieldDefinition"
      },
      "type": "object"
    },
    "MultimediaLinkFieldDefinition": {
      "description": "Represents a Multimedia link field definition (in a Schema).",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ItemPublishableFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "AllowedTargetSchemas": {
              "description": "Gets access to the allowed Schemas for the linked Multimedia Components.\n            An empty list means that the target Schema is not constrained.\n            ",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "DefaultValue": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the default value."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "MultimediaLinkFieldDefinition"
      },
      "type": "object"
    },
    "MultimediaType": {
      "description": "Represents a Multimedia Type: a type of binary content",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/SystemWideObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "FileExtensions": {
              "description": "Gets or sets the file extensions associated with this Multimedia type.\n            File extensions must be unique across all Multimedia types.\n            ",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "MimeType": {
              "description": "Gets or sets the MIME type according to IETF RFC 2046.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "MultimediaType"
      },
      "type": "object"
    },
    "NestedRegion": {
      "description": "Represents the nested region definition.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'NestedRegion' (or a class name that inherits from this class)",
          "example": "NestedRegion",
          "type": "string"
        },
        "IsMandatory": {
          "description": "Gets or sets a value indicating whether this nested schema is mandatory or optional.If not specified, default value is true.",
          "type": "boolean"
        },
        "RegionName": {
          "description": "Gets or sets the name of the nested region.",
          "type": "string"
        },
        "RegionSchema": {
          "$ref": "#/definitions/ExpandableLink",
          "description": "Gets or sets the expandable link to region schema that is used to validate nested region."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "NestedRegion"
      },
      "type": "object"
    },
    "NumberFieldDefinition": {
      "description": "Represents a number field definition (in a Schema).",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ItemPublishableFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "DefaultValue": {
              "description": "Gets or sets the default value.",
              "type": "number",
              "format": "double"
            },
            "FractionDigits": {
              "description": "Gets or sets the constraints on the number of fraction digits.\n            If only integer values are allowed, this constraint should be set to 0.\n            ",
              "type": "integer",
              "format": "int32"
            },
            "IsMaxValueExclusive": {
              "description": "Gets or sets whether the specified maximum value is exclusive or inclusive.",
              "type": "boolean"
            },
            "IsMinValueExclusive": {
              "description": "Gets or sets whether the specified minimum value is exclusive or inclusive.",
              "type": "boolean"
            },
            "List": {
              "$ref": "#/definitions/NumberListDefinition",
              "description": "Gets access to the list of allowed values."
            },
            "MaxValue": {
              "description": "Gets or sets the maximum value constraint.",
              "type": "number",
              "format": "double"
            },
            "MinValue": {
              "description": "Gets or sets the minimum value constraint.",
              "type": "number",
              "format": "double"
            },
            "Pattern": {
              "description": "Gets or sets a regular expression pattern to constrain the value.",
              "type": "string"
            },
            "TotalDigits": {
              "description": "Gets or sets the constraint on the total number of digits.",
              "type": "integer",
              "format": "int32"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "NumberFieldDefinition"
      },
      "type": "object"
    },
    "NumberListDefinition": {
      "description": "Provides information about whether/how to present a list of allowed number field values.",
      "allOf": [
        {
          "$ref": "#/definitions/ListDefinition"
        },
        {
          "properties": {
            "Entries": {
              "description": "Gets access to the list of allowed values.",
              "items": {
                "type": "number",
                "format": "double"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "NumberListDefinition"
      },
      "type": "object"
    },
    "NumericalConditionOperator": {
      "description": "\n            Defines the operator used for comparison of numerical operands.\n            \r\n\r\nMembers:\r\n* `Equals` - \n            Compares if a numerical operand is equal to the given condition value.\n            \r\n* `GreaterThan` - \n            Compares if a numerical operand is greater than the given condition value.\n            \r\n* `LessThan` - \n            Compares if a numerical operand is less than the given condition value.\n            \r\n* `NotEqual` - \n            Compares if a numerical operand is not equal to the given condition value.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Equals",
        "GreaterThan",
        "LessThan",
        "NotEqual",
        "UnknownByClient"
      ]
    },
    "OccurrenceConstraint": {
      "description": "Represents an occurrence constraint for Component Presentation(s) in a Region Schema.",
      "allOf": [
        {
          "$ref": "#/definitions/ComponentPresentationConstraint"
        },
        {
          "properties": {
            "MaxOccurs": {
              "description": "Gets or sets the maximum number of Component Presentation(s) in the Region.\n            The maximum occurrence specifies the maximum number of Component Presentation(s) that the Region may have.\n            Typical occurrence values are 1 (single Component Presentation) and -1 (unlimited amount of Component Presentations). Default value is -1.\n            ",
              "type": "integer",
              "format": "int32"
            },
            "MinOccurs": {
              "description": "Gets or sets the minimum number of Component Presentation(s) in the Region.\n            The minimum occurrence specifies the minimum number of Component Presentation(s) that the Region must have.\n            Typical occurrence values are 0 (Component Presentations are optional) and 1 (at least one Component Presentation is required). Default value is 0.\n            ",
              "type": "integer",
              "format": "int32"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "OccurrenceConstraint"
      },
      "type": "object"
    },
    "OperationInstruction": {
      "description": "Optional instructions that control how an operation will be executed.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'OperationInstruction' (or a class name that inherits from this class)",
          "example": "OperationInstruction",
          "type": "string"
        },
        "Mode": {
          "$ref": "#/definitions/OperationMode",
          "description": "Controls how to react on validation errors and warnings.In \"OperationMode.FailOnError\" mode operation will be stopped before doing actual changes in the DB if any error will be found.In \"OperationMode.FailOnWarning\" mode operation will be stopped before doing actual changes in the DB if any error or warning will be found.Note that in case of preliminary stopping of the operation, processed event handlers are not executed."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "OperationInstruction"
      },
      "type": "object"
    },
    "OperationMode": {
      "description": "\n            Specifies the type of behavior when validation errors occur.\n            \r\n\r\nMembers:\r\n* `FailOnError` - \n            Fails the operation in case of any validation error found (warnings are returned in the operation result, but do not break operation).\n            \r\n* `FailOnWarning` - \n            Fails the operation in case of any validation error or warning found.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "FailOnError",
        "FailOnWarning",
        "UnknownByClient"
      ]
    },
    "OperationResult": {
      "description": "Contains information about performed operation.\n            An operation can be failed due to warnings, if this was requested by the caller.\n            \n            The \"Result\" will be null if requested operation return type is void.\n            ",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'OperationResult' (or a class name that inherits from this class)",
          "example": "OperationResult",
          "type": "string"
        },
        "Result": {
          "$ref": "#/definitions/IdentifiableObject",
          "description": "Gets the result of the operation execution.\n            The \"Result\" will be null if requested operation return type is void.\n            "
        },
        "ValidationWarnings": {
          "description": "Gets the list of \"ValidationWarning\" which were detected during operation.",
          "items": {
            "$ref": "#/definitions/ValidationWarning"
          },
          "xml": {
            "name": "ValidationWarning",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "OperationResult"
      },
      "type": "object"
    },
    "OrganizationalItem": {
      "description": "Abstract base class for the data of \"organizational items\": items used to organize the items in a Repository.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/RepositoryLocalObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "AccessControlList": {
              "$ref": "#/definitions/AccessControlList",
              "description": "Gets or sets the Access Control List which is used to restrict access to the Organizational Item.\n            Notice that saving an Organizational Item with empty ACL is not supported. In such case the original ACL will not be modified during saving.\n            "
            },
            "ContentSecurityDescriptor": {
              "$ref": "#/definitions/SecurityDescriptor",
              "description": "Gets or sets the Security Descriptor which specifies the Rights and Permissions that the current user has on the content of this Organizational Item."
            },
            "IsPermissionsInheritanceRoot": {
              "description": "Gets or sets a value indicating whether the item inherits permissions from the parent item.\n            By default, that property is set to false for non root organizational items. If it is false, modification of AccessControlList.AccessControlEntries \n            will be silently ignored.\n            ",
              "type": "boolean"
            },
            "IsRootOrganizationalItem": {
              "description": "Gets whether the Organizational Item is a root (i.e. its parent is a Publication).",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "OrganizationalItem"
      },
      "type": "object"
    },
    "Page": {
      "description": "Represents the data of a Page: an artifact in the Publication's target structure.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/VersionedItem"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets the approval status of the item."
            },
            "ComponentPresentations": {
              "description": "Gets or sets the Component Presentations directly on the Page (excluding Component Presentations inside of Regions).",
              "items": {
                "$ref": "#/definitions/ComponentPresentation"
              },
              "xml": {
                "name": "ComponentPresentation",
                "wrapped": true
              },
              "type": "array"
            },
            "FileName": {
              "description": "Gets or sets the file name.\n            The file name is the Page's physical name in the target structure.\n            The file name is subject to the restrictions of the Windows file system.\n            The file name does not include the file extension.\n            The file extension is determined by the Page Template: \"PageTemplate.FileExtension\".\n            ",
              "type": "string"
            },
            "IsPageTemplateInherited": {
              "description": "Gets or sets whether the Page Template is inherited from the containing Structure Group.",
              "type": "boolean"
            },
            "LocationInfo": {
              "$ref": "#/definitions/PublishLocationInfo",
              "description": "Location/context info for \"RepositoryLocalObjects\"."
            },
            "PageTemplate": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Page Template used to render the Page.\n            The Page Template can be set explicitly on the Page or be inherited from the containing Structure Group: \"StructureGroup.DefaultPageTemplate\".\n            "
            },
            "Regions": {
              "description": "Gets or sets the collection of nested Regions on the Page.\n            The collection can be modified according to the following rules.\n            If the \"PageTemplate.PageSchema\" is set, the structure of regions must adhere to the definition specified by that schema.\n            ",
              "items": {
                "$ref": "#/definitions/Region"
              },
              "xml": {
                "name": "Region",
                "wrapped": true
              },
              "type": "array"
            },
            "RegionSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Region Schema for the Page.\n            Region Schema for the Page is always derived from the \"PageTemplate.PageSchema\" defined for the Page Template.\n            "
            },
            "WorkflowInfo": {
              "$ref": "#/definitions/WorkflowInfo",
              "description": "Gets workflow-related information for the item."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Page"
      },
      "type": "object"
    },
    "PageOfItems": {
      "description": "Represents a page of items (Repository Local Objects).",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'PageOfItems' (or a class name that inherits from this class)",
          "example": "PageOfItems",
          "type": "string"
        },
        "HasMore": {
          "description": "Indicates whether there are more list items than returned.",
          "type": "boolean"
        },
        "Items": {
          "description": "The list items for the requested page.",
          "items": {
            "$ref": "#/definitions/RepositoryLocalObject"
          },
          "xml": {
            "name": "RepositoryLocalObject",
            "wrapped": true
          },
          "type": "array"
        },
        "PageSize": {
          "description": "The page size.",
          "type": "integer",
          "format": "int32"
        },
        "TotalPages": {
          "description": "Specifies the total number of pages, if known.",
          "type": "integer",
          "format": "int32"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "PageOfItems"
      },
      "type": "object"
    },
    "PageTemplate": {
      "description": "Represents a Page Template: a template used to render a Page.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Template"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets the approval status of the item."
            },
            "FileExtension": {
              "description": "Gets or sets the file extension used for Pages based on this Page Template.",
              "type": "string"
            },
            "PageSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the link to page schema.\n            Only schemas with purpose \"SchemaPurpose.Region\" can be set on this property.\n            When set, component presentation(s) and region(s) of page using this page template will be validated against this schema, along with its\n            Metadata instead of the Metadata schema of the page.\n            "
            },
            "WorkflowInfo": {
              "$ref": "#/definitions/WorkflowInfo",
              "description": "Gets workflow-related information for the item."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "PageTemplate"
      },
      "type": "object"
    },
    "ParametersDictionary": {
      "description": "\n            Represents multiple sets of the parameters grouped by name.\n            ",
      "additionalProperties": {},
      "type": "object"
    },
    "Permissions": {
      "description": "\n            Specifies the Permissions used for security checks.\n            \r\n\r\nMembers:\r\n* `None` - \n            No permission to access the items.\n            \r\n* `Read` - \n            Grants read access to items.\n            \r\n* `Write` - \n            Grants write access to items.\n            \r\n* `Delete` - \n            Grants delete access to items.\n            \r\n* `Localize` - \n            Grants localize and unlocalize access to items.\n            \r\n* `All` - \n            Grants all permissions to access the items.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "None",
        "Read",
        "Write",
        "Delete",
        "Localize",
        "All",
        "UnknownByClient"
      ]
    },
    "Process": {
      "description": "Abstract base class for the data of Processes.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/WorkflowObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Activities": {
              "description": "Gets the Activities that occurred within the Process.",
              "items": {
                "$ref": "#/definitions/Activity"
              },
              "xml": {
                "name": "Activity",
                "wrapped": true
              },
              "type": "array"
            },
            "Creator": {
              "$ref": "#/definitions/Link",
              "description": "Gets the creator of this process."
            },
            "HasSnapshots": {
              "description": "Gets a value indicating whether this Process has snapshots.\n            This property reflects the \"ProcessDefinition.StoreSnapshot\" property of the Process Definition.\n            However, if the Process Definition's property is changed, existing Processes will keep their setting.\n            ",
              "type": "boolean"
            },
            "Subjects": {
              "description": "Gets or sets the items which participate in the Process.\n            In most circumstances, this is a read-only property which represents the union of all Subjects of all Work Items \n            of the current activity in case of process instance or last activity in case of process history.\n            When creating a new Process Instance, this property can be set. As soon as the Process Instance is created, it will have a first Activity Instance\n            which contains Work Items for each provided subject. If any of the subjects specified is not a workflow able item an exception is thrown.\n            ",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "WorkflowType": {
              "$ref": "#/definitions/Link",
              "description": "Gets the workflow type of this process.Different workflows are intended for different purposes (such as workflow process started automatically on editing item, project workflow \n            where multiple items involved or task workflow process. The Workflow Type allows to distinguish workflow processes by their purpose. Predefined \n            Workflow Types are: Unspecified (tcm:0-1-67584) (default), SystemStarted  (tcm:0-2-67584) (set internally on saving of Component, \n            Page, Component Template or Page Template if they have associated Process Definition) and Task (tcm:0-3-67584)."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Process"
      },
      "type": "object"
    },
    "ProcessDefinition": {
      "description": "Abstract base class for the data of Process Definitions.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/RepositoryLocalObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ActivityDefinitions": {
              "description": "Gets the Activity Definitions.\n            The first Activity Definition specified in this collection is the one that will be used\n            to create the first Activity Instance of the workflow.\n            ",
              "items": {
                "$ref": "#/definitions/ActivityDefinition"
              },
              "xml": {
                "name": "ActivityDefinition",
                "wrapped": true
              },
              "type": "array"
            },
            "StoreSnapshot": {
              "description": "Gets or sets a value indicating whether Process Instances based on this Process Definition store snapshots.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ProcessDefinition"
      },
      "type": "object"
    },
    "ProcessDefinitionAssociation": {
      "description": "Representing data object of the Process Definition Association",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/IdentifiableObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ProcessDefinition": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Process Definition related to the current \"ProcessDefinitionAssociation\"."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ProcessDefinitionAssociation"
      },
      "type": "object"
    },
    "ProcessedItem": {
      "description": "Represents the Processed Item data, which contains rendering information for the Resolved Item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ProcessedItem' (or a class name that inherits from this class)",
          "example": "ProcessedItem",
          "type": "string"
        },
        "HasRenderFailure": {
          "description": "Gets a value indicating whether the item failed rendering.",
          "type": "boolean"
        },
        "IsRendered": {
          "description": "Gets a value indicating whether the item has been fully rendered.",
          "type": "boolean"
        },
        "ReasonOfRenderFailure": {
          "description": "Gets the reason of failure of the rendering process.",
          "type": "string"
        },
        "RenderTime": {
          "description": "Gets the duration of the rendering process for the processed item.\r\nThe render time formatted as a string: HH:MM:SS",
          "type": "string"
        },
        "ResolvedItem": {
          "$ref": "#/definitions/ResolvedItem",
          "description": "Gets the \"ResolvedItem\" for which this instance stores additional rendering information."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ProcessedItem"
      },
      "type": "object"
    },
    "ProcessFinishReason": {
      "description": "\n            Defines the reason a Process is going to be finished or has finished already.\n            \r\n\r\nMembers:\r\n* `CompletedNormally` - \n            Identifies if the process has finished normally.\n            \r\n* `ForceFinished` - \n            Identifies if the process was forcefully finished.\n            \r\n* `Terminated` - \n            Identifies if the process was terminated.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "CompletedNormally",
        "ForceFinished",
        "Terminated",
        "UnknownByClient"
      ]
    },
    "ProcessHistory": {
      "description": "Representing data of a Process History.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Process"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "FinishDate": {
              "description": "Gets the Finish date and time in UTC of the Activity.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "FinishReason": {
              "$ref": "#/definitions/ProcessFinishReason",
              "description": "Gets the Finish Reason of the Activity."
            },
            "ProcessDefinitionTitle": {
              "description": "Gets the Process Definition Title of the Activity.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ProcessHistory"
      },
      "type": "object"
    },
    "ProcessInstance": {
      "description": "Represents the data of a Process Instance: a current Process.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Process"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ProcessDefinition": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Process Definition on which the Process Instance is based."
            },
            "Variables": {
              "$ref": "#/definitions/VariablesDictionary",
              "description": "Gets or sets the variable collection containing data shared between Process Instance activities."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ProcessInstance"
      },
      "type": "object"
    },
    "PromoteDemoteRequest": {
      "description": "Represents the data required for promoting and demoting an item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'PromoteDemoteRequest' (or a class name that inherits from this class)",
          "example": "PromoteDemoteRequest",
          "type": "string"
        },
        "DestinationRepositoryId": {
          "description": "Gets or sets the identifier of the destination parent Repository where the item should be promoted to.",
          "type": "string"
        },
        "Instruction": {
          "$ref": "#/definitions/OperationInstruction",
          "description": "Gets or sets the instruction how the operation will be executed."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "PromoteDemoteRequest"
      },
      "type": "object"
    },
    "Publication": {
      "description": "Represents the data of a Publication: a \"Repository\" used for publishing.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Repository"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ComponentSnapshotTemplate": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Component Template that is used to render the snapshot for a Component that is in Workflow."
            },
            "ComponentTemplateProcess": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Process Definition that defines the Workflow process which is triggered when Component Templates are edited."
            },
            "DefaultComponentTemplate": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the default Component Template.\n            The default Component Template is used to render previews of Components.\n            It also provides the default content for new Component Templates.\n            "
            },
            "DefaultPageTemplate": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the default Page Template.\n            The default Page Template provides the default content for new Page Templates.\n            "
            },
            "DefaultTemplateBuildingBlock": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the default Template Building Block.\n            The default Template Building Block provides the default content for new Template Building Blocks.\n            "
            },
            "Locale": {
              "description": "Gets or sets the locale of a publication.",
              "type": "string"
            },
            "MultimediaPath": {
              "description": "Gets or sets the path to the directory containing published binaries.\n            This property is for backward compatibility.\n            As of 5.3, it is also possible to publish binaries in any Structure Group.\n            ",
              "type": "string"
            },
            "MultimediaUrl": {
              "description": "Gets or sets the URL of the directory containing published binaries.\n            This property is for backward compatibility.\n            As of 5.3, it is also possible to publish binaries in any Structure Group.\n            This needs to be a relative Url: server-relative (starts with a '/') or relative to the publishing context (doesn't start with a '/').\n            ",
              "type": "string"
            },
            "PageSnapshotTemplate": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Page Template that is used to render the snapshot for a Page that is in Workflow."
            },
            "PageTemplateProcess": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Process Definition that defines the Workflow process which is triggered when Page Templates are edited."
            },
            "PublicationPath": {
              "description": "Gets or sets the publication/publish path.\n            The publish path of Structure Groups and Pages starts with the Publication's PublicationPath.\n            ",
              "type": "string"
            },
            "PublicationType": {
              "description": "Gets or sets the type of a Publication.",
              "type": "string"
            },
            "PublicationUrl": {
              "description": "Gets or sets the server-relative publication/publish URL.\n            This property is for backward compatibility as of 8.0.\n            Leave this property empty to enable resolving of publish URL based on the Topology Manager configuration.\n            If specified, it will be considered as a server-relative URL.\n            The publish URL of Structure Groups and Pages starts with the Publication's PublicationUrl if any.\n            ",
              "type": "string"
            },
            "RootStructureGroup": {
              "$ref": "#/definitions/Link",
              "description": "Gets the root Structure Group."
            },
            "ShareProcessAssociations": {
              "description": "Gets or sets a value indicating whether to share Process Associations of Schemas and Structure Groups from a parent Publication.",
              "type": "boolean"
            },
            "TemplateBundleProcess": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Process Definition which defines the Bundle process for all Templates (PT, CT, TBB) in this Publication.\n            If a Template Bundle Process is specified, Templates must be added to a Bundle before they can be checked in.\n            The Bundle has to be of an appropriate type. That is: The Bundle's Schema has to be associated with this Process Definition.\n            "
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Publication"
      },
      "type": "object"
    },
    "PublicationType": {
      "description": "Represents a PublicationType",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'PublicationType' (or a class name that inherits from this class)",
          "example": "PublicationType",
          "type": "string"
        },
        "Id": {
          "description": "Id of this PublicationType",
          "type": "integer",
          "format": "int32"
        },
        "Title": {
          "description": "Refers to the Localized Title of this PublicationType to show it in GUI(e.g. List)",
          "type": "string"
        },
        "Name": {
          "description": "Refers to the Name of the PublicationType",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "PublicationType"
      },
      "type": "object"
    },
    "PublishContext": {
      "description": "Represents the data of a Publish Context.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'PublishContext' (or a class name that inherits from this class)",
          "example": "PublishContext",
          "type": "string"
        },
        "ProcessedItems": {
          "description": "Gets or sets a collection of processed items.",
          "items": {
            "$ref": "#/definitions/ProcessedItem"
          },
          "xml": {
            "name": "ProcessedItem",
            "wrapped": true
          },
          "type": "array"
        },
        "Publication": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Publication which this Publish Context belongs to."
        },
        "ResolvedItems": {
          "description": "Gets or sets a collection of Resolved Items in this Publish Context.",
          "items": {
            "$ref": "#/definitions/ResolvedItem"
          },
          "xml": {
            "name": "ResolvedItem",
            "wrapped": true
          },
          "type": "array"
        },
        "TargetType": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Target Type which this Publish Context belongs to."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "PublishContext"
      },
      "type": "object"
    },
    "PublishInfo": {
      "description": "Represents publishing information for Repository local objects.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'PublishInfo' (or a class name that inherits from this class)",
          "example": "PublishInfo",
          "type": "string"
        },
        "PublishedAt": {
          "description": "Gets or sets the date and time in UTC at which the item was last published.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "RenderedWith": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets a Link to the template with which the item was rendered."
        },
        "Repository": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets a Link to the Repository in which the container object has publish details."
        },
        "TargetPurpose": {
          "description": "Gets or sets the Purpose of \"TargetType\".",
          "type": "string"
        },
        "TargetType": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets a Link to the Target Type for publishing to."
        },
        "User": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets a Link to the User that published or un-published the container."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "PublishInfo"
      },
      "type": "object"
    },
    "PublishingTarget": {
      "description": "Abstract base class for classes that represent a target for publishing: Target Type and Publication Target.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/SystemWideObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Description": {
              "description": "Gets or sets a description of the Publishing Target.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "PublishingTarget"
      },
      "type": "object"
    },
    "PublishInstruction": {
      "description": "Represents the instructions needed for publishing an item.",
      "required": [
        "ResolveInstruction"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/PublishInstructionBase"
        },
        {
          "required": [
            "ResolveInstruction"
          ],
          "properties": {
            "DeployAt": {
              "description": "Gets or sets the date and time when the content should be deployed at the content delivery side.\r\nShould be specified in UTC, for example: \"2022-01-01T12:00:00:00Z\".",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "ResolveInstruction": {
              "$ref": "#/definitions/ResolveInstruction",
              "description": "Represents the instructions needed for resolving."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "PublishInstruction"
      },
      "type": "object"
    },
    "PublishInstructionBase": {
      "description": "Represents the instructions needed for (un)publishing an item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'PublishInstructionBase' (or a class name that inherits from this class)",
          "example": "<Set to a class name inheriting from 'PublishInstructionBase'>",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "PublishInstructionBase"
      },
      "type": "object"
    },
    "PublishLocationInfo": {
      "description": "Represents a publishing location information for the objects that reside in Structure Groups.",
      "allOf": [
        {
          "$ref": "#/definitions/LocationInfo"
        },
        {
          "properties": {
            "PublishLocationPath": {
              "description": "Gets or sets the publish path of the container object, including its own directory/file name and extension.",
              "type": "string"
            },
            "PublishLocationUrl": {
              "description": "Gets or sets the publish URL of the container object.\n            The publish URL is formed by a concatenation of the context Publication's PublicationUrl, \n            the intermediary Structure Groups' Directory (recursively) and the object's own directory/file name and extension.\n            ",
              "type": "string"
            },
            "PublishPath": {
              "description": "Gets or sets the publish path of the container object.\n            The publish path is formed by a concatenation of the context Publication's PublicationPath \n            and the intermediary Structure Groups' Directory (recursively).\n            The path does not include the object's own directory/file name.\n            ",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "PublishLocationInfo"
      },
      "type": "object"
    },
    "PublishPriority": {
      "description": "\n            Identifies the priority of the publish action.\n            \r\n\r\nMembers:\r\n* `Low` - \n            Low priority.\n            \r\n* `Normal` - \n            Normal priority.\n            \r\n* `High` - \n            High priority.\n            \r\n",
      "type": "string",
      "enum": [
        "Low",
        "Normal",
        "High"
      ]
    },
    "PublishRequest": {
      "description": "Represents the request during the publishing process.",
      "required": [
        "PublishInstruction"
      ],
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'PublishRequest' (or a class name that inherits from this class)",
          "example": "PublishRequest",
          "type": "string"
        },
        "Ids": {
          "description": "The identifiers of the items that will be send for publishing.",
          "items": {
            "type": "string"
          },
          "type": "array",
          "minLength": 1
        },
        "Priority": {
          "$ref": "#/definitions/PublishPriority",
          "description": "The priority of the publish action."
        },
        "PublishInstruction": {
          "$ref": "#/definitions/PublishInstruction",
          "description": "Represents the instructions needed for publishing an item."
        },
        "TargetIdsOrPurposes": {
          "description": "A collection of Publishing Target instances (Target Types or Purposes) where the items are published to.",
          "items": {
            "type": "string"
          },
          "type": "array",
          "minLength": 1
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "PublishRequest"
      },
      "type": "object"
    },
    "PublishSource": {
      "description": "Represents information about the source from which the content was published.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'PublishSource' (or a class name that inherits from this class)",
          "example": "PublishSource",
          "type": "string"
        },
        "ContextPublication": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets a Link to the Publication from which the content was published."
        },
        "TargetType": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets a Link to the Target Type to which the content was published."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "PublishSource"
      },
      "type": "object"
    },
    "PublishTransaction": {
      "description": "Represents the data object of a PublishTransaction.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/SystemWideObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Creator": {
              "$ref": "#/definitions/Link",
              "description": "Gets the user that created this \"PublishTransaction\" by publishing item(s)."
            },
            "DeployerAction": {
              "$ref": "#/definitions/DeployerAction",
              "description": "Gets the action the deployer should take."
            },
            "HasRenderFailures": {
              "description": "Gets a value indicating whether one of the \"PublishContext.ProcessedItems\" in this instance has render failures.",
              "type": "boolean"
            },
            "Information": {
              "description": "Gets the information about this publish transaction.",
              "type": "string"
            },
            "Instruction": {
              "$ref": "#/definitions/PublishInstructionBase",
              "description": "Gets the instruction of this instance."
            },
            "IsCompleted": {
              "description": "Gets the value whether the publishing of the \"PublishTransaction\" is finished.This property is set to true when the transaction is in the one of the final states: \"PublishTransactionState.Success\", \"PublishTransactionState.Failed\", \n            \"PublishTransactionState.Warning\"; otherwise, false.",
              "type": "boolean"
            },
            "Items": {
              "description": "Gets the collection of items that need to be published or unpublished.",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "Priority": {
              "$ref": "#/definitions/PublishPriority",
              "description": "Gets the priority of this instance. It can be one of three values: low, normal or high. Transactions are executed according to this priority."
            },
            "PublishContexts": {
              "description": "Gets the collection of publish contexts that indicates where to publish/unpublish to.",
              "items": {
                "$ref": "#/definitions/PublishContext"
              },
              "xml": {
                "name": "PublishContext",
                "wrapped": true
              },
              "type": "array"
            },
            "PublisherHost": {
              "description": "Gets the name of the server with Publisher service that handles current \"PublishTransaction\".The value of this property is available after a Publisher has started processing this publish transaction and is an unqualified (domainless) server name. Prior to that the value of this property is null.",
              "type": "string"
            },
            "RenderingTime": {
              "description": "Gets the time span which was spent to render \"PublishTransaction\".The value of this property is available after a Publisher has finished rendering of the publish transaction.",
              "type": "string"
            },
            "ResolvingTime": {
              "description": "Gets the time span which was spent to resolve items for \"PublishTransaction\".The value of this property is available after a Publisher has finished resolving of the items to be published for the publish transaction.",
              "type": "string"
            },
            "State": {
              "$ref": "#/definitions/PublishTransactionState",
              "description": "Gets the state of this instance."
            },
            "StateChangeDateTime": {
              "description": "Gets the date and time in UTC when the last state change occurred.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            },
            "TargetType": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Target Type for this Publish Transaction.This property might be null if associated Publication Target has none or more than one Target Type."
            },
            "TotalExecutionTime": {
              "description": "Gets the time span which was spent for publishing \"PublishTransaction\".The value of this property is available after publish transaction gets to the one of the final states \n            (\"PublishTransactionState.Success\", \"PublishTransactionState.Warning\", \"PublishTransactionState.Failed\").",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "PublishTransaction"
      },
      "type": "object"
    },
    "PublishTransactionsCreationResult": {
      "description": "The result of the publish\\un-publish operation",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'PublishTransactionsCreationResult' (or a class name that inherits from this class)",
          "example": "PublishTransactionsCreationResult",
          "type": "string"
        },
        "PublishTransactionIds": {
          "description": "The list of the ids of the created publish\\un-publish transactions.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "PublishTransactionsCreationResult"
      },
      "type": "object"
    },
    "PublishTransactionState": {
      "description": "\n            Represents the states a Publish Transaction can have.\n            \r\n\r\nMembers:\r\n* `ScheduledForPublish` - \n            The PublishTransaction is scheduled to start at the specified date time.\n            \r\n* `WaitingForPublish` - \n            The PublishTransaction is waiting to be processed.\n            \r\n* `InProgress` - \n            The PublishTransaction is currently in progress.\n            \r\n* `ScheduledForDeployment` - \n            The PublishTransaction is scheduled to be deployed at the specified date time.\n            \r\n* `WaitingForDeployment` - \n            The PublishTransaction is waiting to be deployed at the specified date time.\n            \r\n* `Failed` - \n            The PublishTransaction failed.\n            \r\n* `Success` - \n            The PublishTransaction succeeded.\n            \r\n* `Warning` - \n            The PublishTransaction succeeded but contains warnings.\n            \r\n* `Resolving` - \n            The PublishTransaction is currently being resolved.\n            \r\n* `Rendering` - \n            The PublishTransaction is currently being rendered.\n            \r\n* `Throttled` - \n            The PublishTransaction is currently being throttled by the TransportService.\n            \r\n* `ReadyForTransport` - \n            The PublishTransaction is currently ready for transport.\n            \r\n* `Transporting` - \n            The PublishTransaction is currently being transported to the destinations.\n            \r\n* `Deploying` - \n            The PublishTransaction is currently being deployed.\n            \r\n* `PreparingDeployment` - \n            The PublishTransaction is currently being prepared for deployment.\n            \r\n* `PreCommittingDeployment` - \n            The PublishTransaction is in the pre-committing deployment phase.\n            \r\n* `CommittingDeployment` - \n            The PublishTransaction is being committed for the deployment.\n            \r\n* `WaitingForCdEnvironment` - \n            The PublishTransaction is waiting for Content Delivery Environment to be online.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "ScheduledForPublish",
        "WaitingForPublish",
        "InProgress",
        "ScheduledForDeployment",
        "WaitingForDeployment",
        "Failed",
        "Success",
        "Warning",
        "Resolving",
        "Rendering",
        "Throttled",
        "ReadyForTransport",
        "Transporting",
        "Deploying",
        "PreparingDeployment",
        "PreCommittingDeployment",
        "CommittingDeployment",
        "WaitingForCdEnvironment",
        "UnknownByClient"
      ]
    },
    "PublishUrlInfo": {
      "description": "Represents information about publish url for specific publish purpose.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'PublishUrlInfo' (or a class name that inherits from this class)",
          "example": "PublishUrlInfo",
          "type": "string"
        },
        "TargetType": {
          "description": "Gets or sets Publish Target Type.",
          "type": "string"
        },
        "Uri": {
          "description": "Gets or sets Publish Uri.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "PublishUrlInfo"
      },
      "type": "object"
    },
    "Region": {
      "description": "Abstract base class for Regions.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'Region' (or a class name that inherits from this class)",
          "example": "EmbeddedRegion",
          "type": "string"
        },
        "RegionName": {
          "description": "Gets the region name.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "Region"
      },
      "type": "object"
    },
    "RegionDefinition": {
      "description": "Represents the data of a Region Definition in a Region Schema.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'RegionDefinition' (or a class name that inherits from this class)",
          "example": "RegionDefinition",
          "type": "string"
        },
        "ComponentPresentationConstraints": {
          "description": "Gets or sets the Component Presentation constraints for a Region using this Region Schema.",
          "items": {
            "$ref": "#/definitions/ComponentPresentationConstraint"
          },
          "xml": {
            "name": "ComponentPresentationConstraint",
            "wrapped": true
          },
          "type": "array"
        },
        "DefaultComponentPresentations": {
          "description": "Gets or sets the default Component Presentations for a Region using this Region Schema.",
          "items": {
            "$ref": "#/definitions/ComponentPresentation"
          },
          "xml": {
            "name": "ComponentPresentation",
            "wrapped": true
          },
          "type": "array"
        },
        "NestedRegions": {
          "description": "Gets or sets the nested Regions for the Region Schema.",
          "items": {
            "$ref": "#/definitions/NestedRegion"
          },
          "xml": {
            "name": "NestedRegion",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "RegionDefinition"
      },
      "type": "object"
    },
    "RegisteredType": {
      "description": "Represents a base data class for types registered in the system",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/SystemWideObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Name": {
              "description": "Gets the non-translatable name of the registered type that can be used to identify it",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "RegisteredType"
      },
      "type": "object"
    },
    "Repository": {
      "description": "Represents a Repository: a context for BluePrinting.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/SystemWideObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "AccessControlList": {
              "$ref": "#/definitions/AccessControlList",
              "description": "Gets or sets the Access Control List which is used to restrict access to the Repository.\n            Notice that saving a Repository with empty ACL is not supported. In such case the original ACL will not be modified during saving.\n            "
            },
            "BusinessProcessType": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets a Business Process Type which defines the Business Process to use in this Publication.\n            The value of this property is inferred during creation from its parent publication with highest priority with non null Business Process Type.\n            In case none of the parent publications have Business Process Type set then the value stays null.\n            To set this property explicitly, the Business Process Type Management and Publication Management rights are necessary.In order to unset this property set the value of this property to Null Link (tcm:0-0-0)."
            },
            "ContentSecurityDescriptor": {
              "$ref": "#/definitions/SecurityDescriptor",
              "description": "Gets or sets the Security Descriptor which specifies the Rights and Permissions that the current user has on the content of this item."
            },
            "DefaultMultimediaSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the default Multimedia Schema.\n            The default Multimedia Schema is used by WebDAV.\n            "
            },
            "HasChildren": {
              "description": "Gets a value indicating whether this Repository has child Repositories in a BluePrint hierarchy.",
              "type": "boolean"
            },
            "Key": {
              "description": "Gets or sets the Key value.\n            The Key property is used as an additional value to identify Repository. Its value can not be empty and must be unique across all Repositories.\n            ",
              "type": "string"
            },
            "LocationInfo": {
              "$ref": "#/definitions/LocationInfo",
              "description": "Gets or sets the location/context information."
            },
            "Metadata": {
              "$ref": "#/definitions/FieldsValueDictionary",
              "description": "Gets or sets the (custom) metadata as \"FieldsValueDictionary\"."
            },
            "MetadataSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Schema for the (custom) metadata on the Repository."
            },
            "MinimalLocalizeApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the minimal Approval Status to localize dynamic version of an item in workflow in this Publication.If set to value other than Undefined, then it is only allowed to localize dynamic version of an item in workflow if its current \n            Approval Status is the same or \"higher\" than the specified.This setting is only applicable to items in workflow. It is always allowed to localize dynamic versions of items that do not have\n            associated workflow.To set this property explicitly, the Publication Management rights are necessary.In order to unset this property (make it Undefined) set the value of this property to Null Link (tcm:0-0-0)."
            },
            "Parents": {
              "description": "Gets or sets access to the parent Repositories.\n            The order of the items in the lists corresponds to the Blueprint priority of the parents.\n            ",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "RootFolder": {
              "$ref": "#/definitions/Link",
              "description": "Gets the root Folder."
            },
            "TaskProcess": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Process Definition which defines the task process in this Publication."
            },
            "VersionInfo": {
              "$ref": "#/definitions/LimitedVersionInfo",
              "description": "Gets the version information of the object.\n                Repositories have a bit more version info than defined in \"BasicVersionInfo\".\n                Therefore, the property type is refined to \"LimitedVersionInfo\" here.\n            \n                This property will appear to be of type \"BasicVersionInfo\" when used from the CoreService.REST interface.\n                You need to cast the property to its correct type, \"LimitedVersionInfo\", in order to use it.\n            "
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Repository"
      },
      "type": "object"
    },
    "RepositoryLocalObject": {
      "description": "Abstract base class for the data of repository-local data objects: data objects that reside in a \"Repository\".",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/IdentifiableObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "BluePrintInfo": {
              "$ref": "#/definitions/BlueprintInfo",
              "description": "Gets the BluePrint information."
            },
            "IsPublishedInContext": {
              "description": "Gets whether the object is published in the context Publication.",
              "type": "boolean"
            },
            "Locale": {
              "description": "Gets the locale for this item from owning Publication.",
              "type": "string"
            },
            "LocationInfo": {
              "$ref": "#/definitions/LocationInfo",
              "description": "Gets the location/context information."
            },
            "LockInfo": {
              "$ref": "#/definitions/LockInfo",
              "description": "Gets the Lock information."
            },
            "Metadata": {
              "$ref": "#/definitions/FieldsValueDictionary",
              "description": "Gets or sets the (custom) metadata as \"FieldsValueDictionary\"."
            },
            "MetadataSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Schema for the (custom) metadata."
            },
            "VersionInfo": {
              "$ref": "#/definitions/LimitedVersionInfo",
              "description": "Gets the version information of the object."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "RepositoryLocalObject"
      },
      "type": "object"
    },
    "ResolvedBundle": {
      "description": "Represents a resolved Bundle: the actual Bundle and the subset of given items which are contained in it.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/VirtualFolder"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {},
          "type": "object"
        }
      ],
      "xml": {
        "name": "ResolvedBundle"
      },
      "type": "object"
    },
    "ResolvedItem": {
      "description": "Represents the data object of a Resolved Item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ResolvedItem' (or a class name that inherits from this class)",
          "example": "ResolvedItem",
          "type": "string"
        },
        "Item": {
          "$ref": "#/definitions/Link",
          "description": "Gets a link to the resolved \"IdentifiableObject\"."
        },
        "ItemPath": {
          "description": "Gets the resolved item's path. The value is set only after successful resolving.\n            This property will be null for structure groups.\n            ",
          "type": "string"
        },
        "Publication": {
          "$ref": "#/definitions/Link",
          "description": "Gets the Publication for which this item was resolved."
        },
        "TargetType": {
          "$ref": "#/definitions/Link",
          "description": "Gets the Target Type for which this item was resolved."
        },
        "Template": {
          "$ref": "#/definitions/Link",
          "description": "Gets the template to render the item with."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ResolvedItem"
      },
      "type": "object"
    },
    "ResolveInstruction": {
      "description": "Represents the instructions needed for resolving.",
      "allOf": [
        {
          "$ref": "#/definitions/ResolveInstructionBase"
        },
        {
          "properties": {
            "IncludeComponentLinks": {
              "description": "Gets or sets a value indicating whether component links should also be resolved.",
              "type": "boolean"
            },
            "IncludeDynamicVersion": {
              "description": "Gets or sets a value indicating whether dynamic version of the item will be resolved.",
              "type": "boolean"
            },
            "IncludeWorkflow": {
              "description": "Gets or sets a value indicating whether the item is published from the user's work list.",
              "type": "boolean"
            },
            "PublishNewContent": {
              "description": "Gets or sets a value indicating whether already published items should be published.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "ResolveInstruction"
      },
      "type": "object"
    },
    "ResolveInstructionBase": {
      "description": "Represents the base instructions needed for resolving.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ResolveInstructionBase' (or a class name that inherits from this class)",
          "example": "<Set to a class name inheriting from 'ResolveInstructionBase'>",
          "type": "string"
        },
        "IncludeChildPublications": {
          "description": "Gets or sets a value indicating whether to resolve items also from all child Publications where user has PublishManagement rights.",
          "type": "boolean"
        },
        "IncludeCurrentPublication": {
          "description": "Gets or sets a value indicating whether items will be (un)published inside the current Publication.",
          "type": "boolean"
        },
        "PublishInChildPublications": {
          "description": "Gets or sets a collection of TCM URIs of child Publications where items will be unpublished.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "StructureResolveOption": {
          "$ref": "#/definitions/StructureResolveOption",
          "description": "Gets or sets a value indicating the option to include the resolved items and/or structure."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ResolveInstructionBase"
      },
      "type": "object"
    },
    "ResolveOptions": {
      "description": "\n            Defines which Items will be included in the Translation Job for an .\n            \r\n\r\nMembers:\r\n* `TranslateContainerItems` - \n            Translate container items (Folders, Pages, Structure Groups, etc.)\n            \r\n* `TranslateSubItems` - \n            Translate the items inside of containers (Components, Keywords, etc.)\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "TranslateContainerItems",
        "TranslateSubItems",
        "UnknownByClient"
      ]
    },
    "RetrieveReason": {
      "description": "\n            Used in  to indicate why the item was retrieved.\n            \r\n\r\nMembers:\r\n* `Unknown` - \n            The reason is not known.\n            Most likely the item was retrieved by a previous version of Translation Manager that could only retrieve items when they were Completed.\n            \r\n* `Completed` - \n            The item was completed in the Translation Management system.\n            Translation Manager consider the Item completed and will complete the Translation Job once all items are in this stage.\n            \r\n* `Review` - \n            The item was retrieved to allow review in Tridion Sites.\n            The item remains in control of the translation management system's workflow and Translation Manager will attempt to retrieve the Item again.\n            \r\n* `Preview` - \n            The item was retrieved to allow preview in Tridion Sites.\n            The item remains in control of the translation management system's workflow and Translation Manager will attempt to retrieve the Item again.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Unknown",
        "Completed",
        "Review",
        "Preview",
        "UnknownByClient"
      ]
    },
    "Rights": {
      "description": "\n            Specifies the Rights used for security checks.\n            \r\n\r\nMembers:\r\n* `None` - \n            No rights.\n            \r\n* `PublicationAccess` - \n            Grants access to a publication.\n            \r\n* `PublicationManagement` - \n            Grants publication properties update. \n            \r\n* `FolderManagement` - \n            Grants create, update, delete rights on Folder.\n            \r\n* `StructureGroupManagement` - \n            Grants create, update, delete rights on StructureGroup.\n            \r\n* `SchemaManagement` - \n            Grants create, update, delete rights on Schema.\n            \r\n* `ComponentManagement` - \n            Grants create, update, delete rights on Components.\n            \r\n* `ComponentTemplateManagement` - \n            Grants create, update, delete rights on ComponentTemplates.\n            \r\n* `PageManagement` - \n            Grants create, update, delete rights on Pages.\n            \r\n* `PageTemplateManagement` - \n            Grants create, update, delete rights on PageTemplates.\n            \r\n* `ProfileManagement` - \n            Grants create, update, delete rights on TargetGroups.\n            \r\n* `PublishManagement` - \n            Grants rights to publish.\n            \r\n* `PermissionManagement` - \n            Grants rights to change rights on Repository and permissions on Organizational Items.\n            \r\n* `WorkflowManagement` - \n            Grants create, update, delete rights to manage Workflow.\n            To grant workflow management rights to a trustee, the WorkflowManager privilege must be used.\n            \r\n* `CategoryManagement` - \n            Grants create, update, delete rights on Categories.\n            \r\n* `TemplateBuildingBlockManagement` - \n            Grants create, update, delete rights on TemplateBuildingBlocks.\n            \r\n* `VirtualFolderManagement` - \n            Grants create, update, delete rights on VirtualFolders.\n            \r\n* `BundleManagement` - \n            Grants create, update, delete rights on Bundles.\n            \r\n* `BusinessProcessTypeManagement` - \n            Grants create, update, delete rights on Business Process Type.\n            \r\n* `PublicationAdministration` - \n            Grants repository-local administration rights.\n            \r\n* `LockManagement` - \n            Grants the user rights to unlock items locked by other users.\n            \r\n* `All` - \n            All rights.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "None",
        "PublicationAccess",
        "PublicationManagement",
        "FolderManagement",
        "StructureGroupManagement",
        "SchemaManagement",
        "ComponentManagement",
        "ComponentTemplateManagement",
        "PageManagement",
        "PageTemplateManagement",
        "ProfileManagement",
        "PublishManagement",
        "PermissionManagement",
        "WorkflowManagement",
        "CategoryManagement",
        "TemplateBuildingBlockManagement",
        "VirtualFolderManagement",
        "BundleManagement",
        "BusinessProcessTypeManagement",
        "PublicationAdministration",
        "LockManagement",
        "All",
        "UnknownByClient"
      ]
    },
    "RLOItemType": {
      "description": "\n            Specifies the subset of the Item types which are the Repository Local Object model.\n            \r\n\r\nMembers:\r\n* `Folder` - \n            Folder.\n            \r\n* `StructureGroup` - \n            Structure group.\n            \r\n* `Schema` - \n            Schema.\n            \r\n* `Component` - \n            Component.\n            \r\n* `ComponentTemplate` - \n            Component template.\n            \r\n* `Page` - \n            Page.\n            \r\n* `PageTemplate` - \n            Page template.\n            \r\n* `TargetGroup` - \n            Target group.\n            \r\n* `Category` - \n            Category.\n            \r\n* `Keyword` - \n            Keyword.\n            \r\n* `TemplateBuildingBlock` - \n            Template building block.\n            \r\n* `VirtualFolder` - \n            Virtual folder.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Folder",
        "StructureGroup",
        "Schema",
        "Component",
        "ComponentTemplate",
        "Page",
        "PageTemplate",
        "TargetGroup",
        "Category",
        "Keyword",
        "TemplateBuildingBlock",
        "VirtualFolder",
        "UnknownByClient"
      ]
    },
    "RollBackRequest": {
      "description": "Rolls back item version.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'RollBackRequest' (or a class name that inherits from this class)",
          "example": "RollBackRequest",
          "type": "string"
        },
        "DeleteNewerVersions": {
          "description": "If set to true, deletes all versions newer than the specified version. Otherwise keeps all versions and creates a new instance and version based on the specified version.",
          "type": "boolean"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "RollBackRequest"
      },
      "type": "object"
    },
    "Schema": {
      "description": "Represents the data of a Schema defining the structure of content and/or metadata.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/VersionedItem"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "AllowedMultimediaTypes": {
              "description": "Gets or sets access to the allowed Multimedia Types.\n            This property only applies to Schemas with purpose \"SchemaPurpose.Multimedia\".\n            It defines what the allowed Multimedia Types are for Multimedia Components based on this Schema.\n            ",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "BundleProcess": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets an associated Process Definition which defines the Bundle process.If a Bundle Process is specified for Component/Multimedia Schema, Component based on this Schema must be added to a Bundle before it can be checked in.\n            The Bundle has to be of an appropriate type. That is: The Bundle's Schema has to be associated with this Process Definition.For Bundle Schema the Bundle Process defines the Process that will be used to start a Workflow on a Bundle based on this Schema."
            },
            "ComponentProcess": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets an associated Process Definition which defines the editing process for Components based on this Schema.\n            If a Component Process is specified, a workflow process based on this Process Definition will be started when a Component is saved.\n            This process has to be finished before the Component will be checked in. Hence we refer to this as an editing process.\n            "
            },
            "DeleteBundleOnProcessFinished": {
              "description": "Gets or sets a value indicating whether the Bundles based on this Schema should be deleted when a workflow process they are part of finishes.This property is valid only for Bundle Schema. Trying to set the property on any other type of schema to anything other than false will throw an exception.",
              "type": "boolean"
            },
            "Description": {
              "description": "Gets or sets a description for the Schema.",
              "type": "string"
            },
            "Fields": {
              "$ref": "#/definitions/FieldsDefinitionDictionary",
              "description": "Gets access to the (content) field definitions."
            },
            "IsIndexable": {
              "description": "Gets or sets whether components based on this schema will be indexed during data publishing.",
              "type": "boolean"
            },
            "IsPublishable": {
              "description": "Gets or sets whether components based on this schema can be resolved for data publishing.",
              "type": "boolean"
            },
            "IsTridionWebSchema": {
              "description": "Gets whether the Schema qualifies as \"Tridion Web Schema\".\n            A \"Tridion Web Schema\" is a Schema for which the content model is simple enough to be\n            represented as a set of fields.\n            ",
              "type": "boolean"
            },
            "MetadataFields": {
              "$ref": "#/definitions/FieldsDefinitionDictionary",
              "description": "Gets access to the metadata field definitions."
            },
            "NamespaceUri": {
              "description": "Gets the namespace URI (target namespace) of the Schema.",
              "type": "string"
            },
            "Purpose": {
              "$ref": "#/definitions/SchemaPurpose",
              "description": "Gets or sets the purpose for the Schema.\n            A Schema can be used for a single purpose only.\n            At the different places where Schemas can be selected, the set of available Schemas\n            is filtered by the Schema's purpose.\n            "
            },
            "RegionDefinition": {
              "$ref": "#/definitions/RegionDefinition",
              "description": "Gets or sets the Region Definition.This property is valid only for Region Schema. Trying to set the property on any other type of schema to anything other than false will throw an exception."
            },
            "RootElementName": {
              "description": "Gets or sets the name of the root element.\n            In a W3C Schema (XSD), it is possible to have multiple global elements, \n            i.e. elements that can act as root element.\n            A Schema in Tridion Content Manager must identify a single global element as the root element.\n            ",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Schema"
      },
      "type": "object"
    },
    "SchemaInstance": {
      "description": "Represents the instance data of a schema.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'SchemaInstance' (or a class name that inherits from this class)",
          "example": "SchemaInstance",
          "type": "string"
        },
        "Content": {
          "$ref": "#/definitions/FieldsValueDictionary",
          "description": "Gets or sets the content."
        },
        "Metadata": {
          "$ref": "#/definitions/FieldsValueDictionary",
          "description": "Gets or sets the metadata."
        },
        "Region": {
          "$ref": "#/definitions/EmbeddedRegion",
          "description": "Gets or sets the root Region."
        },
        "RegionXml": {
          "description": "Gets or sets the Regions as XML.",
          "type": "string"
        },
        "Schema": {
          "$ref": "#/definitions/Link",
          "description": "Gets the link to associated schema for this Instance Data."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "SchemaInstance"
      },
      "type": "object"
    },
    "SchemaPurpose": {
      "description": "\n            Defines a purpose of a Schema, that is in which items the Schema can be used.\n            \r\n\r\nMembers:\r\n* `Component` - Schema defines the content and metadata of Components with XML content.\r\n* `Multimedia` - Schema defines the content and metadata of Multimedia Components.\r\n* `Embedded` - Schema is included into other Schemas.\r\n* `Metadata` - Schema defines the metadata of items (except for Components).\r\n* `Protocol` - Schema defines the protocol fields of a Publication Target.\r\n* `VirtualFolderType` - Schema defines the configuration data of a Virtual Folder.\r\n* `TemplateParameters` - Schema defines the parameters of a Template.\r\n* `Bundle` - Schema defines the metadata and process definition of a Bundle.\r\n* `Region` - Schema defines the Region definition and metadata.\r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Component",
        "Multimedia",
        "Embedded",
        "Metadata",
        "Protocol",
        "VirtualFolderType",
        "TemplateParameters",
        "Bundle",
        "Region",
        "UnknownByClient"
      ]
    },
    "SearchFolder": {
      "description": "Represents a Search Folder.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/VirtualFolder"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Configuration": {
              "description": "Get or set the configuration data.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "SearchFolder"
      },
      "type": "object"
    },
    "SecurityDescriptor": {
      "description": "The SecurityDescriptorData is a grouping of all the Rights and Permissions (allow and denies) for the trustees.\r\nA SecurityDescriptorData is specific to a user and a context (IdentifiableObject).",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'SecurityDescriptor' (or a class name that inherits from this class)",
          "example": "SecurityDescriptor",
          "type": "string"
        },
        "Permissions": {
          "description": "Gets the Permissions of an Identifiable object for a trustee.\n            For root Organizational Items the value of the \"Permissions\" is always \"Permissions.None\".\n            Use the \"Rights\" to check if the user can read, write, localize or delete the item.\n            Reading the item requires Publication access.\n            Writing, deleting, localizing and un-localizing of root Organizational items requires the following rights.\n            FolderPublication and Folder managementStructure GroupPublication and Structure Group managementCategoryCategory management",
          "items": {
            "$ref": "#/definitions/Permissions"
          },
          "xml": {
            "name": "Permissions",
            "wrapped": true
          },
          "type": "array"
        },
        "Rights": {
          "description": "Gets the Rights of an Identifiable object for a trustee.",
          "items": {
            "$ref": "#/definitions/Rights"
          },
          "xml": {
            "name": "Rights",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "SecurityDescriptor"
      },
      "type": "object"
    },
    "Settings": {
      "description": "Specifies settings in free form",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'Settings' (or a class name that inherits from this class)",
          "example": "Settings",
          "type": "string"
        },
        "Data": {
          "description": "Store setting in JSON format",
          "type": "object"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "Settings"
      },
      "type": "object"
    },
    "SingleLineTextFieldDefinition": {
      "description": "Represents a single-line text field definition (in a Schema).",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/TextFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "DefaultValue": {
              "description": "Gets or sets the default value.",
              "type": "string"
            },
            "List": {
              "$ref": "#/definitions/SingleLineTextListDefinition",
              "description": "Gets access to the list of allowed values."
            },
            "MaxLength": {
              "description": "Gets or sets the maximum length constraint.",
              "type": "integer",
              "format": "int32"
            },
            "MinLength": {
              "description": "Gets or sets the minimum length constraint.",
              "type": "integer",
              "format": "int32"
            },
            "Pattern": {
              "description": "Gets or sets a regular expression pattern to constrain the value.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "SingleLineTextFieldDefinition"
      },
      "type": "object"
    },
    "SingleLineTextListDefinition": {
      "description": "Provides information about whether/how to present a list of allowed single-line text field values.",
      "allOf": [
        {
          "$ref": "#/definitions/ListDefinition"
        },
        {
          "properties": {
            "Entries": {
              "description": "Gets access to the allowed values.",
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "SingleLineTextListDefinition"
      },
      "type": "object"
    },
    "StartWorkflowInstruction": {
      "description": "Represents the data for a StartWorkflowInstruction.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'StartWorkflowInstruction' (or a class name that inherits from this class)",
          "example": "StartWorkflowInstruction",
          "type": "string"
        },
        "ActivityTitle": {
          "description": "Gets or sets the initial value for title of the first Activity.",
          "type": "string"
        },
        "Assignee": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the initial value for assignee of the first Activity."
        },
        "DueDate": {
          "description": "Gets or sets the initial value for \"Activity.DueDate\" property of the first Activity.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "ProcessDefinition": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Process Definition for creating Process Instance."
        },
        "ProcessInstanceTitle": {
          "description": "Gets or sets the initial value for title of Process instance.",
          "type": "string"
        },
        "Subjects": {
          "description": "Gets or sets the items which participate in the Process.",
          "items": {
            "$ref": "#/definitions/Link"
          },
          "xml": {
            "name": "Link",
            "wrapped": true
          },
          "type": "array"
        },
        "WorkflowType": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the workflow type of the Process.Different workflows are intended for different purposes (such as workflow process started automatically on editing item, project workflow \n            where multiple items involved or task workflow process. The Workflow Type allows to distinguish workflow processes by their purpose. Predefined \n            Workflow Types are: Unspecified (tcm:0-1-67584) (default), SystemStarted  (tcm:0-2-67584) (set internally on saving of Component, \n            Page, Component Template or Page Template if they have associated Process Definition) and Task (tcm:0-3-67584).If property is not set and process is being created using Repository.TaskProcess process definition, the Task (tcm:0-3-67584)\n            workflow type will be set; otherwise, Unspecified (tcm:0-1-67584) will be used."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "StartWorkflowInstruction"
      },
      "type": "object"
    },
    "StringSearchMode": {
      "description": "Members:\r\n* `Contains` - \r\n* `StartsWith` - \r\n* `EndsWith` - \r\n* `ExactMatch` - \r\n",
      "type": "string",
      "enum": [
        "Contains",
        "StartsWith",
        "EndsWith",
        "ExactMatch"
      ]
    },
    "StructureGroup": {
      "description": "Represents the data of a Structure Group: an Organizational Item used to build the Publication's target structure.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/OrganizationalItem"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "DefaultPageTemplate": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the default Page Template.\n            All items contained in the Structure Group which don't have a (default) Page Template\n            set explicitly inherit their setting from the Structure Group.\n            The Structure Group itself may inherit its default Page Template setting from its parent\n            (Structure Group or Publication).\n            "
            },
            "Directory": {
              "description": "Gets or sets the directory name.\n            The directory name is the Structure Group's physical name in the target structure.\n            The directory name is subject to the restrictions of the Windows file system.\n            The directory name of the root Structure Group may be empty.\n            ",
              "type": "string"
            },
            "IsActive": {
              "description": "Gets or sets the active state of the Structure Group. \r\nIf the active state is set to false, the Structure Group and the items inside it cannot be published.\n            Even if the active state is set to true, it is not enough for a Structure Group to be publishable;\n            all of its ancestor Structure Groups must also have the active state set to true for that to succeed.\n            ",
              "type": "boolean"
            },
            "IsActiveResolvedValue": {
              "description": "Gets a value indicating whether this Structure Group and its items can be published.\r\nReturns true if the active state of this Structure Group and all of its ancestors is true.\r\nReturns false if the active state of this Structure Group or any of its ancestors is false.\r\nThe individual active state of each Structure Group is represented by the property \"IsActive\".",
              "type": "boolean"
            },
            "IsDefaultPageTemplateInherited": {
              "description": "Gets or sets whether the default Page Template is inherited from the Structure Group's parent.\n            The Structure Group's parent is the containing Structure Group or the Publication in case\n            of the root Structure Group.\n            Returns true if the IsDefaultPageTemplateInherited property is null.\n            ",
              "type": "boolean"
            },
            "LocationInfo": {
              "$ref": "#/definitions/PublishLocationInfo",
              "description": "Gets the location/context information, including publish location.\n            Structure Groups act as a publish location, therefore their LocationInfo property is refined to \"PublishLocationInfo\".\n            "
            },
            "PageBundleProcess": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets an associated Process Definition which defines the Bundle process for Pages in the Structure Group.\n            If a Page Bundle Process is specified, Pages must be added to a Bundle before they can be checked in.\n            The Bundle has to be of an appropriate type. That is: The Bundle's Schema has to be associated with this Process Definition.\n            "
            },
            "PageProcess": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets an associated Process Definition which defines the editing process for Pages in the Structure Group.\n            If a Page Process is specified, a workflow process based on this Process Definition will be started when a Page is saved.\n            This process has to be finished before the Page will be checked in. Hence we refer to this as an editing process.\n            "
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "StructureGroup"
      },
      "type": "object"
    },
    "StructureResolveOption": {
      "description": "\n            Represents the option to include the resolved items and/or structure.\n            \r\n\r\nMembers:\r\n* `OnlyItems` - \n            Only item(s) will be resolved. This is the default value.\n            \r\n* `OnlyStructure` - \n            Only Structure Group(s) will be resolved.\n            \r\n* `ItemsAndStructure` - \n            Structure Group(s) along with item(s) will be resolved.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "OnlyItems",
        "OnlyStructure",
        "ItemsAndStructure",
        "UnknownByClient"
      ]
    },
    "SynchronizationAction": {
      "description": "Represents the data of a synchronization action of a Repository Local Object against its Schema.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'SynchronizationAction' (or a class name that inherits from this class)",
          "example": "SynchronizationAction",
          "type": "string"
        },
        "FieldDescription": {
          "description": "Gets the description/label of the field on which the synchronization operation was applied.\n            For the following operation the value of this property is null.\n              \"SynchronizeFlags.UpdateRegions\"",
          "type": "string"
        },
        "FieldIndex": {
          "description": "Gets the index of a multivalued field in which the synchronization operation was applied.\n            For the following operation the value of this property is null, as it is not applicable as these\n            operations are done on fields not individual field value or the the collection of fields.\n              \"SynchronizeFlags.Basic\"\"SynchronizeFlags.FixNamespace\"\"SynchronizeFlags.RemoveUnknownFields\"\"SynchronizeFlags.UpdateRegions\"",
          "type": "integer",
          "format": "int32"
        },
        "FieldName": {
          "description": "Gets the XML name of the field on which the synchronization operation was applied.\n            FieldName contains name of the original region that was changed in case \"SynchronizeFlags.UpdateRegions\" flag is used.\n            ",
          "type": "string"
        },
        "SynchronizationActionApplied": {
          "description": "Gets the synchronization operation applied.",
          "items": {
            "$ref": "#/definitions/SynchronizeFlags"
          },
          "xml": {
            "name": "SynchronizeFlags",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "SynchronizationAction"
      },
      "type": "object"
    },
    "SynchronizationResult": {
      "description": "Represents the data of synchronization of item content and/or metadata with the current schema.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'SynchronizationResult' (or a class name that inherits from this class)",
          "example": "SynchronizationResult",
          "type": "string"
        },
        "SynchronizationActions": {
          "description": "Gets the collection of \"SynchronizationAction\" objects containing all applied changes.",
          "items": {
            "$ref": "#/definitions/SynchronizationAction"
          },
          "xml": {
            "name": "SynchronizationAction",
            "wrapped": true
          },
          "type": "array"
        },
        "SynchronizedItem": {
          "$ref": "#/definitions/IdentifiableObject",
          "description": "Gets the \"IdentifiableObject\" with synchronized content and/or metadata."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "SynchronizationResult"
      },
      "type": "object"
    },
    "SynchronizeFlags": {
      "description": "\n            Specifies how the Repository Local Object should/can be synchronized with its Schema.\n            \r\n\r\nMembers:\r\n* `Basic` - \n            Use only basic option, which includes re-ordering fields.\n            \r\n* `FixNamespace` - \n            Fix the namespace of content and metadata element as per the schema.\n            \r\n* `RemoveUnknownFields` - \n            Remove any fields which do not exist in the schema.\n            \r\n* `RemoveAdditionalValues` - \n            Remove fields which occur more than allowed in MaxOccurs.\n            \r\n* `ApplyDefaultValuesForMissingMandatoryFields` - \n            Apply default values to mandatory fields which are missing.\n            \r\n* `ApplyDefaultValuesForMissingNonMandatoryFields` - \n            Apply default values to non-mandatory fields which are missing.\n            \r\n* `ApplyFilterXsltToXhtmlFields` - \n            Apply Xslt transformation to Xhtml fields.\n            \r\n* `ConvertFieldType` - \n            Convert field types as specified in schema.\n            \r\n* `UpdateRegions` - \n            Update nested regions structure of the page.\n            \r\n* `All` - \n            Apply all possible transformations.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Basic",
        "FixNamespace",
        "RemoveUnknownFields",
        "RemoveAdditionalValues",
        "ApplyDefaultValuesForMissingMandatoryFields",
        "ApplyDefaultValuesForMissingNonMandatoryFields",
        "ApplyFilterXsltToXhtmlFields",
        "ConvertFieldType",
        "UpdateRegions",
        "All",
        "UnknownByClient"
      ]
    },
    "SystemPrivilege": {
      "description": "Represents a system-wide privilege.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'SystemPrivilege' (or a class name that inherits from this class)",
          "example": "SystemPrivilege",
          "type": "string"
        },
        "Title": {
          "description": "Localized title of a system-wide privilege.",
          "type": "string"
        },
        "Description": {
          "description": "Localized description of a system-wide privilege.",
          "type": "string"
        },
        "Key": {
          "description": "Key of a system-wide privilege.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "SystemPrivilege"
      },
      "type": "object"
    },
    "SystemPrivilegesDictionary": {
      "description": "\n            Represents a dictionary of the system-wide privilege keys associations with a collection of the Group's link.\n            ",
      "additionalProperties": {},
      "type": "object"
    },
    "SystemWideObject": {
      "description": "Abstract base class for the data of all system-wide objects.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/IdentifiableObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {},
          "type": "object"
        }
      ],
      "xml": {
        "name": "SystemWideObject"
      },
      "type": "object"
    },
    "TargetGroup": {
      "description": "Represents the data of a Target Group: used to target an audience based on certain conditions.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/RepositoryLocalObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Conditions": {
              "description": "Gets or sets access to the conditions that define the Target Group",
              "items": {
                "$ref": "#/definitions/Condition"
              },
              "xml": {
                "name": "Condition",
                "wrapped": true
              },
              "type": "array"
            },
            "Description": {
              "description": "Gets or sets the description of the Target Group.\n            The Description has no special meaning to the system. It can be used to explain\n            the purpose of the Target Group to users.\n            ",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "TargetGroup"
      },
      "type": "object"
    },
    "TargetGroupCondition": {
      "description": "Represents a condition on \"membership\" of a Target Group.",
      "properties": {
        "Negate": {
          "description": "Gets or sets whether the condition should be negated.",
          "type": "boolean"
        },
        "TargetGroup": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Target Group to check \"membership\" against."
        }
      },
      "xml": {
        "name": "TargetGroupCondition"
      },
      "type": "object"
    },
    "TargetLanguage": {
      "description": "Represents a target language on a translation management system.",
      "properties": {
        "Id": {
          "description": "The identifier of the language (LCID).",
          "type": "string"
        },
        "AvailableWorkflows": {
          "description": "Gets the {Tridion.TranslationManager.OpenApi.V2.Dto.TmsWorkflow}s that are available when translating to this {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage}.",
          "items": {
            "$ref": "#/definitions/TmsWorkflow"
          },
          "xml": {
            "name": "TmsWorkflow",
            "wrapped": true
          },
          "type": "array"
        },
        "FriendlyName": {
          "description": "The friendly (display) name of the language.",
          "type": "string"
        },
        "IsReadOnly": {
          "description": "Gets a value indicating whether the current user can modify the {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage}.",
          "type": "boolean"
        },
        "SelectedWorkflow": {
          "$ref": "#/definitions/TmsWorkflow",
          "description": "Gets or sets the currently selected {Tridion.TranslationManager.OpenApi.V2.Dto.TmsWorkflow}.\r\nSetting the workflow will select the workflow in {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage.AvailableWorkflows} with a matching identifier. If unable to\r\nfind a workflow with the matching identifier the {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage.SelectedWorkflow} will be set to the first workflow\r\nin {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage.AvailableWorkflows}."
        },
        "SelectedWorkflowId": {
          "description": "Gets or sets the selected identifier of the {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage.SelectedWorkflow}.\r\nIf setting an identifier not present in {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage.AvailableWorkflowIds} the {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage.SelectedWorkflowId}\r\nwill be set to the first entry in {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage.AvailableWorkflowIds}.",
          "type": "string"
        },
        "TargetPublications": {
          "description": "Gets a list of the {Tridion.TranslationManager.OpenApi.V2.Dto.TargetPublication}s configured in Tridion for this {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage}.",
          "items": {
            "$ref": "#/definitions/TargetPublication"
          },
          "xml": {
            "name": "TargetPublication",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "xml": {
        "name": "TargetLanguage"
      },
      "type": "object"
    },
    "TargetPublication": {
      "description": "Represent a Tridion Sites Publication where translated content will be stored.\n            Each  has a list of valid s. It is not possible to add or remove from the list of s. Instead the\n             property can be changed to control if the  is used.\n            ",
      "properties": {
        "IdRef": {
          "description": "Gets the TCM URI of the Publication.",
          "type": "string"
        },
        "Title": {
          "description": "Gets the title of the Publication.",
          "type": "string"
        },
        "ConfigurationItemTitle": {
          "description": "Returns the Title of the configured Item. In case the configuration is performed on a Publication this will be identical to {Tridion.TranslationManager.OpenApi.V2.Dto.TargetPublication.Title}.",
          "type": "string"
        },
        "ConfigurationItemUri": {
          "description": "Returns the TCM URI of the configured Item. In case the configuration is performed on a Publication this will be identical to {Tridion.TranslationManager.OpenApi.V2.Dto.TargetPublication.IdRef}.",
          "type": "string"
        },
        "IsReadOnly": {
          "description": "Gets a value indicating whether the current User can change this {Tridion.TranslationManager.OpenApi.V2.Dto.TargetPublication}.",
          "type": "boolean"
        },
        "IsSelected": {
          "description": "Gets or sets a value indicating whether this {Tridion.TranslationManager.OpenApi.V2.Dto.TargetPublication} is selected for the {Tridion.TranslationManager.OpenApi.V2.Dto.TargetLanguage} it belongs to.",
          "type": "boolean"
        }
      },
      "xml": {
        "name": "TargetPublication"
      },
      "type": "object"
    },
    "TargetType": {
      "description": "Represents the data of a Target Type used as a target for publishing.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/PublishingTarget"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "AccessControlList": {
              "$ref": "#/definitions/AccessControlList",
              "description": "Gets or sets the Access Control List which is used to restrict access to the Target Type.\n            Notice that saving a Target Type with empty ACL is not supported. In such case the original ACL will not be modified during saving.\n            "
            },
            "BusinessProcessType": {
              "$ref": "#/definitions/Link",
              "description": "Gets associated Business Process Type of this Target Type.\n            When saving a Target Type in context of a Business Process Type this property is automatically set.\n            The link to the Business Process Type is always returned in its Primary Blueprint Parent context.\n            "
            },
            "ContentSecurityDescriptor": {
              "$ref": "#/definitions/SecurityDescriptor",
              "description": "Gets or sets the Security Descriptor which specifies the Rights and Permissions that the current user has on the content of this item."
            },
            "MinimalApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets MinimalApprovalStatus of this Target Type.\n            When rendering, items with approval status equal or \"higher\" than the minimal approval status of the Target Type will be rendered.\n            "
            },
            "Priority": {
              "$ref": "#/definitions/PublishPriority",
              "description": "Gets or sets the Priority for this Target Type.\n            When creating PublishTransaction this value is used if not overridden.\n            "
            },
            "Purpose": {
              "description": "Gets or sets the Purpose of this Target Type in context of a Business Process Type.\n            This property can be set in context of a Business Process Type.\n            \n            This value is case-sensitive.\n            ",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "TargetType"
      },
      "type": "object"
    },
    "TaxonomyNode": {
      "description": "Represents a Taxonomy node, including its child nodes.\n            The Taxonomy Root Node represents an (External) Category, child nodes represent (External) Keywords.\n            ",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'TaxonomyNode' (or a class name that inherits from this class)",
          "example": "TaxonomyNode",
          "type": "string"
        },
        "Id": {
          "description": "Gets or sets the identifier of the Taxonomy node.",
          "type": "string"
        },
        "Title": {
          "description": "Gets or sets the title of the Taxonomy node.",
          "type": "string"
        },
        "AlternativeLabels": {
          "description": "Gets or sets alternative labels for the Taxonomy node.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ChildNodes": {
          "description": "Gets or sets the child nodes of the Taxonomy node.",
          "items": {
            "$ref": "#/definitions/TaxonomyNode"
          },
          "xml": {
            "name": "TaxonomyNode",
            "wrapped": true
          },
          "type": "array"
        },
        "Descendants": {
          "description": "Gets the number of descendant nodes.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        },
        "IsAbstract": {
          "description": "Gets or sets a value indicating if the Taxonomy node is abstract.",
          "type": "boolean"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "TaxonomyNode"
      },
      "type": "object"
    },
    "Template": {
      "description": "Abstract base class for the data of Templates.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/VersionedItem"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "BinaryContent": {
              "$ref": "#/definitions/BinaryContent",
              "description": "Gets or sets access to the Template's binary content.\n            Depending on the \"TemplateType\", a Template can have text content, binary content or both.\n            "
            },
            "Content": {
              "description": "Gets or sets the Template's (text) content.\n            Depending on the \"TemplateType\", a Template can have text content, binary content or both.\n            ",
              "type": "string"
            },
            "ParameterSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Parameter Schema.\n            A Template can define the parameters it accepts using a Parameter Schema.\n            "
            },
            "TemplateType": {
              "description": "Gets or sets the Template Type.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Template"
      },
      "type": "object"
    },
    "TemplateBuildingBlock": {
      "description": "Represents the data of a Template Building Block: a re-usable template module.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Template"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets the approval status of the item."
            },
            "WorkflowInfo": {
              "$ref": "#/definitions/WorkflowInfo",
              "description": "Gets workflow-related information for the item"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "TemplateBuildingBlock"
      },
      "type": "object"
    },
    "TextFieldDefinition": {
      "description": "Abstract base class for Text Field Definitions (specified in a Schema)",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ItemPublishableFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "UseForAutoClassification": {
              "description": "Specifies whether the text field is used as input for automatic classification or not.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "TextFieldDefinition"
      },
      "type": "object"
    },
    "TmsLanguage": {
      "description": "Represents a language on the translation management system.",
      "properties": {
        "Id": {
          "description": "The identifier of the language (LCID).",
          "type": "string"
        },
        "FriendlyName": {
          "description": "The friendly (display) name of the language.",
          "type": "string"
        }
      },
      "xml": {
        "name": "TmsLanguage"
      },
      "type": "object"
    },
    "TmsWorkflow": {
      "description": "Represents a workflow defined on the translation management system.",
      "properties": {
        "Id": {
          "description": "Gets the id of the {Tridion.TranslationManager.OpenApi.V2.Dto.TmsWorkflow}.",
          "type": "string"
        },
        "Title": {
          "description": "Gets the title of the {Tridion.TranslationManager.OpenApi.V2.Dto.TmsWorkflow}.",
          "type": "string"
        },
        "Steps": {
          "description": "Gets the {Tridion.TranslationManager.OpenApi.V2.Dto.TmsWorkflowStep}s making up the workflow in both Translation Manager and the translation management system.\n            The s are not necessarily returned in the order they will be executed\n            as the translation management system might support branching and loops.\n            ",
          "items": {
            "$ref": "#/definitions/TmsWorkflowStep"
          },
          "xml": {
            "name": "TmsWorkflowStep",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "xml": {
        "name": "TmsWorkflow"
      },
      "type": "object"
    },
    "TmsWorkflowStep": {
      "description": "Represents a step in a {Tridion.TranslationManager.OpenApi.V2.Dto.TmsWorkflow}.",
      "properties": {
        "Id": {
          "description": "Gets the id of the {Tridion.TranslationManager.OpenApi.V2.Dto.TmsWorkflowStep}.",
          "type": "string"
        },
        "Title": {
          "description": "Gets the title of the {Tridion.TranslationManager.OpenApi.V2.Dto.TmsWorkflowStep}.",
          "type": "string"
        },
        "IsAfterTranslatedContentRetrieval": {
          "description": "Gets a value indicating whether this step will only be executed after the content has been retrieved by Translation Manager.",
          "type": "boolean"
        },
        "IsErrorStep": {
          "description": "Gets a value indicating whether the {Tridion.TranslationManager.OpenApi.V2.Dto.TargetItem} has entered an error state requiring manual correction in the translation management system.",
          "type": "boolean"
        },
        "IsSystemStep": {
          "description": "Gets a value indicating whether this step will be completed automatically by the system without human interaction.",
          "type": "boolean"
        },
        "IsTerminated": {
          "description": "Gets a value indicating whether this step represents a state where the item has been deleted or canceled on the translation management system.",
          "type": "boolean"
        }
      },
      "xml": {
        "name": "TmsWorkflowStep"
      },
      "type": "object"
    },
    "TrackingKeyCondition": {
      "description": "Represents a condition on the value of a Tracking Key.",
      "properties": {
        "Keyword": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Keyword on which the Tracking Key is based."
        },
        "Negate": {
          "description": "Gets or sets whether the condition should be negated.",
          "type": "boolean"
        },
        "Operator": {
          "$ref": "#/definitions/NumericalConditionOperator",
          "description": "Gets or sets the operator used for comparing the Tracking Key's value against the \"Value\" specified in the condition."
        },
        "Value": {
          "description": "Gets or sets the value to compare the Tracking Key's value against.\n            The type of comparison depends on the \"Operator\".\n            ",
          "type": "number",
          "format": "double"
        }
      },
      "xml": {
        "name": "TrackingKeyCondition"
      },
      "type": "object"
    },
    "TranslationDetails": {
      "description": "Contains information about the translation state of the Item. Created by calling {M:Tridion.TranslationManager.DomainModel.TmSession.GetTcmItemTranslationInfo(System.String)}.",
      "properties": {
        "CompletedTranslationInfo": {
          "$ref": "#/definitions/TranslationJobInfo",
          "description": "Gets the {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationInformation.TranslationJobInfo}s containing information about the last completed translation with this Item as the target Item; null if no translation has been completed with this Item as a target Item."
        },
        "InProgressTranslationInfo": {
          "description": "Gets a list of {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationInformation.TranslationJobInfo}s containing information about the translations currently in progress where this Item is the target Item.",
          "items": {
            "$ref": "#/definitions/TranslationJobInfo"
          },
          "xml": {
            "name": "TranslationJobInfo",
            "wrapped": true
          },
          "type": "array"
        },
        "SourceItemTitle": {
          "description": "Gets the title of the source Item this {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationInformation.TranslationDetails} contains the translation information for.",
          "type": "string"
        },
        "SourceItemUri": {
          "description": "Gets the TCM URI of the source Item this {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationInformation.TranslationDetails} contains the translation information for.",
          "type": "string"
        },
        "SourcePublicationTitle": {
          "description": "Gets the title of the Source Publication from where Item translated.",
          "type": "string"
        },
        "SourcePublicationUri": {
          "description": "Gets the TCM URI of the Source Publication from where Item translated.",
          "type": "string"
        },
        "Status": {
          "$ref": "#/definitions/TranslationStatus",
          "description": "Gets aggregated status for particular item."
        },
        "TargetItemTitle": {
          "description": "Gets the title of the Item this {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationInformation.TranslationDetails} contains the translation information for.",
          "type": "string"
        },
        "TargetItemUri": {
          "description": "Gets the TCM URI of the Item this {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationInformation.TranslationDetails} contains the translation information for.",
          "type": "string"
        },
        "TargetPublicationTitle": {
          "description": "Gets the title of the Publication containing the Item.",
          "type": "string"
        },
        "TargetPublicationUri": {
          "description": "Gets the TCM URI of the Publication containing the Item.",
          "type": "string"
        }
      },
      "xml": {
        "name": "TranslationDetails"
      },
      "type": "object"
    },
    "TranslationInfo": {
      "description": "Contains information about the translation state of the Item.",
      "properties": {
        "ContextLanguage": {
          "$ref": "#/definitions/TmsLanguage",
          "description": "Gets the {Tridion.TranslationManager.OpenApi.V2.Dto.TmsLanguage} of the context Publication (containing the current item)."
        },
        "TranslationFrom": {
          "$ref": "#/definitions/TranslationDetails",
          "description": "Gets the {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationInformation.TranslationDetails} for this Item as the target Item."
        },
        "TranslationTo": {
          "description": "Gets the {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationInformation.TranslationDetails} for all Items that can be the target for a translation with this Item as the source Item.",
          "items": {
            "$ref": "#/definitions/TranslationDetails"
          },
          "xml": {
            "name": "TranslationDetails",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "xml": {
        "name": "TranslationInfo"
      },
      "type": "object"
    },
    "TranslationJob": {
      "description": "Represents a Translation Job.",
      "properties": {
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "Title": {
          "type": "string"
        },
        "AddedItems": {
          "description": "Gets a collection containing the {Tridion.TranslationManager.OpenApi.V2.Dto.AddedItem}s that have been added to this Translation Job.\r\nThe {Tridion.TranslationManager.OpenApi.V2.Dto.AddedItem}s represent either an Item that will be translated (for example a Component) or\r\nan Item that contains the Items that will be translated (for example a Folder).",
          "items": {
            "$ref": "#/definitions/AddedItem"
          },
          "xml": {
            "name": "AddedItem",
            "wrapped": true
          },
          "type": "array"
        },
        "ConfigurationItemUri": {
          "description": "Gets the TCM URI of the item containing the {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob.TranslationConfiguration} used for this Translation Job.\n            For a .Push job this will always point to an Item with a .\n            For a .Pull job this will always point to an Item with a .\n            ",
          "type": "string"
        },
        "ContextPublicationTitle": {
          "description": "Gets the title of the Publication containing the <seealso cref=\"P:Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob.ConfigurationItemUri\" />.\n            For a .Push job this will be the Publication containing the source items.\n            For a .Pull job this will be the Publication where the translated items will be stored.\n            ",
          "type": "string"
        },
        "CreationDate": {
          "description": "Gets the date the Translation Job was created (in UTC).",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "Creator": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets a link to the user who created the Translation Job."
        },
        "DisplayState": {
          "$ref": "#/definitions/TranslationJobDisplayState"
        },
        "Errors": {
          "description": "Gets the collection of errors registered to this job.",
          "items": {
            "$ref": "#/definitions/ErrorDetails"
          },
          "xml": {
            "name": "ErrorDetails",
            "wrapped": true
          },
          "type": "array"
        },
        "ErrorSeverityLevel": {
          "$ref": "#/definitions/ErrorSeverity"
        },
        "HasError": {
          "type": "boolean"
        },
        "IncludeItemsAlreadyTranslated": {
          "description": "Gets or sets a value indicating whether items that have already been translated should be included in the job.",
          "type": "boolean"
        },
        "IsAwaitingAuthorization": {
          "description": "Gets a value indicating if the Translation Job currently have one or more {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJobQuote}s awaiting authorization (see remarks). and  will indicate\n            if quotes are available but they are for performance reasons only updated each time Translation Manager queries the\n            status of the s associated with this . This means they can contain\n            slightly outdated values.\n            returns the current status on the translation management system and might therefor\n            return s even if  currently is false; and it\n            might return an empty enumeration even if  currently is true.\n            ",
          "type": "boolean"
        },
        "Language": {
          "$ref": "#/definitions/TmsLanguage"
        },
        "Metadata": {
          "$ref": "#/definitions/FieldsValueDictionary",
          "description": "Gets or sets the metadata associated with the Translation Job."
        },
        "MetadataSchemaUri": {
          "description": "Gets the TCM URI of the metadata schema used for this Translation Job.",
          "type": "string"
        },
        "Priority": {
          "$ref": "#/definitions/TranslationJobPriority",
          "description": "Gets or sets the priority of the Translation Job. This value will only have an affect if {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationSystems.TranslationSystemConfiguration.SupportsPriority} returns true."
        },
        "ProgressPercentage": {
          "type": "integer",
          "format": "int32"
        },
        "RequiredDate": {
          "description": "Gets or sets the due date for this job.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "RevisionDate": {
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "Revisor": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets a link to the user who last modified the Translation Job."
        },
        "State": {
          "$ref": "#/definitions/TranslationJobState"
        },
        "SupportsPriority": {
          "description": "Show if {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob} support setting of priority.",
          "type": "boolean"
        },
        "SupportsRequiredDate": {
          "description": "Show if {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob} support setting required rate.",
          "type": "boolean"
        },
        "TargetLanguages": {
          "description": "Gets list of target languages available for this {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob}.",
          "items": {
            "$ref": "#/definitions/TargetLanguage"
          },
          "xml": {
            "name": "TargetLanguage",
            "wrapped": true
          },
          "type": "array"
        },
        "Type": {
          "description": "Gets a value indicating if the Translation Job is a translation to the Publication of the {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob.ConfigurationItemUri}\r\n(Pull job) or from the Publication (Push job).",
          "items": {
            "$ref": "#/definitions/TranslationJobType"
          },
          "xml": {
            "name": "TranslationJobType",
            "wrapped": true
          },
          "type": "array"
        },
        "WorkflowStatus": {
          "description": "Gets or sets item count of language/workflowstep pairs.",
          "items": {
            "$ref": "#/definitions/WorkflowStatus"
          },
          "xml": {
            "name": "WorkflowStatus",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "xml": {
        "name": "TranslationJob"
      },
      "type": "object"
    },
    "TranslationJobDisplayState": {
      "description": "\n            Gets the state that should be displayed in the UI for the . This is slightly more detailed than the .\n            \r\n\r\nMembers:\r\n* `Error` - \n            The  is in an error state not related to retrieval or sending the . The errors are available in .\n            \r\n* `Canceled` - \n            The  was canceled in the translation management system before all items where retrieved.\n            \r\n* `Completed` - \n            The translation of the  has been completed.\n            \r\n* `Definition` - \n            It is still possible to edit the   before it is send for translation.\n            \r\n* `AwaitingAuthorization` - \n            One or more s is ready for authorization.\n            \r\n* `AwaitingAuthorizationAndError` - \n            One or more s is ready for authorization and one or more errors is available in .\n            \r\n* `ErrorRetrieving` - \n            The  is in an error state related to retrieving translations. The errors are available in .\n            \r\n* `InTranslation` - \n            The  is currently in translation. Some - but not all - items might have been canceled or completed.\n            \r\n* `ErrorSending` - \n            The  is in an error state related to sending the Items for translation. The errors are available in .\n            \r\n* `SubmittingToTranslation` - \n            The  is currently being send to the translation management system by the Translation Manager windows service.\n            \r\n* `ReadyForTranslation` - \n            The  is no longer in  state and is ready to be send for translation by the Translation Manager windows service.\n            \r\n* `Deleting` - \n            The  is being deleted by the Translation Manager windows service.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Error",
        "Canceled",
        "Completed",
        "Definition",
        "AwaitingAuthorization",
        "AwaitingAuthorizationAndError",
        "ErrorRetrieving",
        "InTranslation",
        "ErrorSending",
        "SubmittingToTranslation",
        "ReadyForTranslation",
        "Deleting",
        "UnknownByClient"
      ]
    },
    "TranslationJobInfo": {
      "description": "Contains details on a specific translation to a target Item (see {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationInformation.TranslationDetails}).",
      "properties": {
        "IsObsolete": {
          "description": "Indicates if an in-progress translation will be discarded due to a newer translation having been completed already.",
          "type": "boolean"
        },
        "NewSourceVersionExists": {
          "description": "Gets a value indicating whether this translation was started based on the current version of the source Item.",
          "type": "boolean"
        },
        "NewTargetVersionExists": {
          "description": "Gets a value indicating whether current version of target item contains this translation.",
          "type": "boolean"
        },
        "RetrievedFromTranslationDate": {
          "description": "Gets the date and time the Item was retrieved from translation.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "RetrieveReason": {
          "$ref": "#/definitions/RetrieveReason",
          "description": "Gets a RetrieveReason indicating if the retrieval was done to allow review or if it completed the translation job."
        },
        "SendForTranslationDate": {
          "description": "Gets the date and time the Item was send for translation.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "SourceItemTitle": {
          "description": "Gets the title of the source Item for this translation.",
          "type": "string"
        },
        "SourceItemUri": {
          "description": "Gets the TCM URI of the source Item for this translation.",
          "type": "string"
        },
        "SourceLanguageId": {
          "description": "Gets the language id of the source Item for this translation.",
          "type": "string"
        },
        "SourceLanguageName": {
          "description": "Gets the language name of the source Item for this translation.",
          "type": "string"
        },
        "SourceLastModified": {
          "description": "Gets the last modified date/time of the source item for this translation.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "SourceLatestRevision": {
          "description": "Gets the minor version of the latest version of the source Item; null if the source Item is not versioned.",
          "type": "integer",
          "format": "int32"
        },
        "SourceLatestVersion": {
          "description": "Gets the major version of the latest version of the source Item; null if the source Item is not versioned.",
          "type": "integer",
          "format": "int32"
        },
        "SourcePublicationTitle": {
          "description": "Gets the title of the Publication containing the source Item for this translation.",
          "type": "string"
        },
        "SourcePublicationUri": {
          "description": "Gets the TCM URI of the Publication containing the source Item for this translation.",
          "type": "string"
        },
        "SourceRevision": {
          "description": "Gets the minor version of the source Item for this translation; null if the source Item is not versioned or the source version has been lost due to it being promoted or demoted in the BluePrint.",
          "type": "integer",
          "format": "int32"
        },
        "SourceRevisionDate": {
          "description": "Gets the revision date of the source item for this translation.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "SourceVersion": {
          "description": "Gets the major version of the source Item for this translation; null if the source Item is not versioned or the source version has been lost due to it being promoted or demoted in the BluePrint.",
          "type": "integer",
          "format": "int32"
        },
        "TargetItemUri": {
          "description": "Gets last modified date of the current version of the target Item.",
          "type": "string"
        },
        "TargetLanguageId": {
          "description": "Gets the target language id of the Item for this translation.\n            This property will be available after first retrieve\n            ",
          "type": "string"
        },
        "TargetLanguageName": {
          "description": "Gets the target language name of the Item for this translation.\n            This property will be available after first retrieve\n            ",
          "type": "string"
        },
        "TargetRevision": {
          "description": "Gets the minor version of the target Item the translations where retrieved into.",
          "type": "integer",
          "format": "int32"
        },
        "TargetRevisionDate": {
          "description": "Gets the revision date/time of the target item of this translation.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "TargetVersion": {
          "description": "Gets the major version of the target Item the translations where retrieved into.",
          "type": "integer",
          "format": "int32"
        },
        "TranslationJobId": {
          "description": "Gets the id of the {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob} the translation is part of.",
          "type": "integer",
          "format": "int32"
        },
        "TranslationJobTitle": {
          "description": "Gets the title of the {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob} the translation is part of.",
          "type": "string"
        }
      },
      "xml": {
        "name": "TranslationJobInfo"
      },
      "type": "object"
    },
    "TranslationJobOverview": {
      "description": "Represents the basic information of a {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob}. This is used when getting a list of {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob}s where\r\nretrieving more data would slow down displaying the list.",
      "properties": {
        "Id": {
          "description": "Gets the id uniquely identifying the Translation Job on a single Tridion Sites system,\r\nor 0 if it is a new Translation Job that has not yet been saved.",
          "type": "integer",
          "format": "int32"
        },
        "Title": {
          "description": "Gets or sets the title of the Translation Job.",
          "type": "string"
        },
        "ContextPublicationTitle": {
          "description": "Gets the title of the context Publication of this translation job. The context Publication will be the Publication containing the <seealso cref=\"P:Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob.ConfigurationItemUri\" />.For a .Push job this will be the Publication containing the source items.For a .Pull job this will be the Publication where the translated items will be stored.",
          "type": "string"
        },
        "DisplayState": {
          "$ref": "#/definitions/TranslationJobDisplayState",
          "description": "Gets the state of the Translation Job as it is reported to the user. This is based on the {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJobOverview.State} but augmented with additional states\r\nsignalling \"sub states\" - for example error situations and the Translation Job awaiting authorization."
        },
        "ErrorSeverityLevel": {
          "$ref": "#/definitions/ErrorSeverity",
          "description": "Specify the highest {Tridion.TranslationManager.DomainModel.ErrorSeverity} found in {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob.Errors}. This value should only be used if {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJobOverview.HasError} is true."
        },
        "HasError": {
          "description": "Gets whether the job has a registered error.",
          "type": "boolean"
        },
        "IsAwaitingAuthorization": {
          "description": "Gets a value indicating if the Translation Job currently have one or more {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJobQuote}s awaiting authorization (see remarks). and  will indicate\n            if quotes are available but they are for performance reasons only updated each time Translation Manager queries the\n            status of the s associated with this . This means they can contain\n            slightly outdated values.\n            returns the current status on the translation management system and might therefor\n            return s even if  currently is false; and it\n            might return an empty enumeration even if  currently is true.\n            ",
          "type": "boolean"
        },
        "Language": {
          "$ref": "#/definitions/TmsLanguage",
          "description": "Gets a value specifying the language of the Translation Job. For a {Tridion.TranslationManager.DomainModel.TranslationJobType}.Push job this will be the source language; for a {Tridion.TranslationManager.DomainModel.TranslationJobType}.Pull job it will be the target language."
        },
        "ProgressPercentage": {
          "description": "Gets the percentage of individual resolved Items in this job (i.e. item/targetlanguage pairs) that have fully completed the translation cycle.",
          "type": "integer",
          "format": "int32"
        },
        "RevisionDate": {
          "description": "Gets the date the Translation Job was changed (server local time).",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "State": {
          "$ref": "#/definitions/TranslationJobState",
          "description": "Gets the main state the job is currently in.\r\nThe job will not change state due to for example an error. To get the state with error use {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJobOverview.DisplayState}."
        },
        "Type": {
          "description": "Gets a value indicating if the Translation Job is a translation to the Publication of the {Tridion.TranslationManager.OpenApi.V2.Dto.TranslationJob.ConfigurationItemUri}\r\n(Pull job) or from the Publication (Push job).",
          "items": {
            "$ref": "#/definitions/TranslationJobType"
          },
          "xml": {
            "name": "TranslationJobType",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "xml": {
        "name": "TranslationJobOverview"
      },
      "type": "object"
    },
    "TranslationJobPriority": {
      "description": "\n            Specifies the priority of the translation job. Higher priority jobs will be send to\n            the TMS server first.\n            \r\n\r\nMembers:\r\n* `Low` - \n            Low priority\n            \r\n* `Normal` - \n            Normal priority\n            \r\n* `High` - \n            High priority\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Low",
        "Normal",
        "High",
        "UnknownByClient"
      ]
    },
    "TranslationJobState": {
      "description": "\n            State of a translation job.\n            \r\n\r\nMembers:\r\n* `Canceled` - \n            The job has been canceled.\n            \r\n* `Definition` - \n            The job is in definition state - it can still be edited.\n            \r\n* `ReadyForTranslation` - \n            The job has been defined, and is waiting for the Translation Manager Service to retrieve it.\n            \r\n* `SubmittingToTranslation` - \n            The job is being transferred to the translation management system.\n            \r\n* `InTranslation` - \n            The job is under control of the translation management system.\n            \r\n* `Completed` - \n            The job has been completed.\n            \r\n* `ReadyForDeletion` - \n            The job can be deleted and is waiting for the service to pick up the task.\n            \r\n* `Deleting` - \n            The job is currently being deleted.\n            \r\n* `None` - \n            Unspecified state (used to get jobs for all states).\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "Canceled",
        "Definition",
        "ReadyForTranslation",
        "SubmittingToTranslation",
        "InTranslation",
        "Completed",
        "ReadyForDeletion",
        "Deleting",
        "None",
        "UnknownByClient"
      ]
    },
    "TranslationJobType": {
      "description": "\n            The Translation job type (push or pull)\n            \r\n\r\nMembers:\r\n* `None` - \n            Unspecified job type (used to get jobs for all types).\n            \r\n* `PushJob` - \n            Job that pushes translation from one translation source to one or more targets.\n            \r\n* `PullJob` - \n            Job that pulls the translation from one or more source languages to the context target.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "None",
        "PushJob",
        "PullJob",
        "UnknownByClient"
      ]
    },
    "TranslationStatus": {
      "description": "\n            Represents translation status of an Item.\n            \r\n\r\nMembers:\r\n* `NotTranslated` - \n            Item is not translated.\n            \r\n* `InProgress` - \n            Translation in progress.\n            \r\n* `UpToDate` - \n            Items contains latest translation of source.\n            \r\n* `NewSourceVersionExists` - \n            New version of source available.\n            \r\n* `NewTargetVersionExists` - \n            Previous version of target item contains translation but target item was changed after.\n            \r\n* `UnknownByClient` - \n            Special reserved value used to notify an older API version client about the presence of an enumeration member added in a later API version.\n            Explicitly setting this value by a client is not allowed, but client code should check it and be able to handle such cases.\n            \r\n",
      "type": "string",
      "enum": [
        "NotTranslated",
        "InProgress",
        "UpToDate",
        "NewSourceVersionExists",
        "NewTargetVersionExists",
        "UnknownByClient"
      ]
    },
    "TreeNode": {
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'TreeNode' (or a class name that inherits from this class)",
          "example": "TreeNode",
          "type": "string"
        },
        "IdRef": {
          "type": "string"
        },
        "DisplayName": {
          "type": "string"
        },
        "Children": {
          "items": {
            "$ref": "#/definitions/TreeNode"
          },
          "xml": {
            "name": "TreeNode",
            "wrapped": true
          },
          "type": "array"
        },
        "Data": {
          "$ref": "#/definitions/IdentifiableObject"
        },
        "DataType": {
          "type": "string"
        },
        "Parent": {
          "$ref": "#/definitions/TreeNode"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "TreeNode"
      },
      "type": "object"
    },
    "TridionActivityDefinition": {
      "description": "Represents the data of a Tridion proprietary Activity Definition.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ActivityDefinition"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ActivityType": {
              "$ref": "#/definitions/ActivityType",
              "description": "Gets or sets a value indicating whether this instance represents a decision or not."
            },
            "AllowOverrideDueDate": {
              "description": "Gets or sets a value indicating whether \"Activity.DueDate\" can be changed manually, or not.",
              "type": "boolean"
            },
            "ExpirationScript": {
              "description": "Gets or sets the script for Activity Expiration.\n                When \"PerformingTimeout\" is set, Workflow agent executes this script to expire the Activity.\n            ",
              "type": "string"
            },
            "ExpirationScriptType": {
              "description": "Gets or sets the script type of \"ExpirationScript\" of an Activity.",
              "type": "string"
            },
            "FinishApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Approval Status that is assigned to the Workflow Item when the Activity finishes."
            },
            "NextActivityDefinitions": {
              "description": "Gets or sets the potential next activities in the Workflow.\n            The collection should be empty if this represents the last activity or it should contain exactly one activity, unless this represents a decision.\n            Note that the next activity should be identified (linked) by title, not by Id.\n            ",
              "items": {
                "$ref": "#/definitions/Link"
              },
              "xml": {
                "name": "Link",
                "wrapped": true
              },
              "type": "array"
            },
            "PerformingTimeout": {
              "description": "Gets or sets the timeout for performing current activity, in minutes.\n            If value for this property set, default value for \"Activity.DueDate\" will be set, during creating instance of this activity definition.\n            ",
              "type": "integer",
              "format": "int32"
            },
            "Script": {
              "description": "Gets or sets the script of an automated Activity.\n                An Activity Definition can represent an automated activity to which a script is associated.\n                This script is then executed by the TCM Workflow Agent once the workflow process reaches the activity.\n            \n                When you create a Process Definition, you can define an automatic Activity Definition simply by setting\n                the Script property. You don't need to explicitly specify the \"ActivityDefinition.Assignee\", it will be\n                automatically set to the TCM Workflow Agent during the creation of the Process Definition.\n            \n                The TCM Workflow Agent user is declared in the TCM configuration in the workflow section as the following example illustrates:\n                \n                    <configuration>\n                        <workflow workflowAgentAccountUri=\"tcm:0-3-65552\" />\n                    </configuration>\n                ",
              "type": "string"
            },
            "ScriptType": {
              "description": "Gets or sets the script type of \"Script\" of an automated Activity.",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "TridionActivityDefinition"
      },
      "type": "object"
    },
    "TridionProcessDefinition": {
      "description": "Represents the data of a Tridion proprietary Process Definition.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/ProcessDefinition"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Diagram": {
              "description": "Gets or sets the binary representation of the Diagram of the Activity Definition.",
              "type": "string",
              "format": "byte"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "TridionProcessDefinition"
      },
      "type": "object"
    },
    "Trustee": {
      "description": "Abstract base class for the data of \"Trustees\": the data of Users or Groups.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/SystemWideObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Description": {
              "description": "Gets or sets the description (full name) of the Trustee",
              "type": "string"
            },
            "GroupMemberships": {
              "description": "Gets or sets access to the Trustee's Group memberships.",
              "items": {
                "$ref": "#/definitions/GroupMembership"
              },
              "xml": {
                "name": "GroupMembership",
                "wrapped": true
              },
              "type": "array"
            },
            "IsPredefined": {
              "description": "Gets whether the trustee is predefined by the system.\n            Predefined Trustees cannot be deleted and may be suppressed from lists.\n            ",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "Trustee"
      },
      "type": "object"
    },
    "TypeConstraint": {
      "description": "Represents a type constraint for Component Presentation(s) in Region Schema.",
      "allOf": [
        {
          "$ref": "#/definitions/ComponentPresentationConstraint"
        },
        {
          "properties": {
            "BasedOnComponentTemplate": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Component Template restricting the Component Presentation(s) in the Region.\n            This property restricts any Component Presentation not based on this Template to be placed in the Region.\n            "
            },
            "BasedOnSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Schema restricting the Component Presentation(s) in the Region.\n            This property restricts any Components not based on this Schema to be placed in the Region.\n            "
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "TypeConstraint"
      },
      "type": "object"
    },
    "UndoCheckOutRequest": {
      "description": "Removes permanent lock and reverts to last major version of the versioned item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'UndoCheckOutRequest' (or a class name that inherits from this class)",
          "example": "UndoCheckOutRequest",
          "type": "string"
        },
        "RemovePermanentLock": {
          "description": "A permanent lock is set when the user performs an explicit checkout action in the UI.\r\nIt is removed when the user performs an explicit undo checkout action in the UI.\r\nAvailable values:\r\n* True – removes the permanent lock after the check-in action.\r\n* False – does not remove the lock after the check-in action, such as when the item is still being edited.",
          "type": "boolean"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "UndoCheckOutRequest"
      },
      "type": "object"
    },
    "UnPublishInstruction": {
      "description": "Represents the instructions needed for un-publishing an item.",
      "required": [
        "ResolveInstruction"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/PublishInstructionBase"
        },
        {
          "required": [
            "ResolveInstruction"
          ],
          "properties": {
            "ResolveInstruction": {
              "$ref": "#/definitions/UnPublishResolveInstruction",
              "description": "Represents the instructions needed for resolving."
            },
            "StartAt": {
              "description": "Gets or sets the date and time when the un-publishing should be started. Should be specified in UTC format.\r\nThe value will be converted to UTC time if specified with time zone shift, e.g. \"2020-01-24T17:24:50+02:00\" will be converted to \"2020-01-24T15:24:50Z\"\r\nConversion is not happening if time zone shift is not specified.",
              "example": "1970-01-01T00:00:00Z",
              "type": "string",
              "format": "date-time"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "UnPublishInstruction"
      },
      "type": "object"
    },
    "UnPublishRequest": {
      "description": "Represents the request during the un-publishing process.",
      "required": [
        "UnPublishInstruction"
      ],
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'UnPublishRequest' (or a class name that inherits from this class)",
          "example": "UnPublishRequest",
          "type": "string"
        },
        "Ids": {
          "description": "The identifiers of the items that will be send for publishing.",
          "items": {
            "type": "string"
          },
          "type": "array",
          "minLength": 1
        },
        "Priority": {
          "$ref": "#/definitions/PublishPriority",
          "description": "The priority of the un-publish action."
        },
        "TargetIdsOrPurposes": {
          "description": "A collection of Publishing Target instances (Target Types or Purposes) where the items are unpublished from.",
          "items": {
            "type": "string"
          },
          "type": "array",
          "minLength": 1
        },
        "UnPublishInstruction": {
          "$ref": "#/definitions/UnPublishInstruction",
          "description": "Represents the instructions needed for un-publishing an item."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "UnPublishRequest"
      },
      "type": "object"
    },
    "UnPublishResolveInstruction": {
      "description": "Represents the instructions needed for resolving.",
      "allOf": [
        {
          "$ref": "#/definitions/ResolveInstructionBase"
        },
        {
          "properties": {},
          "type": "object"
        }
      ],
      "xml": {
        "name": "UnPublishResolveInstruction"
      },
      "type": "object"
    },
    "User": {
      "description": "Represents the data of a User.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/Trustee"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "IsEnabled": {
              "description": "Gets or sets whether the User is enabled.\n            A User can only log in if his User account is enabled.\n            ",
              "type": "boolean"
            },
            "IsEnabledEditable": {
              "description": "Gets whether the enabled state can be modified.Only System Administrators can modify an enabled state of the User if it's not his own or is predefined.",
              "type": "boolean"
            },
            "LanguageId": {
              "description": "Gets or sets the language ID (LCID) of the User\n            The language ID determines the language in which localizable text is displayed.\n            ",
              "type": "integer",
              "format": "int32"
            },
            "LocaleId": {
              "description": "Gets or sets the locale ID (LCID) of the User\n            The locale ID determines the formatting of date/time and numeric values.\n            ",
              "type": "integer",
              "format": "int32"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "User"
      },
      "type": "object"
    },
    "UserLocaleInfo": {
      "description": "Represents the information about User locale.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'UserLocaleInfo' (or a class name that inherits from this class)",
          "example": "UserLocaleInfo",
          "type": "string"
        },
        "AmDesignator": {
          "description": "Gets the string designator for hours that are \"ante meridiem\" (before noon).",
          "type": "string"
        },
        "DayNames": {
          "description": "Gets the string array that contains the culture-specific full names of the days of the week.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "FirstDayOfWeek": {
          "description": "Gets the first day of the week.",
          "type": "string"
        },
        "FullDateTimeFormat": {
          "description": "Gets the custom format string for a long date and long time value.",
          "type": "string"
        },
        "LanguageCode": {
          "description": "Gets the ISO 639-1 two-letter code for the current language.",
          "type": "string"
        },
        "LanguageId": {
          "description": "Gets the language identifier.",
          "type": "string"
        },
        "LocaleId": {
          "description": "Gets the culture identifier.",
          "type": "string"
        },
        "LongDateFormat": {
          "description": "Gets the custom format string for a long date value.",
          "type": "string"
        },
        "LongTimeFormat": {
          "description": "Gets the custom format string for a long time value.",
          "type": "string"
        },
        "MonthNames": {
          "description": "Gets the string array that contains the culture-specific full names of the months.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "PmDesignator": {
          "description": "Gets the string designator for hours that are \"post meridiem\" (after noon).",
          "type": "string"
        },
        "ShortDateFormat": {
          "description": "Gets the custom format string for a short date value.",
          "type": "string"
        },
        "ShortDateTimeFormat": {
          "description": "Gets the custom format string for a short date and short time value.",
          "type": "string"
        },
        "ShortDayNames": {
          "description": "Gets the string array that contains the culture-specific abbreviated names of the days of the week.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ShortestDayNames": {
          "description": "Gets the string array of the shortest unique abbreviated day names.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ShortMonthNames": {
          "description": "Gets the string array that contains the culture-specific abbreviated names of the months.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ShortTimeFormat": {
          "description": "Gets the custom format string for a short time value.",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "UserLocaleInfo"
      },
      "type": "object"
    },
    "UserPreferences": {
      "description": "Represents the User preferences data.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'UserPreferences' (or a class name that inherits from this class)",
          "example": "UserPreferences",
          "type": "string"
        },
        "Favorites": {
          "description": "Gets the collection of the User favorite links.",
          "items": {
            "$ref": "#/definitions/FavoriteLink"
          },
          "xml": {
            "name": "FavoriteLink",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "UserPreferences"
      },
      "type": "object"
    },
    "UserProfile": {
      "description": "DTO for user profile.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'UserProfile' (or a class name that inherits from this class)",
          "example": "UserProfile",
          "type": "string"
        },
        "DisplayName": {
          "description": "User display name.",
          "type": "string"
        },
        "AvatarUri": {
          "description": "User avatar uri.",
          "type": "string"
        },
        "Preferences": {
          "$ref": "#/definitions/UserPreferences",
          "description": "User preferences."
        },
        "Runtime": {
          "$ref": "#/definitions/UserRuntimeInfo",
          "description": "User runtime information."
        },
        "User": {
          "$ref": "#/definitions/User",
          "description": "Full user information."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "UserProfile"
      },
      "type": "object"
    },
    "UserRuntimeInfo": {
      "description": "Represents the runtime information of the User.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'UserRuntimeInfo' (or a class name that inherits from this class)",
          "example": "UserRuntimeInfo",
          "type": "string"
        },
        "HasPublishRights": {
          "description": "Gets whether the User has the publish rights.",
          "type": "boolean"
        },
        "IsAdministrator": {
          "description": "Gets whether the User is a system administrator.",
          "type": "boolean"
        },
        "IsPublicationAdministrator": {
          "description": "Gets whether the current User has the repository-local administration rights.",
          "type": "boolean"
        },
        "Locale": {
          "$ref": "#/definitions/UserLocaleInfo",
          "description": "Gets the information about User locale."
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "UserRuntimeInfo"
      },
      "type": "object"
    },
    "ValidationError": {
      "description": "Represents a validation error which is returned when validating an item.",
      "properties": {
        "ErrorCode": {
          "description": "Gets the error code of the validation error or of the exception if any.",
          "type": "string"
        },
        "ExceptionName": {
          "description": "Gets the name of the exception if any.",
          "type": "string"
        },
        "Location": {
          "description": "Gets the location where the validation error occurred.",
          "type": "string"
        },
        "Message": {
          "description": "Gets the detailed message about the validation result.",
          "type": "string"
        },
        "Source": {
          "description": "Gets the name of the component/subsystem that generated the message.",
          "type": "string"
        }
      },
      "xml": {
        "name": "ValidationError"
      },
      "type": "object"
    },
    "ValidationResult": {
      "description": "Represents the data of a validation result which is returned when validating an item.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'ValidationResult' (or a class name that inherits from this class)",
          "example": "ValidationResult",
          "type": "string"
        },
        "Location": {
          "description": "Gets the location where the validation error occurred.",
          "type": "string"
        },
        "Message": {
          "description": "Gets the detailed message about the validation result.",
          "type": "string"
        },
        "Source": {
          "description": "Gets the name of the component/subsystem that generated the message.\n            This property is set to \"Content Manager\" for all errors and warnings generated by Content Manager kernel.\n            ",
          "type": "string"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "ValidationResult"
      },
      "type": "object"
    },
    "ValidationWarning": {
      "description": "Represents the data of a validation warning which is returned when validating an item.",
      "properties": {
        "Location": {
          "description": "Gets the location where the validation error occurred.",
          "type": "string"
        },
        "Message": {
          "description": "Gets the detailed message about the validation result.",
          "type": "string"
        },
        "Source": {
          "description": "Gets the name of the component/subsystem that generated the message.",
          "type": "string"
        }
      },
      "xml": {
        "name": "ValidationWarning"
      },
      "type": "object"
    },
    "VariablesDictionary": {
      "description": "\n            Represents multiple sets of variables grouped by name.\n            ",
      "additionalProperties": {},
      "type": "object"
    },
    "VersionedItem": {
      "description": "Abstract base class for Versioned Items.\n            Instances of this class represent a specific version of a Versioned Item.\n            This version is either explicitly stated in the TCM URI (e.g. tcm:1-2-v3)\n            or is implicitly the latest version.\n            ",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/RepositoryLocalObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "DynamicVersionInfo": {
              "$ref": "#/definitions/DynamicVersionInfo",
              "description": "Represents information about the dynamic version of a Versioned Item."
            },
            "VersionInfo": {
              "$ref": "#/definitions/FullVersionInfo",
              "description": "Full version info for Versioned Items."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "VersionedItem"
      },
      "type": "object"
    },
    "VirtualFolder": {
      "description": "Represents the data of a Virtual Folder: an Organizational Item that dynamically collects its contents.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/OrganizationalItem"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ApprovalStatus": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Approval Status of the item."
            },
            "Description": {
              "description": "Gets or sets the description of the Virtual Folder.\n            The description can be used for informational purposes.\n            ",
              "type": "string"
            },
            "TypeSchema": {
              "$ref": "#/definitions/Link",
              "description": "Gets or sets the Schema for the configuration data."
            },
            "WorkflowInfo": {
              "$ref": "#/definitions/WorkflowInfo",
              "description": "Gets workflow-related information for the item"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "VirtualFolder"
      },
      "type": "object"
    },
    "WorkflowInfo": {
      "description": "Represents workflow-related information for items that can participate in a workflow process.",
      "properties": {
        "$type": {
          "description": "Set to the name of concrete class, such as 'WorkflowInfo' (or a class name that inherits from this class)",
          "example": "WorkflowInfo",
          "type": "string"
        },
        "ActivityConstraints": {
          "$ref": "#/definitions/ActivityConstraints",
          "description": "Gets or sets the constraints of the current activity."
        },
        "ActivityDefinitionDescription": {
          "description": "Gets or sets the Activity Definition Description of the current Activity Instance.",
          "type": "string"
        },
        "ActivityInstance": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Activity Instance in which the item is currently participating (if any)."
        },
        "ActivityState": {
          "description": "Gets or sets the state of the current Activity Instance.",
          "items": {
            "$ref": "#/definitions/ActivityState",
            "description": "\n            When the Workflow Agent can't execute the script, the Activity is set to \"Failed\".\n            "
          },
          "xml": {
            "name": "ActivityState",
            "wrapped": true
          },
          "type": "array"
        },
        "Assignee": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Assignee of the current Activity Instance."
        },
        "AssignmentDate": {
          "description": "Gets the most recent assigned/re-assigned date and time in UTC of the current Activity Instance.Initially, the Assignment date and Creation date are the same, upon re-assign of the activity this is updated to time the operation was performed.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "CreationDate": {
          "description": "Gets or sets the creation date and time in UTC of the current Activity Instance.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "DueDate": {
          "description": "Gets or sets the due date and time in UTC of the current Activity Instance if any.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "FinishDate": {
          "description": "Gets or sets the finish date and time in UTC of the last Activity Instance.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        },
        "Performer": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Performer of the current Activity Instance."
        },
        "PreviousMessage": {
          "description": "Gets or sets the finish message of the last Activity Instance.",
          "type": "string"
        },
        "ProcessInstance": {
          "$ref": "#/definitions/Link",
          "description": "Gets or sets the Process Instance in which the item is currently participating (if any)."
        },
        "StartDate": {
          "description": "Gets or sets the start date and time in UTC of the current Activity Instance.",
          "example": "1970-01-01T00:00:00Z",
          "type": "string",
          "format": "date-time"
        }
      },
      "discriminator": "$type",
      "xml": {
        "name": "WorkflowInfo"
      },
      "type": "object"
    },
    "WorkflowObject": {
      "description": "Abstract Base class for the data of workflow items except for \"ProcessDefinition\" and \"ApprovalStatus\".",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/IdentifiableObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "ContextRepository": {
              "$ref": "#/definitions/Link",
              "description": "Gets the context Repository: the Repository in which the object has been retrieved."
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "WorkflowObject"
      },
      "type": "object"
    },
    "WorkflowStatus": {
      "description": "Contains information on which Items are in a specific the workflow step on the translation management system.",
      "properties": {
        "Language": {
          "$ref": "#/definitions/TmsLanguage",
          "description": "Gets the {Tridion.TranslationManager.OpenApi.V2.Dto.TmsLanguage} of the Items."
        },
        "NumberOfItems": {
          "description": "Gets the number of items in the current {Tridion.TranslationManager.OpenApi.V2.Dto.WorkflowStatus.WorkflowStep} for this {Tridion.TranslationManager.OpenApi.V2.Dto.WorkflowStatus.Language}.",
          "type": "integer",
          "format": "int32"
        },
        "WorkflowStep": {
          "$ref": "#/definitions/TmsWorkflowStep",
          "description": "Gets the current {Tridion.TranslationManager.OpenApi.V2.Dto.TmsWorkflowStep} the Items are in on the translation management system."
        }
      },
      "xml": {
        "name": "WorkflowStatus"
      },
      "type": "object"
    },
    "WorkflowType": {
      "description": "Represents a data of Workflow Type.Different workflows are intended for different purposes (such as workflow process started automatically on editing item, project workflow \n            where multiple items involved or task workflow process. The Workflow Type allows to distinguish workflow processes by their purpose. Predefined \n            Workflow Types are: Unspecified (tcm:0-1-67584) (default), SystemStarted  (tcm:0-2-67584) (set internally on saving of Component, \n            Page, Component Template or Page Template if they have associated Process Definition) and Task (tcm:0-3-67584).Workflow types are read-only and can't be created/modified/deleted through API. Custom workflow types can be registered in the \n            Tridion.ContentManager.config in the workflowTypes section.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/RegisteredType"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {},
          "type": "object"
        }
      ],
      "xml": {
        "name": "WorkflowType"
      },
      "type": "object"
    },
    "WorkItem": {
      "description": "Represents the data of a Work Item: the association between an item participating in workflow and an Activity.",
      "required": [
        "Id"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/WorkflowObject"
        },
        {
          "required": [
            "Id"
          ],
          "properties": {
            "Activity": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Activity which contains the Work Item."
            },
            "Comment": {
              "description": "Gets or sets a comment on the Work Item.Work Item comments can be used to communicate between workflow participants. It does not have meaning for the CM system itself.When an Activity is finished, its Work Item comments are carried over to the next Activity.",
              "type": "string"
            },
            "Owner": {
              "$ref": "#/definitions/Link",
              "description": "Gets the User who owns the Work Item.\n            The owner of the Work Item can view/edit the \"Subject\".\n            The owners of all Work Items of an Activity \n            are called the \"Workflow.Activity.Performers\" of the Activity.\n            In the future, each Work Item can have different Owner hence the Activity may have multiple Performers.\n            "
            },
            "Process": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Process which contains the Work Item."
            },
            "Subject": {
              "$ref": "#/definitions/Link",
              "description": "Gets the item participating in the workflow."
            },
            "SubjectOwningRepository": {
              "$ref": "#/definitions/Link",
              "description": "Gets the Owning Repository of the Subject"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "WorkItem"
      },
      "type": "object"
    },
    "XhtmlFieldDefinition": {
      "description": "Represents an XHTML field (a.k.a. Format Area) definition (in a Schema).",
      "required": [
        "Description",
        "MaxOccurs",
        "MinOccurs",
        "Name"
      ],
      "allOf": [
        {
          "$ref": "#/definitions/TextFieldDefinition"
        },
        {
          "required": [
            "Description",
            "MaxOccurs",
            "MinOccurs",
            "Name"
          ],
          "properties": {
            "DefaultValue": {
              "description": "Gets or sets the default value.",
              "type": "string"
            },
            "FormattingFeatures": {
              "$ref": "#/definitions/FormattingFeatures",
              "description": "Gets or sets the Filter XSLT."
            },
            "Height": {
              "description": "Gets or sets the height of the text area in the form-based User Interface.",
              "type": "integer",
              "format": "int32"
            }
          },
          "type": "object"
        }
      ],
      "xml": {
        "name": "XhtmlFieldDefinition"
      },
      "type": "object"
    }
  },
  "tags": [
    {
      "name": "ApplicationData",
      "description": "Provides operations to Create, Read, Update and Delete application data."
    },
    {
      "name": "BatchOperations",
      "description": "Provides operations to perform various actions on batches of items."
    },
    {
      "name": "Binaries",
      "description": "Provides operations for uploading binaries."
    },
    {
      "name": "BluePrinting",
      "description": "Provides operations related to BluePrinting."
    },
    {
      "name": "Classification",
      "description": "Provides operations for classifying items according to a taxonomy (both internal and external)."
    },
    {
      "name": "Extensions",
      "description": "Provides an access to extensions"
    },
    {
      "name": "Items",
      "description": "Provides a variety of operations for items management, such as Create, Read, Update and Delete."
    },
    {
      "name": "Lists",
      "description": "Provides operations to get lists of certain items."
    },
    {
      "name": "OrganizationalItems",
      "description": "Provides operations related to organizational items."
    },
    {
      "name": "Publications",
      "description": "Provides operations related to Publications."
    },
    {
      "name": "Publishing",
      "description": "Provides operations related to publishing."
    },
    {
      "name": "Schemas",
      "description": "Provides operations related to Schemas."
    },
    {
      "name": "Search",
      "description": "Provides operations related to search functionality."
    },
    {
      "name": "Settings",
      "description": "Provides operations to Read-Write User and Application settings"
    },
    {
      "name": "System",
      "description": "Provides general system-related operations."
    },
    {
      "name": "Translation",
      "description": "Provides operations related to translation."
    },
    {
      "name": "UserProfile",
      "description": "Provides operations for managing user profiles."
    },
    {
      "name": "Versioning",
      "description": "Provides operations for versioned items."
    },
    {
      "name": "Workflow",
      "description": "Provides operations to control Workflow."
    }
  ]
}