{
  "x-generator": "NSwag v12.0.14.0 (NJsonSchema v9.13.18.0 (Newtonsoft.Json v13.0.0.0))",
  "swagger": "2.0",
  "info": {
    "title": "GroupDocs.Comparison for Cloud API Reference",
    "description": "Please visit [Dashboard](https://dashboard.groupdocs.cloud/#/applications) to obtain your Client Id and Client Secret keys.",
    "version": "25.11"
  },
  "host": "api.groupdocs.cloud",
  "basePath": "/v2.0",
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/comparison/formats": {
      "get": {
        "tags": [
          "Info"
        ],
        "summary": "Retrieves supported file formats list ",
        "operationId": "GetSupportedFileFormats",
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Supported file formats list",
            "schema": {
              "$ref": "#/definitions/FormatsResult"
            }
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/info": {
      "post": {
        "tags": [
          "Info"
        ],
        "summary": "Gets document information",
        "operationId": "GetDocumentInfo",
        "parameters": [
          {
            "name": "fileInfo",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FileInfo"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Document information",
            "schema": {
              "$ref": "#/definitions/InfoResult"
            }
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/comparisons": {
      "post": {
        "tags": [
          "Compare"
        ],
        "summary": "Compares source and target documents and returns a link to saved result",
        "operationId": "Comparisons",
        "parameters": [
          {
            "name": "comparisonOptions",
            "in": "body",
            "required": true,
            "description": "Comparison options",
            "schema": {
              "$ref": "#/definitions/ComparisonOptions"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Returns a link to document with the result of comparison",
            "schema": {
              "$ref": "#/definitions/Link"
            }
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/changes": {
      "post": {
        "tags": [
          "Compare"
        ],
        "summary": "Retrieves a list of changes between source and target documents",
        "operationId": "PostChanges",
        "parameters": [
          {
            "name": "comparisonOptions",
            "in": "body",
            "required": true,
            "description": "Comparison options",
            "schema": {
              "$ref": "#/definitions/ComparisonOptions"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Returns a list of changes between source and target documents",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ChangeInfo"
              }
            }
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/updates": {
      "put": {
        "tags": [
          "Compare"
        ],
        "summary": "Accepts or rejects changes to the resultant document and returns a link to saved result",
        "operationId": "PutChangesDocument",
        "parameters": [
          {
            "name": "updatesOptions",
            "in": "body",
            "required": true,
            "description": "Comparison options",
            "schema": {
              "$ref": "#/definitions/UpdatesOptions"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Returns a link to saved resultant document with accepts or rejects changes",
            "schema": {
              "$ref": "#/definitions/Link"
            }
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/revisions": {
      "post": {
        "tags": [
          "Review"
        ],
        "summary": "Get list of DOCX document revisions. ",
        "operationId": "GetRevisions",
        "parameters": [
          {
            "name": "fileInfo",
            "in": "body",
            "required": true,
            "description": "File information",
            "schema": {
              "$ref": "#/definitions/FileInfo"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "List of document revisions",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RevisionInfo"
              }
            }
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      },
      "put": {
        "tags": [
          "Review"
        ],
        "summary": "Accepts or rejects revisions in DOCX document",
        "operationId": "ApplyRevisions",
        "parameters": [
          {
            "name": "revisionOptions",
            "in": "body",
            "required": true,
            "description": "Apply revisions options",
            "schema": {
              "$ref": "#/definitions/ApplyRevisionsOptions"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Returns a link to saved resultant document with accepts or rejects changes",
            "schema": {
              "$ref": "#/definitions/Link"
            }
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/preview": {
      "post": {
        "tags": [
          "Preview"
        ],
        "summary": "Creates a preview images of document pages and returns an array of links to saved result",
        "operationId": "Preview",
        "parameters": [
          {
            "name": "previewOptions",
            "in": "body",
            "required": true,
            "description": "Preview options",
            "schema": {
              "$ref": "#/definitions/PreviewOptions"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Returns a link to document pages with the result of preview",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Link"
              }
            }
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/storage/file/{path}": {
      "get": {
        "tags": [
          "File"
        ],
        "summary": "Download file",
        "operationId": "DownloadFile",
        "produces": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "path",
            "in": "path",
            "required": true,
            "description": "File path e.g. '/folder/file.ext'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "storageName",
            "in": "query",
            "description": "Storage name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "versionId",
            "in": "query",
            "description": "File version ID to download",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "The raw data of the file.",
            "schema": {
              "type": "file"
            }
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          },
          "404": {
            "description": "File for given path not found."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ],
        "x-binary-result": true
      },
      "put": {
        "tags": [
          "File"
        ],
        "summary": "Upload file",
        "operationId": "UploadFile",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "path",
            "in": "path",
            "required": true,
            "description": "Path where to upload including filename and extension e.g. /file.ext or /Folder 1/file.ext\n            If the content is multipart and path does not contains the file name it tries to get them from filename parameter\n            from Content-Disposition header.\n            ",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "storageName",
            "in": "query",
            "description": "Storage name",
            "x-nullable": true
          },
          {
            "type": "file",
            "name": "File",
            "in": "formData",
            "required": true,
            "description": "File to upload"
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Empty error list if the upload is successful.",
            "schema": {
              "$ref": "#/definitions/FilesUploadResult"
            }
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      },
      "delete": {
        "tags": [
          "File"
        ],
        "summary": "Delete file",
        "operationId": "DeleteFile",
        "parameters": [
          {
            "type": "string",
            "name": "path",
            "in": "path",
            "required": true,
            "description": "File path e.g. '/folder/file.ext'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "storageName",
            "in": "query",
            "description": "Storage name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "versionId",
            "in": "query",
            "description": "File version ID to delete",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": "Returns 200 if the delete is successful."
          },
          "401": {
            "description": "Authorization token is invalid or expired"
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/storage/file/copy/{srcPath}": {
      "put": {
        "tags": [
          "File"
        ],
        "summary": "Copy file",
        "operationId": "CopyFile",
        "parameters": [
          {
            "type": "string",
            "name": "srcPath",
            "in": "path",
            "required": true,
            "description": "Source file path e.g. '/folder/file.ext'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "destPath",
            "in": "query",
            "required": true,
            "description": "Destination file path",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "srcStorageName",
            "in": "query",
            "description": "Source storage name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "destStorageName",
            "in": "query",
            "description": "Destination storage name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "versionId",
            "in": "query",
            "description": "File version ID to copy",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": "Returns 200 if the copy is successful."
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/storage/file/move/{srcPath}": {
      "put": {
        "tags": [
          "File"
        ],
        "summary": "Move file",
        "operationId": "MoveFile",
        "parameters": [
          {
            "type": "string",
            "name": "srcPath",
            "in": "path",
            "required": true,
            "description": "Source file path e.g. '/src.ext'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "destPath",
            "in": "query",
            "required": true,
            "description": "Destination file path e.g. '/dest.ext'",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "srcStorageName",
            "in": "query",
            "description": "Source storage name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "destStorageName",
            "in": "query",
            "description": "Destination storage name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "versionId",
            "in": "query",
            "description": "File version ID to move",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": "Returns 200 if the move is successful."
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          },
          "404": {
            "description": "File for given path not found."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/storage/folder/{path}": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Get all files and folders within a folder",
        "operationId": "GetFilesList",
        "parameters": [
          {
            "type": "string",
            "name": "path",
            "in": "path",
            "required": true,
            "description": "Folder path e.g. '/folder'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "storageName",
            "in": "query",
            "description": "Storage name",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Returns all files and folders contained by the folder.",
            "schema": {
              "$ref": "#/definitions/FilesList"
            }
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          },
          "404": {
            "description": "Can't find folder for given path."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      },
      "put": {
        "tags": [
          "Folder"
        ],
        "summary": "Create the folder",
        "operationId": "CreateFolder",
        "parameters": [
          {
            "type": "string",
            "name": "path",
            "in": "path",
            "required": true,
            "description": "Folder path to create e.g. 'folder_1/folder_2/'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "storageName",
            "in": "query",
            "description": "Storage name",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": "Returns 200 if the create is successful."
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          },
          "400": {
            "description": "Storage not found or it is not associated with the application."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Folder"
        ],
        "summary": "Delete folder",
        "operationId": "DeleteFolder",
        "parameters": [
          {
            "type": "string",
            "name": "path",
            "in": "path",
            "required": true,
            "description": "Folder path e.g. '/folder'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "storageName",
            "in": "query",
            "description": "Storage name",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "recursive",
            "in": "query",
            "description": "Enable to delete folders, subfolders and files",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "description": "Returns 200 if the delete is successful."
          },
          "401": {
            "description": "Authorization token is invalid or expired"
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/storage/folder/copy/{srcPath}": {
      "put": {
        "tags": [
          "Folder"
        ],
        "summary": "Copy folder",
        "operationId": "CopyFolder",
        "parameters": [
          {
            "type": "string",
            "name": "srcPath",
            "in": "path",
            "required": true,
            "description": "Source folder path e.g. '/src'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "destPath",
            "in": "query",
            "required": true,
            "description": "Destination folder path e.g. '/dst'",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "srcStorageName",
            "in": "query",
            "description": "Source storage name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "destStorageName",
            "in": "query",
            "description": "Destination storage name",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": "Returns 200 if the copy is successful."
          },
          "401": {
            "description": "Authorization token is invalid or expired"
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/storage/folder/move/{srcPath}": {
      "put": {
        "tags": [
          "Folder"
        ],
        "summary": "Move folder",
        "operationId": "MoveFolder",
        "parameters": [
          {
            "type": "string",
            "name": "srcPath",
            "in": "path",
            "required": true,
            "description": "Folder path to move e.g. '/folder'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "destPath",
            "in": "query",
            "required": true,
            "description": "Destination folder path to move to e.g '/dst'",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "srcStorageName",
            "in": "query",
            "description": "Source storage name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "destStorageName",
            "in": "query",
            "description": "Destination storage name",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "description": "Returns 200 if the move is successful."
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/storage/{storageName}/exist": {
      "get": {
        "tags": [
          "Storage"
        ],
        "summary": "Check if storage exists",
        "operationId": "StorageExists",
        "parameters": [
          {
            "type": "string",
            "name": "storageName",
            "in": "path",
            "required": true,
            "description": "Storage name",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Storage exist result.",
            "schema": {
              "$ref": "#/definitions/StorageExist"
            }
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/storage/exist/{path}": {
      "get": {
        "tags": [
          "Storage"
        ],
        "summary": "Check if file or folder exists",
        "operationId": "ObjectExists",
        "parameters": [
          {
            "type": "string",
            "name": "path",
            "in": "path",
            "required": true,
            "description": "File or folder path e.g. '/file.ext' or '/folder'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "storageName",
            "in": "query",
            "description": "Storage name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "versionId",
            "in": "query",
            "description": "File version ID",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Object exist result.",
            "schema": {
              "$ref": "#/definitions/ObjectExist"
            }
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/storage/disc": {
      "get": {
        "tags": [
          "Storage"
        ],
        "summary": "Get disc usage",
        "operationId": "GetDiscUsage",
        "parameters": [
          {
            "type": "string",
            "name": "storageName",
            "in": "query",
            "description": "Storage name",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "Disc usage.",
            "schema": {
              "$ref": "#/definitions/DiscUsage"
            }
          },
          "400": {
            "description": "Storage not found or it is not associated with an application."
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    },
    "/comparison/storage/version/{path}": {
      "get": {
        "tags": [
          "Storage"
        ],
        "summary": "Get file versions",
        "operationId": "GetFileVersions",
        "parameters": [
          {
            "type": "string",
            "name": "path",
            "in": "path",
            "required": true,
            "description": "File path e.g. '/file.ext'",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "storageName",
            "in": "query",
            "description": "Storage name",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "File versions.",
            "schema": {
              "$ref": "#/definitions/FileVersions"
            }
          },
          "401": {
            "description": "Authorization token is invalid or expired."
          }
        },
        "security": [
          {
            "JWT": []
          }
        ]
      }
    }
  },
  "definitions": {
    "ApplyRevisionsOptions": {
      "type": "object",
      "description": "Options for apply revisions method",
      "additionalProperties": false,
      "required": [
        "AcceptAll",
        "RejectAll"
      ],
      "properties": {
        "SourceFile": {
          "description": "Information about source file",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/FileInfo"
        },
        "Revisions": {
          "type": "array",
          "description": "Revisions to apply or reject.",
          "items": {
            "$ref": "#/definitions/RevisionInfo"
          }
        },
        "AcceptAll": {
          "type": "boolean",
          "description": "Indicates whether to apply all revisions in the document"
        },
        "RejectAll": {
          "type": "boolean",
          "description": "Indicates whether to reject all revisions in the document"
        },
        "OutputPath": {
          "type": "string",
          "description": "Path to the resultant document (if not specified the document will not be saved)"
        }
      }
    },
    "ChangeInfo": {
      "type": "object",
      "description": "ChangeInfo Object fields",
      "additionalProperties": false,
      "required": [
        "Id",
        "ComparisonAction",
        "Type",
        "Box"
      ],
      "properties": {
        "Id": {
          "type": "integer",
          "description": "Id of change",
          "format": "int32"
        },
        "ComparisonAction": {
          "description": "Action (accept or reject). This field shows comparison what to do with this change",
          "enum": [
            "None",
            "Accept",
            "Reject"
          ],
          "allOf": [
            {}
          ]
        },
        "Type": {
          "description": "Type of change (Inserted, Deleted or StyleChanged)",
          "enum": [
            "None",
            "Modified",
            "Inserted",
            "Deleted",
            "Added",
            "NotModified",
            "StyleChanged",
            "Resized",
            "Moved",
            "MovedAndResized",
            "ShiftedAndResized"
          ],
          "allOf": [
            {}
          ]
        },
        "Text": {
          "type": "string",
          "description": "Text of changed element"
        },
        "TargetText": {
          "type": "string",
          "description": "Changed text of target doc"
        },
        "Authors": {
          "type": "array",
          "description": "Array of authors who made this change (used for multi comparison)",
          "items": {
            "type": "string"
          }
        },
        "StyleChangeInfo": {
          "type": "array",
          "description": "Array of style changes",
          "items": {
            "$ref": "#/definitions/StyleChangeInfo"
          }
        },
        "PageInfo": {
          "description": "Page where current change is placed",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/PageInfo"
        },
        "Box": {
          "description": "Coordinates of changed element",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/Rectangle"
        }
      }
    },
    "ComparisonOptions": {
      "type": "object",
      "discriminator": "Type",
      "description": "Defines comparison options",
      "additionalProperties": false,
      "required": [
        "ChangeType"
      ],
      "properties": {
        "SourceFile": {
          "description": "Information about source file",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/FileInfo"
        },
        "TargetFiles": {
          "type": "array",
          "description": "Information about target file(s)",
          "items": {
            "$ref": "#/definitions/FileInfo"
          }
        },
        "Settings": {
          "description": "Comparison settings",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/Settings"
        },
        "ChangeType": {
          "description": "Changes type. Used only for Changes resource(/comparison/changes)",
          "enum": [
            "None",
            "Modified",
            "Inserted",
            "Deleted",
            "Added",
            "NotModified",
            "StyleChanged",
            "Resized",
            "Moved",
            "MovedAndResized",
            "ShiftedAndResized"
          ],
          "allOf": [
            {}
          ]
        },
        "OutputPath": {
          "type": "string",
          "description": "Path to the resultant document (if not specified the document will not be saved)"
        }
      }
    },
    "ConsumptionResult": {
      "type": "object",
      "description": "Metered license consumption information",
      "additionalProperties": false,
      "required": [
        "Credit",
        "Quantity"
      ],
      "properties": {
        "Credit": {
          "type": "number",
          "description": "Amount of used credits",
          "format": "decimal"
        },
        "Quantity": {
          "type": "number",
          "description": "Amount of MBs processed",
          "format": "decimal"
        }
      }
    },
    "DiagramMasterSetting": {
      "type": "object",
      "description": "DiagramMasterSetting Object fields",
      "additionalProperties": false,
      "required": [
        "UseSourceMaster"
      ],
      "properties": {
        "MasterPath": {
          "type": "string",
          "description": "Path to custom master path"
        },
        "UseSourceMaster": {
          "type": "boolean",
          "description": "Value of using master from source and target document together"
        }
      }
    },
    "DiscUsage": {
      "type": "object",
      "description": "Class for disc space information.",
      "additionalProperties": false,
      "required": [
        "UsedSize",
        "TotalSize"
      ],
      "properties": {
        "UsedSize": {
          "type": "integer",
          "description": "Application used disc space.",
          "format": "int64"
        },
        "TotalSize": {
          "type": "integer",
          "description": "Total disc space.",
          "format": "int64"
        }
      }
    },
    "Error": {
      "type": "object",
      "description": "Error",
      "additionalProperties": false,
      "properties": {
        "Code": {
          "type": "string",
          "description": "Code\n            "
        },
        "Message": {
          "type": "string",
          "description": "Message\n            "
        },
        "Description": {
          "type": "string",
          "description": "Description\n            "
        },
        "InnerError": {
          "description": "Inner Error\n            ",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/ErrorDetails"
        }
      }
    },
    "ErrorDetails": {
      "type": "object",
      "description": "The error details",
      "additionalProperties": false,
      "required": [
        "Date"
      ],
      "properties": {
        "RequestId": {
          "type": "string",
          "description": "The request id"
        },
        "Date": {
          "type": "string",
          "description": "Date",
          "format": "date-time"
        }
      }
    },
    "FileInfo": {
      "type": "object",
      "description": "Describes compared document",
      "additionalProperties": false,
      "properties": {
        "FilePath": {
          "type": "string",
          "description": "Path to the compared document"
        },
        "VersionId": {
          "type": "string",
          "description": "Document version"
        },
        "StorageName": {
          "type": "string",
          "description": "Storage name "
        },
        "Password": {
          "type": "string",
          "description": "Password for encrypted document"
        }
      }
    },
    "FilesList": {
      "type": "object",
      "description": "Files list",
      "additionalProperties": false,
      "properties": {
        "Value": {
          "type": "array",
          "description": "Files and folders contained by folder StorageFile.",
          "items": {
            "$ref": "#/definitions/StorageFile"
          }
        }
      }
    },
    "FilesUploadResult": {
      "type": "object",
      "description": "File upload result",
      "additionalProperties": false,
      "properties": {
        "Uploaded": {
          "type": "array",
          "description": "List of uploaded file names",
          "items": {
            "type": "string"
          }
        },
        "Errors": {
          "type": "array",
          "description": "List of errors.",
          "items": {
            "$ref": "#/definitions/Error"
          }
        }
      }
    },
    "FileVersion": {
      "type": "object",
      "description": "File Version",
      "additionalProperties": false,
      "allOf": [
        {
          "$ref": "#/definitions/StorageFile"
        },
        {
          "type": "object",
          "description": "File Version",
          "additionalProperties": false,
          "required": [
            "IsLatest"
          ],
          "properties": {
            "VersionId": {
              "type": "string",
              "description": "File Version ID."
            },
            "IsLatest": {
              "type": "boolean",
              "description": "Specifies whether the file is (true) or is not (false) the latest version of an file."
            }
          }
        }
      ]
    },
    "FileVersions": {
      "type": "object",
      "description": "File versions FileVersion.",
      "additionalProperties": false,
      "properties": {
        "Value": {
          "type": "array",
          "description": "File versions FileVersion.",
          "items": {
            "$ref": "#/definitions/FileVersion"
          }
        }
      }
    },
    "Format": {
      "type": "object",
      "description": "File-format",
      "additionalProperties": false,
      "properties": {
        "Extension": {
          "type": "string",
          "description": "File format extension"
        },
        "FileFormat": {
          "type": "string",
          "description": "File format name"
        }
      }
    },
    "FormatsResult": {
      "type": "object",
      "description": "Describes list of supported file formats",
      "additionalProperties": false,
      "properties": {
        "Formats": {
          "type": "array",
          "description": "Supported file formats",
          "items": {
            "$ref": "#/definitions/Format"
          }
        }
      }
    },
    "InfoResult": {
      "type": "object",
      "description": "Represents document information",
      "additionalProperties": false,
      "required": [
        "Size",
        "PageCount"
      ],
      "properties": {
        "Format": {
          "type": "string",
          "description": "Document format"
        },
        "Extension": {
          "type": "string",
          "description": "Document file extension"
        },
        "Size": {
          "type": "integer",
          "description": "Document file size",
          "format": "int64"
        },
        "PageCount": {
          "type": "integer",
          "description": "Pages count",
          "format": "int32"
        }
      }
    },
    "ItemsStyle": {
      "type": "object",
      "description": "ItemsStyle Object fields",
      "additionalProperties": false,
      "required": [
        "Bold",
        "Italic",
        "StrikeThrough",
        "Underline"
      ],
      "properties": {
        "FontColor": {
          "type": "string",
          "description": "Font color for changed components"
        },
        "HighlightColor": {
          "type": "string",
          "description": "Highlight color for changed components"
        },
        "BeginSeparatorString": {
          "type": "string",
          "description": "Start tag for changed components"
        },
        "EndSeparatorString": {
          "type": "string",
          "description": "End tag for changed components"
        },
        "Bold": {
          "type": "boolean",
          "description": "Bold style for changed components"
        },
        "Italic": {
          "type": "boolean",
          "description": "Italic style for changed components"
        },
        "StrikeThrough": {
          "type": "boolean",
          "description": "Strike through style for changed components"
        },
        "Underline": {
          "type": "boolean",
          "description": "Underline style for changed components"
        }
      }
    },
    "Link": {
      "type": "object",
      "description": "Provides information for the object link.\nThis is supposed to be an atom:link, therefore it should have all attributes specified here http://tools.ietf.org/html/rfc4287#section-4.2.7",
      "additionalProperties": false,
      "properties": {
        "href": {
          "type": "string",
          "description": "The \"href\" attribute contains the link's IRI. atom:link elements MUST\nhave an href attribute, whose value MUST be a IRI reference"
        },
        "rel": {
          "type": "string",
          "description": "atom:link elements MAY have a \"rel\" attribute that indicates the link\nrelation type.  If the \"rel\" attribute is not present, the link\nelement MUST be interpreted as if the link relation type is \"alternate\"."
        },
        "type": {
          "type": "string",
          "description": "On the link element, the \"type\" attribute's value is an advisory\nmedia type: it is a hint about the type of the representation that is\nexpected to be returned when the value of the href attribute is\ndereferenced.  Note that the type attribute does not override the\nactual media type returned with the representation."
        },
        "title": {
          "type": "string",
          "description": "The \"title\" attribute conveys human-readable information about the\nlink.  The content of the \"title\" attribute is Language-Sensitive."
        }
      }
    },
    "Metadata": {
      "type": "object",
      "description": "MetaData Object fields",
      "additionalProperties": false,
      "properties": {
        "Author": {
          "type": "string",
          "description": "Value of document Author"
        },
        "LastSaveBy": {
          "type": "string",
          "description": "Value of last save by author of document"
        },
        "Company": {
          "type": "string",
          "description": "Value of Company of document"
        }
      }
    },
    "ObjectExist": {
      "type": "object",
      "description": "Object exists",
      "additionalProperties": false,
      "required": [
        "Exists",
        "IsFolder"
      ],
      "properties": {
        "Exists": {
          "type": "boolean",
          "description": "Indicates that the file or folder exists."
        },
        "IsFolder": {
          "type": "boolean",
          "description": "True if it is a folder, false if it is a file."
        }
      }
    },
    "PageInfo": {
      "type": "object",
      "description": "Represents information about page",
      "additionalProperties": false,
      "required": [
        "Width",
        "Height",
        "PageNumber"
      ],
      "properties": {
        "Width": {
          "type": "integer",
          "description": "Page width",
          "format": "int32"
        },
        "Height": {
          "type": "integer",
          "description": "Page height",
          "format": "int32"
        },
        "PageNumber": {
          "type": "integer",
          "description": "Page number",
          "format": "int32"
        }
      }
    },
    "PreviewOptions": {
      "type": "object",
      "description": "Defines preview options",
      "additionalProperties": false,
      "required": [
        "Format",
        "Width",
        "Height"
      ],
      "properties": {
        "FileInfo": {
          "description": "Input file info",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/FileInfo"
        },
        "Format": {
          "description": "Preview image format",
          "enum": [
            "Jpeg",
            "Png",
            "Bmp"
          ],
          "allOf": [
            {}
          ]
        },
        "OutputFolder": {
          "type": "string",
          "description": "Path to folder with preview results"
        },
        "Width": {
          "type": "integer",
          "description": "Preview width",
          "format": "int32"
        },
        "Height": {
          "type": "integer",
          "description": "Preview height",
          "format": "int32"
        },
        "PageNumbers": {
          "type": "array",
          "description": "Page numbers that will be previewed.",
          "items": {
            "type": "integer",
            "format": "int32"
          }
        }
      }
    },
    "Rectangle": {
      "type": "object",
      "description": "Rectangle model",
      "additionalProperties": false,
      "required": [
        "Height",
        "Width",
        "X",
        "Y"
      ],
      "properties": {
        "Height": {
          "type": "number",
          "description": "Height",
          "format": "double"
        },
        "Width": {
          "type": "number",
          "description": "Width",
          "format": "double"
        },
        "X": {
          "type": "number",
          "description": "X coordinate",
          "format": "double"
        },
        "Y": {
          "type": "number",
          "description": "Y coordinate",
          "format": "double"
        }
      }
    },
    "RevisionInfo": {
      "type": "object",
      "description": "Provides information about one revision.",
      "additionalProperties": false,
      "required": [
        "Id",
        "Action",
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "integer",
          "description": "Id of revision",
          "format": "int32"
        },
        "Action": {
          "description": "Action (accept or reject). This field allows you to influence the display of\nthe revision.\n            ",
          "enum": [
            "None",
            "Accept",
            "Reject"
          ],
          "allOf": [
            {}
          ]
        },
        "Text": {
          "type": "string",
          "description": "The text that is in revision."
        },
        "Author": {
          "type": "string",
          "description": "Author."
        },
        "Type": {
          "description": "RevisionHandler type, depending on the type the Action (accept or reject) logic\nchanges.\n            ",
          "enum": [
            "Insertion",
            "Deletion",
            "FormatChange",
            "StyleDefinitionChange",
            "Moving"
          ],
          "allOf": [
            {}
          ]
        }
      }
    },
    "Settings": {
      "type": "object",
      "description": "Defines comparison process additional settings ",
      "additionalProperties": false,
      "required": [
        "GenerateSummaryPage",
        "ShowDeletedContent",
        "ShowInsertedContent",
        "StyleChangeDetection",
        "DetailsLevel",
        "UseFramesForDelInsElements",
        "CalculateComponentCoordinates",
        "MarkChangedContent",
        "MarkNestedContent",
        "CloneMetadata",
        "PasswordSaveOption",
        "HeaderFootersComparison",
        "PaperSize",
        "SensitivityOfComparison",
        "WordTrackChanges"
      ],
      "properties": {
        "GenerateSummaryPage": {
          "type": "boolean",
          "description": "Indicates whether to add summary page to resultant document or not"
        },
        "ShowDeletedContent": {
          "type": "boolean",
          "description": "Indicates whether to show deleted components in resultant document or not"
        },
        "ShowInsertedContent": {
          "type": "boolean",
          "description": "Indicates whether to show inserted components in resultant document or not"
        },
        "StyleChangeDetection": {
          "type": "boolean",
          "description": "Indicates whether to detect style changes or not"
        },
        "InsertedItemsStyle": {
          "description": "Style for inserted components",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/ItemsStyle"
        },
        "DeletedItemsStyle": {
          "description": "Style for deleted components",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/ItemsStyle"
        },
        "ChangedItemsStyle": {
          "description": "Style for components with changed style",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/ItemsStyle"
        },
        "WordsSeparatorChars": {
          "type": "array",
          "description": "An array of delimiters to split text into words",
          "items": {
            "type": "string"
          }
        },
        "DetailsLevel": {
          "description": "Gets of sets the comparison details level ",
          "enum": [
            "Low",
            "Middle",
            "High"
          ],
          "allOf": [
            {}
          ]
        },
        "UseFramesForDelInsElements": {
          "type": "boolean",
          "description": "Indicates whether to use frames for shapes in Word Processing and for rectangles in Image documents"
        },
        "CalculateComponentCoordinates": {
          "type": "boolean",
          "description": "Indicates whether to calculate coordinates for changed components"
        },
        "MarkChangedContent": {
          "type": "boolean",
          "description": "Indicates whether to use frames for shapes in Word Processing and for rectangles\nin Image documents"
        },
        "MarkNestedContent": {
          "type": "boolean",
          "description": "Gets or sets a value indicating whether to mark the children of the deleted or\ninserted element as deleted or inserted"
        },
        "CloneMetadata": {
          "description": "Gets or sets type of metadata to clone",
          "enum": [
            "Default",
            "Source",
            "Target",
            "FileAuthor"
          ],
          "allOf": [
            {}
          ]
        },
        "MetaData": {
          "description": "Gets or sets user metadata",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/Metadata"
        },
        "PasswordSaveOption": {
          "description": "Gets or sets type of password saving",
          "enum": [
            "None",
            "Source",
            "Target",
            "User"
          ],
          "allOf": [
            {}
          ]
        },
        "Password": {
          "type": "string",
          "description": "Gets or sets user password to resultant document"
        },
        "DiagramMasterSetting": {
          "description": "Gets or sets master for Diagram document",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/DiagramMasterSetting"
        },
        "OriginalSize": {
          "description": "Gets or sets original document size when picture is compared with other different formats",
          "allOf": [
            {}
          ],
          "$ref": "#/definitions/Size"
        },
        "HeaderFootersComparison": {
          "type": "boolean",
          "description": "Control to turn on comparison of header/footer contents"
        },
        "PaperSize": {
          "description": "Gets or sets the result document paper size",
          "enum": [
            "Default",
            "A0",
            "A1",
            "A2",
            "A3",
            "A4",
            "A5",
            "A6",
            "A7",
            "A8"
          ],
          "allOf": [
            {}
          ]
        },
        "SensitivityOfComparison": {
          "type": "integer",
          "description": "Gets or sets a sensitivity of comparison. Default is 75",
          "format": "int32"
        },
        "WordTrackChanges": {
          "type": "boolean",
          "description": "Control to turn on comparison of Words Track Revisions"
        }
      }
    },
    "Size": {
      "type": "object",
      "description": "Item size",
      "additionalProperties": false,
      "required": [
        "Width",
        "Height"
      ],
      "properties": {
        "Width": {
          "type": "integer",
          "description": "Width of item",
          "format": "int32"
        },
        "Height": {
          "type": "integer",
          "description": "Height of item",
          "format": "int32"
        }
      }
    },
    "StorageExist": {
      "type": "object",
      "description": "Storage exists",
      "additionalProperties": false,
      "required": [
        "Exists"
      ],
      "properties": {
        "Exists": {
          "type": "boolean",
          "description": "Shows that the storage exists.\n            "
        }
      }
    },
    "StorageFile": {
      "type": "object",
      "discriminator": "Type",
      "description": "File or folder information",
      "additionalProperties": false,
      "required": [
        "IsFolder",
        "Size"
      ],
      "properties": {
        "Name": {
          "type": "string",
          "description": "File or folder name."
        },
        "IsFolder": {
          "type": "boolean",
          "description": "True if it is a folder."
        },
        "ModifiedDate": {
          "type": "string",
          "description": "File or folder last modified DateTime.",
          "format": "date-time"
        },
        "Size": {
          "type": "integer",
          "description": "File or folder size.",
          "format": "int64"
        },
        "Path": {
          "type": "string",
          "description": "File or folder path."
        }
      }
    },
    "StyleChangeInfo": {
      "type": "object",
      "description": "StyleChangeInfo Object fields",
      "additionalProperties": false,
      "properties": {
        "ChangedProperty": {
          "type": "string",
          "description": "Name of changed style"
        },
        "OldValue": {
          "type": "string",
          "description": "Value of changed style from source document"
        },
        "NewValue": {
          "type": "string",
          "description": "Value of changed style from target document"
        }
      }
    },
    "UpdatesOptions": {
      "type": "object",
      "description": "Comparison option class for updates endpoint",
      "additionalProperties": false,
      "allOf": [
        {
          "$ref": "#/definitions/ComparisonOptions"
        },
        {
          "type": "object",
          "description": "Comparison option class for updates endpoint",
          "additionalProperties": false,
          "properties": {
            "Changes": {
              "type": "array",
              "description": "Changes to apply or reject. Used only for updates resource (/comparison/updates)",
              "items": {
                "$ref": "#/definitions/ChangeInfo"
              }
            }
          }
        }
      ]
    }
  },
  "securityDefinitions": {
    "JWT": {
      "type": "oauth2",
      "flow": "application",
      "tokenUrl": "https://api.groupdocs.cloud/connect/token"
    }
  }
}