{
  "openapi": "3.0.4",
  "info": {
    "title": "Newforma Konekt Document Control API",
    "description": "Document Control API endpoints",
    "version": "1"
  },
  "servers": [
    {
      "url": "https://docs.bimtrackapp.co"
    }
  ],
  "paths": {
    "/hubs/{HubHashId}/projects/{ProjectId}/teams": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "List project teams",
        "description": "Retrieve all Newforma Konekt teams associated with the project.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Authorization.AccessRights.GetTeamsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Authorization.AccessRights.GetTeamsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Authorization.AccessRights.GetTeamsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Authorization.AccessRights.GetTeamsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/{DocumentId}/disciplines": {
      "put": {
        "tags": [
          "Disciplines"
        ],
        "summary": "Assign disciplines",
        "description": "Assign disciplines to a revision.",
        "parameters": [
          {
            "name": "DocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "RevisionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Disciplines.AssignDisciplines.AssignDisciplinesCommand.AssignDisciplinesCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Disciplines.AssignDisciplines.AssignDisciplinesCommand.AssignDisciplinesCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Disciplines.AssignDisciplines.AssignDisciplinesCommand.AssignDisciplinesCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Disciplines.AssignDisciplines.AssignDisciplinesCommand.AssignDisciplinesCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Disciplines.AssignDisciplines.AssignDisciplinesCommand.AssignDisciplinesCommandBody"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.NoContentResult"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.NoContentResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.NoContentResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.NoContentResult"
                }
              }
            }
          },
          "404": {
            "description": "The project or document doesn't exist"
          },
          "403": {
            "description": "You don't have access to the project or required access level to assign disciplines."
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/import_metadata/cancel": {
      "post": {
        "tags": [
          "Metadata"
        ],
        "summary": "Cancel metadata upload",
        "description": "Cancel one or more pending or in-progress metadata imports.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.MetadataImport.CancelMetadataImports.CancelMetadataImportsCommand.CancelSharesCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.MetadataImport.CancelMetadataImports.CancelMetadataImportsCommand.CancelSharesCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.MetadataImport.CancelMetadataImports.CancelMetadataImportsCommand.CancelSharesCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.MetadataImport.CancelMetadataImports.CancelMetadataImportsCommand.CancelSharesCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.MetadataImport.CancelMetadataImports.CancelMetadataImportsCommand.CancelSharesCommandBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/upload/{UploadSessionId}": {
      "delete": {
        "tags": [
          "Upload"
        ],
        "summary": "Delete upload session",
        "description": "Delete a file upload session",
        "parameters": [
          {
            "name": "UploadSessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/shares/{ShareId}/download-link": {
      "post": {
        "tags": [
          "Shares"
        ],
        "summary": "Create share download link",
        "description": "Generate a secure one-time download link for the share.",
        "parameters": [
          {
            "name": "ShareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkRequest.RequestBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkRequest.RequestBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkRequest.RequestBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkRequest.RequestBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkRequest.RequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/{DocumentId}": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Get document details",
        "description": "Retrieve document metadata.",
        "parameters": [
          {
            "name": "DocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.Details.GetDetailsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.Details.GetDetailsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.Details.GetDetailsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.Details.GetDetailsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project or document doesn't exist"
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/download": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Download documents",
        "description": "Download one or more documents as a single ZIP archive (for multiple files) or as the original file (for single file).",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.DownloadDocuments.DownloadDocumentsCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.DownloadDocuments.DownloadDocumentsCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.DownloadDocuments.DownloadDocumentsCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.DownloadDocuments.DownloadDocumentsCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.DownloadDocuments.DownloadDocumentsCommandBody"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The document was successfully downloaded."
          },
          "404": {
            "description": "The project or document doesn't exist"
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "400": {
            "description": "The request is malformed, has invalid parameters values or one or more requested documents are unsafe and cannot be processed."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/download_metadata_template": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "summary": "Download metadata template",
        "description": "Download a CSV template file pre-populated with the project's metadata schema. Used as a starting point for bulk metadata import operations",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/shares/report": {
      "get": {
        "tags": [
          "Shares"
        ],
        "summary": "Download register report",
        "description": "Download a register report of all shares in the project as an Excel or CSV file.",
        "parameters": [
          {
            "name": "Title",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StartDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "EndDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "There are no Shares to report"
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/shares/download": {
      "get": {
        "tags": [
          "Shares"
        ],
        "summary": "Download shared documents",
        "description": "Download documents from a share and return a single file or multiple items as a ZIP archive.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "token",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isDirectDownload",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/access_rights/edit": {
      "post": {
        "tags": [
          "Access rights"
        ],
        "summary": "Manage access rights",
        "description": "Configure which Newforma Konekt teams and email domains are allowed to access Document Control in this project.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Settings.AccessRights.EditAccessRights.EditAccessRightsBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Settings.AccessRights.EditAccessRights.EditAccessRightsBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Settings.AccessRights.EditAccessRights.EditAccessRightsBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Settings.AccessRights.EditAccessRights.EditAccessRightsBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Settings.AccessRights.EditAccessRights.EditAccessRightsBody"
              }
            }
          }
        },
        "responses": {
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/{DocumentId}/metadata": {
      "patch": {
        "tags": [
          "Metadata"
        ],
        "summary": "Edit metadata",
        "description": "Update metadata fields for a document.",
        "parameters": [
          {
            "name": "DocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "RevisionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.EditMetadata.EditMetadataCommand.EditMetadataCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.EditMetadata.EditMetadataCommand.EditMetadataCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.EditMetadata.EditMetadataCommand.EditMetadataCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.EditMetadata.EditMetadataCommand.EditMetadataCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.EditMetadata.EditMetadataCommand.EditMetadataCommandBody"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.NoContentResult"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.NoContentResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.NoContentResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.NoContentResult"
                }
              }
            }
          },
          "404": {
            "description": "The project or document doesn't exist"
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/{DocumentId}/number": {
      "put": {
        "tags": [
          "Metadata"
        ],
        "summary": "Edit document number",
        "description": "Update the document number.",
        "parameters": [
          {
            "name": "DocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.EditNumber.EditNumberCommand.EditNumberCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.EditNumber.EditNumberCommand.EditNumberCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.EditNumber.EditNumberCommand.EditNumberCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.EditNumber.EditNumberCommand.EditNumberCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.EditNumber.EditNumberCommand.EditNumberCommandBody"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The document number was successfully updated."
          },
          "404": {
            "description": "The project or document doesn't exist"
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/revision-settings": {
      "post": {
        "tags": [
          "Revision settings"
        ],
        "summary": "Edit revision settings",
        "description": "Update the revision settings.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Settings.EditRevisionSettings.EditRevisionSettingsCommand.EditRevisionSettingsCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Settings.EditRevisionSettings.EditRevisionSettingsCommand.EditRevisionSettingsCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Settings.EditRevisionSettings.EditRevisionSettingsCommand.EditRevisionSettingsCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Settings.EditRevisionSettings.EditRevisionSettingsCommand.EditRevisionSettingsCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Settings.EditRevisionSettings.EditRevisionSettingsCommand.EditRevisionSettingsCommandBody"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The revision settings were successfully updated."
          },
          "400": {
            "description": "Invalid revision settings update payload"
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      },
      "get": {
        "tags": [
          "Revision settings"
        ],
        "summary": "Get revision settings",
        "description": "Retrieve the current revision settings.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Revision settings successfully fetched",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.GetRevisionSettings.GetRevisionSettingsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.GetRevisionSettings.GetRevisionSettingsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.GetRevisionSettings.GetRevisionSettingsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.GetRevisionSettings.GetRevisionSettingsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "402": {
            "description": "Insufficient subscription plan"
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/export_metadata": {
      "post": {
        "tags": [
          "Metadata"
        ],
        "summary": "Export metadata",
        "description": "Export and download document metadata of specified documents in a CSV file.",
        "parameters": [
          {
            "name": "dateFormat",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timeZoneId",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.ExportMetadata.ExportMetadataCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.ExportMetadata.ExportMetadataCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.ExportMetadata.ExportMetadataCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.ExportMetadata.ExportMetadataCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.ExportMetadata.ExportMetadataCommandBody"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The documents metadata was successfully exported."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/upload/{UploadSessionId}/finalize": {
      "post": {
        "tags": [
          "Upload"
        ],
        "summary": "Finalize upload",
        "description": "Finalize a file upload, providing metadata required for the creation of the file",
        "parameters": [
          {
            "name": "UploadSessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.Uploads.FinalizeUpload.FinalizeUploadCommand.FinalizeUploadCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.Uploads.FinalizeUpload.FinalizeUploadCommand.FinalizeUploadCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.Uploads.FinalizeUpload.FinalizeUploadCommand.FinalizeUploadCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.Uploads.FinalizeUpload.FinalizeUploadCommand.FinalizeUploadCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.Uploads.FinalizeUpload.FinalizeUploadCommand.FinalizeUploadCommandBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.Uploads.FinalizeUpload.FinalizeUploadResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.Uploads.FinalizeUpload.FinalizeUploadResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.Uploads.FinalizeUpload.FinalizeUploadResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.Uploads.FinalizeUpload.FinalizeUploadResponse"
                }
              }
            }
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/allowed_domains": {
      "get": {
        "tags": [
          "Access rights"
        ],
        "summary": "List allowed access domains",
        "description": "Retrieve the list of email domains allowed to access Document Control. Users with emails from these domains can be invited",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.AccessRights.AllowedDomains.GetAllowedDomains.GetAllowedDomainsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.AccessRights.AllowedDomains.GetAllowedDomains.GetAllowedDomainsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.AccessRights.AllowedDomains.GetAllowedDomains.GetAllowedDomainsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.AccessRights.AllowedDomains.GetAllowedDomains.GetAllowedDomainsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/allowed_teams": {
      "get": {
        "tags": [
          "Access rights"
        ],
        "summary": "List allowed access teams",
        "description": "Retrieve the list of Newforma Konekt teams that are allowed to access Document Control.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.AccessRights.AllowedTeams.GetAllowedTeams.GetAllowedTeamsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.AccessRights.AllowedTeams.GetAllowedTeams.GetAllowedTeamsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.AccessRights.AllowedTeams.GetAllowedTeams.GetAllowedTeamsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Settings.AccessRights.AllowedTeams.GetAllowedTeams.GetAllowedTeamsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/{DocumentId}/history": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Get document history",
        "description": "Return history for the specified document.",
        "parameters": [
          {
            "name": "DocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.GetDocumentHistory.HistoryLogsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.GetDocumentHistory.HistoryLogsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.GetDocumentHistory.HistoryLogsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.GetDocumentHistory.HistoryLogsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project or document doesn't exist"
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/{DocumentId}/revisions": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "List document revisions",
        "description": "Retrieve all file revisions of a document.",
        "parameters": [
          {
            "name": "DocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.GetDocumentRevisions.GetDocumentRevisionsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.GetDocumentRevisions.GetDocumentRevisionsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.GetDocumentRevisions.GetDocumentRevisionsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.GetDocumentRevisions.GetDocumentRevisionsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project or document doesn't exist"
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/file_extensions": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "List file extensions used in project",
        "description": "Retrieve a distinct list of all file extensions currently used in the project's documents.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "UserName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IsFromSystem",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "AccessToken",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetFileExtensions.GetFileExtensionsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetFileExtensions.GetFileExtensionsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetFileExtensions.GetFileExtensionsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetFileExtensions.GetFileExtensionsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "402": {
            "description": "Insufficient subscription plan"
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/import_metadata/latest": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "summary": "List latest incomplete metadata imports",
        "description": "Retrieve recent metadata imports.",
        "parameters": [
          {
            "name": "Days",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.MetadataImport.GetLatestMetadataImports.GetLatestMetadataImportsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.MetadataImport.GetLatestMetadataImports.GetLatestMetadataImportsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.MetadataImport.GetLatestMetadataImports.GetLatestMetadataImportsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.MetadataImport.GetLatestMetadataImports.GetLatestMetadataImportsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project or the metadata import process doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/project_authors": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "List author users",
        "description": "List all users who have uploaded files to the project.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "UserName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IsFromSystem",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "AccessToken",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetProjectAuthors.GetProjectAuthorsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetProjectAuthors.GetProjectAuthorsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetProjectAuthors.GetProjectAuthorsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetProjectAuthors.GetProjectAuthorsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/project_users": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "List project users",
        "description": "Retrieve all users in the project.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetProjectUsers.GetProjectUsersResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetProjectUsers.GetProjectUsersResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetProjectUsers.GetProjectUsersResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Projects.GetProjectUsers.GetProjectUsersResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/shares/count": {
      "get": {
        "tags": [
          "Shares"
        ],
        "summary": "Get number of shares",
        "description": "Retrieve the total count of active shares in the project.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "404": {
            "description": "The project or document doesn't exist"
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/shares/{ShareId}/history": {
      "get": {
        "tags": [
          "Shares"
        ],
        "summary": "Get share history",
        "description": "Return history for the specified share.",
        "parameters": [
          {
            "name": "ShareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Shares.GetShareHistory.HistoryLogsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Shares.GetShareHistory.HistoryLogsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Shares.GetShareHistory.HistoryLogsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Shares.GetShareHistory.HistoryLogsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project or share doesn't exist"
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/shares/{Token}/get_info": {
      "get": {
        "tags": [
          "Shares"
        ],
        "summary": "Get shared items details",
        "description": "Retrieve metadata about a share.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "404": {
            "description": "The share does not exist."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/upload": {
      "post": {
        "tags": [
          "Upload"
        ],
        "summary": "Upload file",
        "description": "Create a new file upload session via the [tus protocol](https://tus.io). Returns an upload URL in Location header.    You can use one of the [available clients](https://tus.io/implementations) or implement your own client following the protocol specification.",
        "parameters": [
          {
            "name": "Upload-Length",
            "in": "header",
            "description": "Total file size in bytes",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Upload-Metadata",
            "in": "header",
            "description": "Base64-encoded metadata (filename, folderId, projectId, etc.)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Tus-Resumable",
            "in": "header",
            "description": "tus protocol version",
            "required": true,
            "schema": {
              "type": "string",
              "default": "1.0.0"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Upload session created successfully. Use Location header URL for PATCH requests."
          },
          "400": {
            "description": "Bad request or invalid metadata"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden - no project access"
          },
          "307": {
            "description": "Redirect to correct datacenter"
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/import_metadata": {
      "post": {
        "tags": [
          "Metadata"
        ],
        "summary": "Upload metadata file",
        "description": "Upload a CSV or XLSX file to import document metadata asynchronously. The file is processed in the background to update the documents.",
        "parameters": [
          {
            "name": "fileName",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Length",
            "in": "header",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "dateFormat",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timeZoneId",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The metadata was successfully uploaded."
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/import_metadata_parse": {
      "post": {
        "tags": [
          "Metadata"
        ],
        "summary": "Validate import metadata file",
        "description": "Validate a CSV or XLSX metadata file before import.",
        "parameters": [
          {
            "name": "Content-Length",
            "in": "header",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "dateFormat",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timeZoneId",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The metadata was successfully parsed and validated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResultOfFeatures.MetadataImport.ImportMetadataParse.ImportMetadataParseResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ResultOfFeatures.MetadataImport.ImportMetadataParse.ImportMetadataParseResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResultOfFeatures.MetadataImport.ImportMetadataParse.ImportMetadataParseResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResultOfFeatures.MetadataImport.ImportMetadataParse.ImportMetadataParseResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/disciplines": {
      "get": {
        "tags": [
          "Disciplines"
        ],
        "summary": "List disciplines",
        "description": "List the disciplines available in a project along with the configured label.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Disciplines.ListDisciplines.ListDisciplinesResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Disciplines.ListDisciplines.ListDisciplinesResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Disciplines.ListDisciplines.ListDisciplinesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Disciplines.ListDisciplines.ListDisciplinesResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/document_list": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "List documents",
        "description": "Retrieve a list of all documents in the project.",
        "parameters": [
          {
            "name": "$filter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "$skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "$count",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$orderBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;odata.metadata=minimal;odata.streaming=true": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json;odata.metadata=minimal;odata.streaming=false": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json;odata.metadata=minimal": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json;odata.metadata=full;odata.streaming=true": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json;odata.metadata=full;odata.streaming=false": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json;odata.metadata=full": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json;odata.metadata=none;odata.streaming=true": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json;odata.metadata=none;odata.streaming=false": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json;odata.metadata=none": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json;odata.streaming=true": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json;odata.streaming=false": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "application/octet-stream": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Features.Documents.BaseDocumentResponse"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/uploadSessions": {
      "get": {
        "tags": [
          "Upload"
        ],
        "summary": "List upload sessions",
        "description": "Retrieve all active and recent upload sessions created by the current user.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.UploadSessions.ListMyUploadSessions.ListMyUploadSessionsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.UploadSessions.ListMyUploadSessions.ListMyUploadSessionsResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.UploadSessions.ListMyUploadSessions.ListMyUploadSessionsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.UploadSessions.ListMyUploadSessions.ListMyUploadSessionsResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/revision_candidates": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "List revision candidates",
        "description": "Return potential parent documents for uploaded files based on filename matching and similarity. Returns up to 6 best matching documents or placeholders that the files could be revisions of.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesCommand.ListRevisionCandidatesCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesCommand.ListRevisionCandidatesCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesCommand.ListRevisionCandidatesCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesCommand.ListRevisionCandidatesCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesCommand.ListRevisionCandidatesCommandBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "402": {
            "description": "Insufficient subscription plan"
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/move_to_bin": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Move document to bin",
        "description": "Soft-delete a document.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.MoveDocumentToBin.MoveDocumentToBinCommand.MoveDocumentToBinCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.MoveDocumentToBin.MoveDocumentToBinCommand.MoveDocumentToBinCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.MoveDocumentToBin.MoveDocumentToBinCommand.MoveDocumentToBinCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.MoveDocumentToBin.MoveDocumentToBinCommand.MoveDocumentToBinCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.MoveDocumentToBin.MoveDocumentToBinCommand.MoveDocumentToBinCommandBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.MoveDocumentToBin.MoveDocumentToBinResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.MoveDocumentToBin.MoveDocumentToBinResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.MoveDocumentToBin.MoveDocumentToBinResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.MoveDocumentToBin.MoveDocumentToBinResponse"
                }
              }
            }
          },
          "204": {
            "description": "The document was successfully moved to bin."
          },
          "404": {
            "description": "The project or the document doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/revision/{RevisionId}/move_to_bin": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Move revision to bin",
        "description": "Soft-delete a revision.",
        "parameters": [
          {
            "name": "RevisionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The revision was successfully moved to bin."
          },
          "404": {
            "description": "The project, document or revision doesn't exist."
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/multi_edit_metadata": {
      "put": {
        "tags": [
          "Metadata"
        ],
        "summary": "Multi edit metadata",
        "description": "Bulk update metadata for one or more documents. Changes are applied to the latest revision of each specified document.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.MultiEditMetadata.MultiEditMetadataBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.MultiEditMetadata.MultiEditMetadataBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.MultiEditMetadata.MultiEditMetadataBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.MultiEditMetadata.MultiEditMetadataBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.MultiEditMetadata.MultiEditMetadataBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.MultiEditMetadata.MultiEditMetadataResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.MultiEditMetadata.MultiEditMetadataResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.MultiEditMetadata.MultiEditMetadataResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.MultiEditMetadata.MultiEditMetadataResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/upload/{FileId}": {
      "patch": {
        "tags": [
          "Upload"
        ],
        "summary": "Upload file chunk",
        "description": "Upload a chunk of file data to an existing session.",
        "parameters": [
          {
            "name": "Upload-Offset",
            "in": "header",
            "description": "Byte offset where this chunk starts, must match previous chunk's Upload-Offset header",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "Must be 'application/offset+octet-stream'",
            "required": true,
            "schema": {
              "type": "string",
              "default": "application/offset+octet-stream"
            }
          },
          {
            "name": "Tus-Resumable",
            "in": "header",
            "description": "tus protocol version",
            "required": true,
            "schema": {
              "type": "string",
              "default": "1.0.0"
            }
          }
        ],
        "requestBody": {
          "description": "Binary chunk data",
          "content": {
            "application/offset+octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Chunk uploaded successfully. Check Upload-Offset header for next offset."
          },
          "400": {
            "description": "Bad request or invalid offset"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Upload session not found or expired"
          },
          "409": {
            "description": "Upload-Offset conflict - does not match current offset"
          }
        }
      },
      "head": {
        "tags": [
          "Upload"
        ],
        "summary": "Get upload progress",
        "description": "Retrieve current upload progress. Returns Upload-Offset header indicating bytes uploaded so far.",
        "parameters": [
          {
            "name": "Tus-Resumable",
            "in": "header",
            "description": "tus protocol version",
            "required": true,
            "schema": {
              "type": "string",
              "default": "1.0.0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Upload session found. Check Upload-Offset and Upload-Length headers."
          },
          "404": {
            "description": "Upload session not found or expired"
          }
        }
      },
      "delete": {
        "tags": [
          "Upload"
        ],
        "summary": "Cancel upload",
        "description": "Delete an upload session and remove any partially uploaded data.",
        "parameters": [
          {
            "name": "Tus-Resumable",
            "in": "header",
            "description": "tus protocol version",
            "required": true,
            "schema": {
              "type": "string",
              "default": "1.0.0"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Upload session deleted successfully"
          },
          "404": {
            "description": "Upload session not found"
          }
        }
      },
      "parameters": [
        {
          "name": "FileId",
          "in": "path",
          "description": "Upload session file ID returned from POST /upload",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/{DocumentId}/rename": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Rename document",
        "description": "Rename a document.",
        "parameters": [
          {
            "name": "DocumentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.RenameDocument.RenameDocumentCommand.RenameDocumentCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.RenameDocument.RenameDocumentCommand.RenameDocumentCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.RenameDocument.RenameDocumentCommand.RenameDocumentCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.RenameDocument.RenameDocumentCommand.RenameDocumentCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.RenameDocument.RenameDocumentCommand.RenameDocumentCommandBody"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The document was successfully renamed."
          },
          "404": {
            "description": "The project or document doesn't exist"
          },
          "403": {
            "description": "You don't have access to the project."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/review": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Review document",
        "description": "Update the review status of one or more documents.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.Review.ReviewDocumentCommand.ReviewDocumentCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.Review.ReviewDocumentCommand.ReviewDocumentCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.Review.ReviewDocumentCommand.ReviewDocumentCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.Review.ReviewDocumentCommand.ReviewDocumentCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Documents.Review.ReviewDocumentCommand.ReviewDocumentCommandBody"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The documents were successfully reviewed."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "403": {
            "description": "You don't have access to the project or you are not allowed to review the documents."
          },
          "404": {
            "description": "The project or document doesn't exist"
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/documents/search_revision_candidates": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Search revision candidates",
        "description": "Search for potential parent documents by file extension and search term.",
        "parameters": [
          {
            "name": "extension",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.SearchRevisionCandidates.SearchRevisionCandidatesResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.SearchRevisionCandidates.SearchRevisionCandidatesResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.SearchRevisionCandidates.SearchRevisionCandidatesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.SearchRevisionCandidates.SearchRevisionCandidatesResponse"
                }
              }
            }
          },
          "404": {
            "description": "The project doesn't exist."
          },
          "403": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed or has invalid parameters values."
          },
          "402": {
            "description": "Insufficient subscription plan"
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    },
    "/hubs/{HubHashId}/projects/{ProjectId}/share": {
      "post": {
        "tags": [
          "Shares"
        ],
        "summary": "Share documents",
        "description": "Share one or more documents to external users using their email. Send email with a link that external users can access to view and download the shared content.",
        "parameters": [
          {
            "name": "HubHashId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProjectId",
            "in": "path",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Shares.ShareDocuments.ShareDocumentsCommand.ShareDocumentsCommandBody"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/Features.Shares.ShareDocuments.ShareDocumentsCommand.ShareDocumentsCommandBody"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Features.Shares.ShareDocuments.ShareDocumentsCommand.ShareDocumentsCommandBody"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Shares.ShareDocuments.ShareDocumentsCommand.ShareDocumentsCommandBody"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Features.Shares.ShareDocuments.ShareDocumentsCommand.ShareDocumentsCommandBody"
              }
            }
          }
        },
        "responses": {
          "404": {
            "description": "The project or the document revision does not exist."
          },
          "403": {
            "description": "You don't have access to the project or access level to share these documents."
          },
          "401": {
            "description": "The request is not authenticated."
          },
          "400": {
            "description": "The request is malformed, has invalid parameters values or one or more requested documents are unsafe and cannot be processed."
          },
          "307": {
            "description": "According to the hub id, the request is at the wrong datacenter. Please retry with the URL in the \"Location\" header."
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Ardalis.Result.ResultStatus": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8
        ],
        "type": "integer",
        "format": "int32"
      },
      "Ardalis.Result.ValidationError": {
        "type": "object",
        "properties": {
          "identifier": {
            "type": "string",
            "nullable": true
          },
          "errorMessage": {
            "type": "string",
            "nullable": true
          },
          "errorCode": {
            "type": "string",
            "nullable": true
          },
          "severity": {
            "$ref": "#/components/schemas/Ardalis.Result.ValidationSeverity"
          }
        },
        "additionalProperties": false
      },
      "Ardalis.Result.ValidationSeverity": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "BIMOne.BIMTrack.DocumentControl.Audit.Details.AuditDetailsChange": {
        "required": [
          "newValue",
          "previousValue",
          "property",
          "type"
        ],
        "type": "object",
        "properties": {
          "property": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "previousValue": {
            "type": "string",
            "nullable": true
          },
          "newValue": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BIMOne.BIMTrack.DocumentControl.Audit.Details.AuditDetailsProperty": {
        "required": [
          "property",
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "property": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BIMOne.BIMTrack.DocumentControl.Data.Entities.AuditAction": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "type": "integer",
        "format": "int32"
      },
      "BIMOne.BIMTrack.DocumentControl.Data.Entities.AuditDocumentSource": {
        "enum": [
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "BIMOne.BIMTrack.DocumentControl.Data.Entities.DocumentStatus": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "BIMOne.BIMTrack.DocumentControl.Data.Entities.MetadataFieldType": {
        "enum": [
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "BIMOne.BIMTrack.DocumentControl.Data.Entities.MetadataImportStatus": {
        "enum": [
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "BIMOne.BIMTrack.DocumentControl.Data.Entities.SharePurpose": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "BIMOne.BIMTrack.DocumentControl.ImportMetadata.MetadataParsing.Models.DisciplineFieldInfo": {
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BIMOne.BIMTrack.DocumentControl.ImportMetadata.MetadataParsing.Models.DocumentSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "string",
            "nullable": true
          },
          "scale": {
            "type": "string",
            "nullable": true
          },
          "discipline": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.ImportMetadata.MetadataParsing.Models.DisciplineFieldInfo"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "suitability": {
            "type": "string",
            "nullable": true
          },
          "revisionDescription": {
            "type": "string",
            "nullable": true
          },
          "revisionPurpose": {
            "type": "string",
            "nullable": true
          },
          "revisionPrefix": {
            "type": "string",
            "nullable": true
          },
          "revisionNumber": {
            "type": "string",
            "nullable": true
          },
          "revisionSuffix": {
            "type": "string",
            "nullable": true
          },
          "revisionDate": {
            "type": "string",
            "nullable": true
          },
          "hasMatchingDocument": {
            "type": "boolean"
          },
          "row": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "BIMOne.BIMTrack.DocumentControl.ImportMetadata.MetadataParsing.Validation.ParsingValidationErrors": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14
        ],
        "type": "integer",
        "format": "int32"
      },
      "Features.Authorization.AccessRights.GetTeamsResponse": {
        "type": "object",
        "properties": {
          "teams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Authorization.AccessRights.TeamResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Authorization.AccessRights.TeamResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Authorization.GetUserRole.GetUserRoleResponse": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "nullable": true
          },
          "isReviewer": {
            "type": "boolean"
          },
          "teams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Authorization.GetUserRole.ProjectTeamResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Authorization.GetUserRole.ProjectTeamResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Disciplines.AssignDisciplines.AssignDisciplinesCommand.AssignDisciplinesCommandBody": {
        "type": "object",
        "properties": {
          "disciplineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Disciplines.ListDisciplines.ListDisciplinesResponse": {
        "type": "object",
        "properties": {
          "disciplineLabel": {
            "type": "string",
            "nullable": true
          },
          "disciplineValues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Shared.Models.DisciplineModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.BaseDocumentResponse": {
        "type": "object",
        "properties": {
          "revisionPrefix": {
            "type": "string",
            "nullable": true
          },
          "revisionNumber": {
            "type": "string",
            "nullable": true
          },
          "revisionSuffix": {
            "type": "string",
            "nullable": true
          },
          "revisionDate": {
            "type": "string",
            "nullable": true
          },
          "revisionId": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "documentStatus": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.DocumentStatus"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedByUser": {
            "$ref": "#/components/schemas/Features.Shared.Models.UserSummary"
          },
          "lastModifiedRevisionPrefix": {
            "type": "string",
            "nullable": true
          },
          "lastModifiedRevisionNumber": {
            "type": "string",
            "nullable": true
          },
          "lastModifiedRevisionSuffix": {
            "type": "string",
            "nullable": true
          },
          "createdByUser": {
            "$ref": "#/components/schemas/Features.Shared.Models.UserSummary"
          },
          "lastIssued": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "disciplines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Shared.Models.DisciplineModel"
            },
            "nullable": true
          },
          "metadata": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Documents.MetadataEntryResponse"
            },
            "nullable": true
          },
          "fileExtension": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.Details.GetDetailsResponse": {
        "type": "object",
        "properties": {
          "revisionPrefix": {
            "type": "string",
            "nullable": true
          },
          "revisionNumber": {
            "type": "string",
            "nullable": true
          },
          "revisionSuffix": {
            "type": "string",
            "nullable": true
          },
          "revisionDate": {
            "type": "string",
            "nullable": true
          },
          "revisionId": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "documentStatus": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.DocumentStatus"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedByUser": {
            "$ref": "#/components/schemas/Features.Shared.Models.UserSummary"
          },
          "lastModifiedRevisionPrefix": {
            "type": "string",
            "nullable": true
          },
          "lastModifiedRevisionNumber": {
            "type": "string",
            "nullable": true
          },
          "lastModifiedRevisionSuffix": {
            "type": "string",
            "nullable": true
          },
          "createdByUser": {
            "$ref": "#/components/schemas/Features.Shared.Models.UserSummary"
          },
          "lastIssued": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "disciplines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Shared.Models.DisciplineModel"
            },
            "nullable": true
          },
          "metadata": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Documents.MetadataEntryResponse"
            },
            "nullable": true
          },
          "fileExtension": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.DownloadDocuments.DocumentToDownloadBody": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "revisionId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.DownloadDocuments.DownloadDocumentsCommandBody": {
        "required": [
          "documents"
        ],
        "type": "object",
        "properties": {
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Documents.DownloadDocuments.DocumentToDownloadBody"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.EditMetadata.EditMetadataCommand.EditMetadataCommandBody": {
        "type": "object",
        "properties": {
          "fieldName": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.EditNumber.EditNumberCommand.EditNumberCommandBody": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.ExportMetadata.ExportMetadataCommandBody": {
        "type": "object",
        "properties": {
          "documentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.GetDocumentHistory.HistoryLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "documentRevisionNumber": {
            "$ref": "#/components/schemas/Features.Documents.RevisionNumberResponse"
          },
          "performedOn": {
            "type": "string",
            "format": "date-time"
          },
          "performedBy": {
            "$ref": "#/components/schemas/Features.Shared.Models.UserSummary"
          },
          "performedAction": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.AuditAction"
          },
          "documentSource": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.AuditDocumentSource"
          },
          "properties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Audit.Details.AuditDetailsProperty"
            },
            "nullable": true
          },
          "changes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Audit.Details.AuditDetailsChange"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.GetDocumentHistory.HistoryLogsResponse": {
        "required": [
          "skipToken"
        ],
        "type": "object",
        "properties": {
          "historyLogs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Documents.GetDocumentHistory.HistoryLog"
            },
            "nullable": true
          },
          "skipToken": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.GetDocumentRevisions.GetDocumentRevisionsResponse": {
        "type": "object",
        "properties": {
          "revisions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Documents.GetDocumentRevisions.RevisionResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.GetDocumentRevisions.MetadataEntryResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.MetadataFieldType"
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.GetDocumentRevisions.RevisionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "revisionNumber": {
            "$ref": "#/components/schemas/Features.Documents.RevisionNumberResponse"
          },
          "disciplines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Shared.Models.DisciplineModel"
            },
            "nullable": true
          },
          "metadata": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Documents.GetDocumentRevisions.MetadataEntryResponse"
            },
            "nullable": true
          },
          "lastModifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastModifiedByUser": {
            "$ref": "#/components/schemas/Features.Shared.Models.UserSummary"
          },
          "documentStatus": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.DocumentStatus"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "deletedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.MetadataEntryResponse": {
        "required": [
          "name",
          "value"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.MoveDocumentToBin.MoveDocumentToBinCommand.MoveDocumentToBinCommandBody": {
        "type": "object",
        "properties": {
          "documentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.MoveDocumentToBin.MoveDocumentToBinResponse": {
        "type": "object",
        "properties": {
          "movedToBinCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.MultiEditMetadata.MultiEditMetadata": {
        "type": "object",
        "properties": {
          "size": {
            "type": "string",
            "nullable": true
          },
          "scale": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "suitability": {
            "type": "string",
            "nullable": true
          },
          "revisionPurpose": {
            "type": "string",
            "nullable": true
          },
          "disciplineIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.MultiEditMetadata.MultiEditMetadataBody": {
        "type": "object",
        "properties": {
          "documentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "metadata": {
            "$ref": "#/components/schemas/Features.Documents.MultiEditMetadata.MultiEditMetadata"
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.MultiEditMetadata.MultiEditMetadataResponse": {
        "type": "object",
        "properties": {
          "editedDocumentCount": {
            "type": "integer",
            "format": "int32"
          },
          "readOnlyDocumentSkippedCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.RenameDocument.RenameDocumentCommand.RenameDocumentCommandBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.Review.ReviewDocumentCommand.ReviewDocumentCommandBody": {
        "type": "object",
        "properties": {
          "documentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "remark": {
            "maxLength": 20000,
            "type": "string",
            "nullable": true
          },
          "reviewStatus": {
            "$ref": "#/components/schemas/Features.Documents.Review.ReviewDocumentCommand.ReviewStatus"
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.Review.ReviewDocumentCommand.ReviewStatus": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesCommand.FileToMatch": {
        "type": "object",
        "properties": {
          "fileNameWithoutExtension": {
            "type": "string",
            "nullable": true
          },
          "extension": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesCommand.ListRevisionCandidatesCommandBody": {
        "type": "object",
        "properties": {
          "filesToMatch": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesCommand.FileToMatch"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.RevisionCandidates.ListRevisionCandidates.ListRevisionCandidatesResponse": {
        "required": [
          "revisionCandidatesByFileNames"
        ],
        "type": "object",
        "properties": {
          "revisionCandidatesByFileNames": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.RevisionCandidateResponse"
              }
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.RevisionCandidates.RevisionCandidateResponse": {
        "required": [
          "documentId",
          "documentStatus",
          "metadataRevisionNumber",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "exactMatch": {
            "type": "boolean"
          },
          "documentId": {
            "type": "string",
            "nullable": true
          },
          "documentStatus": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.DocumentStatus"
          },
          "latestRevisionNumber": {
            "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.RevisionCandidateResponse.CandidateRevisionNumberResponse"
          },
          "metadataRevisionNumber": {
            "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.RevisionCandidateResponse.CandidateRevisionNumberResponse"
          },
          "revisionNumbersByPrefix": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.RevisionCandidateResponse.CandidateRevisionNumberResponse"
              }
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.RevisionCandidates.RevisionCandidateResponse.CandidateRevisionNumberResponse": {
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.RevisionCandidates.SearchRevisionCandidates.SearchRevisionCandidatesResponse": {
        "type": "object",
        "properties": {
          "revisionCandidates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Documents.RevisionCandidates.RevisionCandidateResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.RevisionNumberResponse": {
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.Uploads.FinalizeUpload.FinalizeUploadCommand.FinalizeUploadCommandBody": {
        "required": [
          "documentName",
          "uploadRevision"
        ],
        "type": "object",
        "properties": {
          "projectId": {
            "type": "integer",
            "format": "int32"
          },
          "documentName": {
            "minLength": 1,
            "type": "string"
          },
          "documentId": {
            "type": "string",
            "nullable": true
          },
          "uploadRevision": {
            "$ref": "#/components/schemas/Features.Documents.Uploads.FinalizeUpload.FinalizeUploadCommand.FinalizeUploadCommandBody.UploadRevisionBody"
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.Uploads.FinalizeUpload.FinalizeUploadCommand.FinalizeUploadCommandBody.UploadRevisionBody": {
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Documents.Uploads.FinalizeUpload.FinalizeUploadResponse": {
        "type": "object",
        "properties": {
          "revisionNumber": {
            "type": "string",
            "nullable": true
          },
          "revisionId": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedByUser": {
            "$ref": "#/components/schemas/Features.Shared.Models.UserSummary"
          },
          "createdByUser": {
            "$ref": "#/components/schemas/Features.Shared.Models.UserSummary"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "originalDocumentUploadName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.GetFeatureFlag.GetFeatureFlagResponse": {
        "type": "object",
        "properties": {
          "response": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Features.MetadataImport.CancelMetadataImports.CancelMetadataImportsCommand.CancelSharesCommandBody": {
        "type": "object",
        "properties": {
          "metadataImportIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.MetadataImport.GetLatestMetadataImports.GetLatestMetadataImportsResponse": {
        "type": "object",
        "properties": {
          "metadataImports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.MetadataImport.GetLatestMetadataImports.LatestMetadataImport"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.MetadataImport.GetLatestMetadataImports.LatestMetadataImport": {
        "required": [
          "fileName",
          "id",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.MetadataImportStatus"
          },
          "fileName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.MetadataImport.ImportMetadataParse.ImportMetadataParseResponse": {
        "type": "object",
        "properties": {
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.ImportMetadata.MetadataParsing.Models.DocumentSummary"
            },
            "nullable": true
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.ImportMetadata.MetadataParsing.Validation.ParsingValidationErrors"
              }
            },
            "nullable": true
          },
          "disciplineLabel": {
            "type": "string",
            "nullable": true
          },
          "disciplineErrors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Migration.Metadata.CreatedDocument": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "revisions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Migration.Metadata.CreatedRevision"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Migration.Metadata.CreatedRevision": {
        "required": [
          "id",
          "incomingId",
          "uploadSasUrl"
        ],
        "type": "object",
        "properties": {
          "incomingId": {
            "type": "string",
            "nullable": true
          },
          "uploadSasUrl": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Migration.Metadata.MigrateChange": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Migration.Metadata.MigrateDocument": {
        "required": [
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "createdByUserId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "revisions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Migration.Metadata.MigrateRevision"
            },
            "nullable": true
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Migration.Metadata.MigrateEvent"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Migration.Metadata.MigrateEvent": {
        "type": "object",
        "properties": {
          "performedOn": {
            "type": "string",
            "format": "date-time"
          },
          "performedByUserId": {
            "type": "integer",
            "format": "int32"
          },
          "performedAction": {
            "$ref": "#/components/schemas/Features.Migration.Metadata.PerformedAction"
          },
          "changes": {
            "$ref": "#/components/schemas/Features.Migration.Metadata.MigrateChange"
          }
        },
        "additionalProperties": false
      },
      "Features.Migration.Metadata.MigrateMetadataBody": {
        "type": "object",
        "properties": {
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Migration.Metadata.MigrateDocument"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Migration.Metadata.MigrateMetadataResponse": {
        "type": "object",
        "properties": {
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Migration.Metadata.CreatedDocument"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Migration.Metadata.MigrateRevision": {
        "required": [
          "fileSize",
          "number"
        ],
        "type": "object",
        "properties": {
          "incomingId": {
            "type": "string",
            "nullable": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int64"
          },
          "size": {
            "type": "string",
            "nullable": true
          },
          "scale": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "purpose": {
            "type": "string",
            "nullable": true
          },
          "disciplines": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "uploadedByUserId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "uploadedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Migration.Metadata.PerformedAction": {
        "enum": [
          "MigrationItemMigrated",
          "MigrationItemCreated",
          "MigrationItemModified",
          "MigrationItemDownloaded"
        ],
        "type": "string"
      },
      "Features.Ping.PingResponse": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Projects.GetFileExtensions.GetFileExtensionsResponse": {
        "type": "object",
        "properties": {
          "fileExtensions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "hasFilesWithoutExtensions": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Features.Projects.GetProjectAuthors.GetProjectAuthorsResponse": {
        "required": [
          "authors"
        ],
        "type": "object",
        "properties": {
          "authors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Shared.Models.UserSummary"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Projects.GetProjectUsers.GetProjectUsersResponse": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Projects.GetProjectUsers.GetProjectUsersResponse.ProjectUser"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Projects.GetProjectUsers.GetProjectUsersResponse.ProjectUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "avatarUrl": {
            "type": "string",
            "nullable": true
          },
          "isDisabled": {
            "type": "boolean"
          },
          "globalUsername": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Settings.AccessRights.AllowedDomains.GetAllowedDomains.AllowedAccessDomainResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "domain": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Settings.AccessRights.AllowedDomains.GetAllowedDomains.GetAllowedDomainsResponse": {
        "type": "object",
        "properties": {
          "allowedDomains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Settings.AccessRights.AllowedDomains.GetAllowedDomains.AllowedAccessDomainResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Settings.AccessRights.AllowedTeams.GetAllowedTeams.AllowedAccessTeamResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Settings.AccessRights.AllowedTeams.GetAllowedTeams.GetAllowedTeamsResponse": {
        "type": "object",
        "properties": {
          "allowedTeams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Settings.AccessRights.AllowedTeams.GetAllowedTeams.AllowedAccessTeamResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Settings.AccessRights.EditAccessRights.EditAccessRightsBody": {
        "required": [
          "allowedEmailDomains",
          "allowedTeamIds"
        ],
        "type": "object",
        "properties": {
          "allowedTeamIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "allowedEmailDomains": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "Features.Settings.EditRevisionSettings.EditRevisionSettingsCommand.EditRevisionSettingsCommandBody": {
        "required": [
          "startingNumber"
        ],
        "type": "object",
        "properties": {
          "startingPrefix": {
            "type": "string",
            "nullable": true
          },
          "startingNumber": {
            "type": "string",
            "nullable": true
          },
          "startingSuffix": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Settings.GetRevisionSettings.GetRevisionSettingsResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/Features.Settings.GetRevisionSettings.RevisionSettingsModel"
          }
        },
        "additionalProperties": false
      },
      "Features.Settings.GetRevisionSettings.RevisionSettingsModel": {
        "required": [
          "startingNumber"
        ],
        "type": "object",
        "properties": {
          "startingPrefix": {
            "type": "string",
            "nullable": true
          },
          "startingNumber": {
            "type": "string",
            "nullable": true
          },
          "startingSuffix": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shared.Models.DisciplineModel": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shared.Models.HubSummary": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shared.Models.ProjectSummary": {
        "required": [
          "hub",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "hub": {
            "$ref": "#/components/schemas/Features.Shared.Models.HubSummary"
          }
        },
        "additionalProperties": false
      },
      "Features.Shared.Models.UserSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "avatarUrl": {
            "type": "string",
            "nullable": true
          },
          "isDisabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkRequest.RequestBody": {
        "type": "object",
        "properties": {
          "createdByUserName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.CreateShareDownloadLink.CreateShareDownloadLinkResponse": {
        "required": [
          "downloadUri"
        ],
        "type": "object",
        "properties": {
          "downloadUri": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.GetShareContent.GetShareContentResponse": {
        "type": "object",
        "properties": {
          "shareItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Shares.GetShareContent.GetShareContentResponseItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.GetShareContent.GetShareContentResponseItem": {
        "required": [
          "fileName",
          "revisionNumber"
        ],
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "revisionNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.GetShareDetails.GetShareDetailsResponse": {
        "required": [
          "createdByUser",
          "cultureInfo",
          "fileName",
          "project"
        ],
        "type": "object",
        "properties": {
          "shareId": {
            "type": "string",
            "nullable": true
          },
          "createdByUser": {
            "$ref": "#/components/schemas/Features.Shares.GetShareDetails.ShareDetailsUser"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "purpose": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.SharePurpose"
          },
          "cultureInfo": {
            "type": "string",
            "nullable": true
          },
          "documentCount": {
            "type": "integer",
            "format": "int32"
          },
          "expiresOn": {
            "type": "string",
            "format": "date-time"
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "project": {
            "$ref": "#/components/schemas/Features.Shared.Models.ProjectSummary"
          },
          "recipients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Shares.GetShareDetails.GetShareDetailsResponse.RecipientModel"
            },
            "nullable": true
          },
          "revisionNumber": {
            "type": "string",
            "nullable": true
          },
          "remarks": {
            "type": "string",
            "nullable": true
          },
          "sizeInBytes": {
            "type": "integer",
            "format": "int64"
          },
          "downloadCount": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.GetShareDetails.GetShareDetailsResponse.RecipientModel": {
        "type": "object",
        "properties": {
          "downloadPageUrl": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "globalUsername": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.GetShareDetails.ShareDetailsUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "avatarUrl": {
            "type": "string",
            "nullable": true
          },
          "isDisabled": {
            "type": "boolean"
          },
          "globalUsername": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.GetShareHistory.HistoryLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "documentRevisionNumber": {
            "$ref": "#/components/schemas/Features.Documents.RevisionNumberResponse"
          },
          "performedOn": {
            "type": "string",
            "format": "date-time"
          },
          "performedBy": {
            "$ref": "#/components/schemas/Features.Shared.Models.UserSummary"
          },
          "performedAction": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.AuditAction"
          },
          "documentSource": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.AuditDocumentSource"
          },
          "properties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Audit.Details.AuditDetailsProperty"
            },
            "nullable": true
          },
          "changes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Audit.Details.AuditDetailsChange"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.GetShareHistory.HistoryLogsResponse": {
        "required": [
          "skipToken"
        ],
        "type": "object",
        "properties": {
          "historyLogs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Shares.GetShareHistory.HistoryLog"
            },
            "nullable": true
          },
          "skipToken": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.ShareDocuments.ShareDocumentsCommand.ShareDocumentsCommandBody": {
        "type": "object",
        "properties": {
          "emails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "remark": {
            "maxLength": 20000,
            "type": "string",
            "nullable": true
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.Shares.ShareDocuments.ShareDocumentsCommand.SharedDocument"
            },
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "sharePurpose": {
            "$ref": "#/components/schemas/BIMOne.BIMTrack.DocumentControl.Data.Entities.SharePurpose"
          }
        },
        "additionalProperties": false
      },
      "Features.Shares.ShareDocuments.ShareDocumentsCommand.SharedDocument": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "revisionId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.UploadSessions.ListMyUploadSessions.ListMyUploadSessionsResponse": {
        "type": "object",
        "properties": {
          "uploadSessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Features.UploadSessions.ListMyUploadSessions.UploadSessionsResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Features.UploadSessions.ListMyUploadSessions.UploadSessionsResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "isDataUploadCompleted": {
            "type": "boolean"
          },
          "uploadRequestMetadata": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "KeyValuePairOfSystem.StringAndMicrosoft.Extensions.Primitives.StringValues": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "KeyValuePairOfSystem.StringAndSystem.String": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "KeyValuePairOfSystem.TypeAndSystem.Object": {
        "type": "object",
        "properties": {
          "key": {
            "$ref": "#/components/schemas/System.Type"
          },
          "value": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Http.ConnectionInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "remoteIpAddress": {
            "$ref": "#/components/schemas/System.Net.IPAddress"
          },
          "remotePort": {
            "type": "integer",
            "format": "int32"
          },
          "localIpAddress": {
            "$ref": "#/components/schemas/System.Net.IPAddress"
          },
          "localPort": {
            "type": "integer",
            "format": "int32"
          },
          "clientCertificate": {
            "$ref": "#/components/schemas/System.Security.Cryptography.X509Certificates.X509Certificate2"
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Http.HostString": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "hasValue": {
            "type": "boolean",
            "readOnly": true
          },
          "host": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "port": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Http.HttpContext": {
        "type": "object",
        "properties": {
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValuePairOfSystem.TypeAndSystem.Object"
            },
            "nullable": true,
            "readOnly": true
          },
          "request": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.HttpRequest"
          },
          "response": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.HttpResponse"
          },
          "connection": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.ConnectionInfo"
          },
          "webSockets": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.WebSocketManager"
          },
          "user": {
            "$ref": "#/components/schemas/System.Security.Claims.ClaimsPrincipal"
          },
          "items": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "nullable": true
          },
          "requestServices": {
            "$ref": "#/components/schemas/System.IServiceProvider"
          },
          "requestAborted": {
            "$ref": "#/components/schemas/System.Threading.CancellationToken"
          },
          "traceIdentifier": {
            "type": "string",
            "nullable": true
          },
          "session": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.ISession"
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Http.HttpRequest": {
        "type": "object",
        "properties": {
          "httpContext": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.HttpContext"
          },
          "method": {
            "type": "string",
            "nullable": true
          },
          "scheme": {
            "type": "string",
            "nullable": true
          },
          "isHttps": {
            "type": "boolean"
          },
          "host": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.HostString"
          },
          "pathBase": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.PathString"
          },
          "path": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.PathString"
          },
          "queryString": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.QueryString"
          },
          "query": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValuePairOfSystem.StringAndMicrosoft.Extensions.Primitives.StringValues"
            },
            "nullable": true
          },
          "protocol": {
            "type": "string",
            "nullable": true
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true,
            "readOnly": true
          },
          "cookies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValuePairOfSystem.StringAndSystem.String"
            },
            "nullable": true
          },
          "contentLength": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "format": "binary",
            "nullable": true
          },
          "bodyReader": {
            "type": "string",
            "format": "binary",
            "nullable": true,
            "readOnly": true
          },
          "hasFormContentType": {
            "type": "boolean",
            "readOnly": true
          },
          "form": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValuePairOfSystem.StringAndMicrosoft.Extensions.Primitives.StringValues"
            },
            "nullable": true
          },
          "routeValues": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Http.HttpResponse": {
        "type": "object",
        "properties": {
          "httpContext": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.HttpContext"
          },
          "statusCode": {
            "type": "integer",
            "format": "int32"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true,
            "readOnly": true
          },
          "body": {
            "type": "string",
            "format": "binary",
            "nullable": true
          },
          "bodyWriter": {
            "$ref": "#/components/schemas/System.IO.Pipelines.PipeWriter"
          },
          "contentLength": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "nullable": true
          },
          "cookies": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Http.IResponseCookies"
          },
          "hasStarted": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Http.IResponseCookies": {
        "type": "object",
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Http.ISession": {
        "type": "object",
        "properties": {
          "isAvailable": {
            "type": "boolean",
            "readOnly": true
          },
          "id": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "keys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Http.PathString": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "hasValue": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Http.QueryString": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "hasValue": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Http.WebSocketManager": {
        "type": "object",
        "properties": {
          "isWebSocketRequest": {
            "type": "boolean",
            "readOnly": true
          },
          "webSocketRequestedProtocols": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Mvc.NoContentResult": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Microsoft.Win32.SafeHandles.SafeWaitHandle": {
        "type": "object",
        "properties": {
          "isClosed": {
            "type": "boolean",
            "readOnly": true
          },
          "isInvalid": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ReadOnlyMemoryOfSystem.Byte": {
        "type": "object",
        "properties": {
          "length": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "isEmpty": {
            "type": "boolean",
            "readOnly": true
          },
          "span": {
            "$ref": "#/components/schemas/ReadOnlySpanOfSystem.Byte"
          }
        },
        "additionalProperties": false
      },
      "ReadOnlySpanOfSystem.Byte": {
        "type": "object",
        "properties": {
          "length": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "isEmpty": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ResultOfFeatures.MetadataImport.ImportMetadataParse.ImportMetadataParseResponse": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Features.MetadataImport.ImportMetadataParse.ImportMetadataParseResponse"
          },
          "status": {
            "$ref": "#/components/schemas/Ardalis.Result.ResultStatus"
          },
          "isSuccess": {
            "type": "boolean",
            "readOnly": true
          },
          "successMessage": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "correlationId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "validationErrors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ardalis.Result.ValidationError"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResultOfFeatures.Migration.Metadata.MigrateMetadataResponse": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Features.Migration.Metadata.MigrateMetadataResponse"
          },
          "status": {
            "$ref": "#/components/schemas/Ardalis.Result.ResultStatus"
          },
          "isSuccess": {
            "type": "boolean",
            "readOnly": true
          },
          "successMessage": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "correlationId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "validationErrors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ardalis.Result.ValidationError"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "System.IO.Pipelines.PipeWriter": {
        "type": "object",
        "properties": {
          "canGetUnflushedBytes": {
            "type": "boolean",
            "readOnly": true
          },
          "unflushedBytes": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.IServiceProvider": {
        "type": "object",
        "additionalProperties": false
      },
      "System.IntPtr": {
        "type": "object",
        "additionalProperties": false
      },
      "System.ModuleHandle": {
        "type": "object",
        "properties": {
          "mdStreamVersion": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Net.IPAddress": {
        "type": "object",
        "properties": {
          "addressFamily": {
            "$ref": "#/components/schemas/System.Net.Sockets.AddressFamily"
          },
          "scopeId": {
            "type": "integer",
            "format": "int64"
          },
          "isIPv6Multicast": {
            "type": "boolean",
            "readOnly": true
          },
          "isIPv6LinkLocal": {
            "type": "boolean",
            "readOnly": true
          },
          "isIPv6SiteLocal": {
            "type": "boolean",
            "readOnly": true
          },
          "isIPv6Teredo": {
            "type": "boolean",
            "readOnly": true
          },
          "isIPv6UniqueLocal": {
            "type": "boolean",
            "readOnly": true
          },
          "isIPv4MappedToIPv6": {
            "type": "boolean",
            "readOnly": true
          },
          "address": {
            "type": "integer",
            "format": "int64",
            "deprecated": true
          }
        },
        "additionalProperties": false
      },
      "System.Net.Sockets.AddressFamily": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          21,
          22,
          23,
          24,
          25,
          26,
          28,
          29,
          65536,
          65537,
          -1
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.Assembly": {
        "type": "object",
        "properties": {
          "definedTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.TypeInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "exportedTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Type"
            },
            "nullable": true,
            "readOnly": true
          },
          "codeBase": {
            "type": "string",
            "nullable": true,
            "readOnly": true,
            "deprecated": true
          },
          "entryPoint": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          },
          "fullName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "imageRuntimeVersion": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "isDynamic": {
            "type": "boolean",
            "readOnly": true
          },
          "location": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "reflectionOnly": {
            "type": "boolean",
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "isFullyTrusted": {
            "type": "boolean",
            "readOnly": true
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "escapedCodeBase": {
            "type": "string",
            "nullable": true,
            "readOnly": true,
            "deprecated": true
          },
          "manifestModule": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "modules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.Module"
            },
            "nullable": true,
            "readOnly": true
          },
          "globalAssemblyCache": {
            "type": "boolean",
            "readOnly": true,
            "deprecated": true
          },
          "hostContext": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "securityRuleSet": {
            "$ref": "#/components/schemas/System.Security.SecurityRuleSet"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.CallingConventions": {
        "enum": [
          1,
          2,
          3,
          32,
          64
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.ConstructorInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.MethodAttributes"
          },
          "methodImplementationFlags": {
            "$ref": "#/components/schemas/System.Reflection.MethodImplAttributes"
          },
          "callingConvention": {
            "$ref": "#/components/schemas/System.Reflection.CallingConventions"
          },
          "isAbstract": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructor": {
            "type": "boolean",
            "readOnly": true
          },
          "isFinal": {
            "type": "boolean",
            "readOnly": true
          },
          "isHideBySig": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isStatic": {
            "type": "boolean",
            "readOnly": true
          },
          "isVirtual": {
            "type": "boolean",
            "readOnly": true
          },
          "isAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyAndAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyOrAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructedGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethodDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "containsGenericParameters": {
            "type": "boolean",
            "readOnly": true
          },
          "methodHandle": {
            "$ref": "#/components/schemas/System.RuntimeMethodHandle"
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.CustomAttributeData": {
        "type": "object",
        "properties": {
          "attributeType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "constructor": {
            "$ref": "#/components/schemas/System.Reflection.ConstructorInfo"
          },
          "constructorArguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeTypedArgument"
            },
            "nullable": true,
            "readOnly": true
          },
          "namedArguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeNamedArgument"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.CustomAttributeNamedArgument": {
        "type": "object",
        "properties": {
          "memberInfo": {
            "$ref": "#/components/schemas/System.Reflection.MemberInfo"
          },
          "typedValue": {
            "$ref": "#/components/schemas/System.Reflection.CustomAttributeTypedArgument"
          },
          "memberName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "isField": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.CustomAttributeTypedArgument": {
        "type": "object",
        "properties": {
          "argumentType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "value": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.EventAttributes": {
        "enum": [
          0,
          512,
          1024
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.EventInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.EventAttributes"
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "addMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          },
          "removeMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          },
          "raiseMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          },
          "isMulticast": {
            "type": "boolean",
            "readOnly": true
          },
          "eventHandlerType": {
            "$ref": "#/components/schemas/System.Type"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.FieldAttributes": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          16,
          32,
          64,
          128,
          256,
          512,
          1024,
          4096,
          8192,
          32768,
          38144
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.FieldInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.FieldAttributes"
          },
          "fieldType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "isInitOnly": {
            "type": "boolean",
            "readOnly": true
          },
          "isLiteral": {
            "type": "boolean",
            "readOnly": true
          },
          "isNotSerialized": {
            "type": "boolean",
            "readOnly": true,
            "deprecated": true
          },
          "isPinvokeImpl": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isStatic": {
            "type": "boolean",
            "readOnly": true
          },
          "isAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyAndAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyOrAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          },
          "fieldHandle": {
            "$ref": "#/components/schemas/System.RuntimeFieldHandle"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.GenericParameterAttributes": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          8,
          16,
          28
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.ICustomAttributeProvider": {
        "type": "object",
        "additionalProperties": false
      },
      "System.Reflection.MemberInfo": {
        "type": "object",
        "properties": {
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.MemberTypes": {
        "enum": [
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128,
          191
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.MethodAttributes": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          16,
          32,
          64,
          128,
          256,
          512,
          1024,
          2048,
          4096,
          8192,
          16384,
          32768,
          53248
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.MethodBase": {
        "type": "object",
        "properties": {
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.MethodAttributes"
          },
          "methodImplementationFlags": {
            "$ref": "#/components/schemas/System.Reflection.MethodImplAttributes"
          },
          "callingConvention": {
            "$ref": "#/components/schemas/System.Reflection.CallingConventions"
          },
          "isAbstract": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructor": {
            "type": "boolean",
            "readOnly": true
          },
          "isFinal": {
            "type": "boolean",
            "readOnly": true
          },
          "isHideBySig": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isStatic": {
            "type": "boolean",
            "readOnly": true
          },
          "isVirtual": {
            "type": "boolean",
            "readOnly": true
          },
          "isAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyAndAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyOrAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructedGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethodDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "containsGenericParameters": {
            "type": "boolean",
            "readOnly": true
          },
          "methodHandle": {
            "$ref": "#/components/schemas/System.RuntimeMethodHandle"
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.MethodImplAttributes": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          8,
          16,
          32,
          64,
          128,
          256,
          512,
          4096,
          65535
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.MethodInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.MethodAttributes"
          },
          "methodImplementationFlags": {
            "$ref": "#/components/schemas/System.Reflection.MethodImplAttributes"
          },
          "callingConvention": {
            "$ref": "#/components/schemas/System.Reflection.CallingConventions"
          },
          "isAbstract": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructor": {
            "type": "boolean",
            "readOnly": true
          },
          "isFinal": {
            "type": "boolean",
            "readOnly": true
          },
          "isHideBySig": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isStatic": {
            "type": "boolean",
            "readOnly": true
          },
          "isVirtual": {
            "type": "boolean",
            "readOnly": true
          },
          "isAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyAndAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyOrAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructedGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethodDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "containsGenericParameters": {
            "type": "boolean",
            "readOnly": true
          },
          "methodHandle": {
            "$ref": "#/components/schemas/System.RuntimeMethodHandle"
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "returnParameter": {
            "$ref": "#/components/schemas/System.Reflection.ParameterInfo"
          },
          "returnType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "returnTypeCustomAttributes": {
            "$ref": "#/components/schemas/System.Reflection.ICustomAttributeProvider"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.Module": {
        "type": "object",
        "properties": {
          "assembly": {
            "$ref": "#/components/schemas/System.Reflection.Assembly"
          },
          "fullyQualifiedName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "mdStreamVersion": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "moduleVersionId": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "scopeName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "moduleHandle": {
            "$ref": "#/components/schemas/System.ModuleHandle"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.ParameterAttributes": {
        "enum": [
          0,
          1,
          2,
          4,
          8,
          16,
          4096,
          8192,
          16384,
          32768,
          61440
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.ParameterInfo": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.ParameterAttributes"
          },
          "member": {
            "$ref": "#/components/schemas/System.Reflection.MemberInfo"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "parameterType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "isIn": {
            "type": "boolean",
            "readOnly": true
          },
          "isLcid": {
            "type": "boolean",
            "readOnly": true
          },
          "isOptional": {
            "type": "boolean",
            "readOnly": true
          },
          "isOut": {
            "type": "boolean",
            "readOnly": true
          },
          "isRetval": {
            "type": "boolean",
            "readOnly": true
          },
          "defaultValue": {
            "nullable": true,
            "readOnly": true
          },
          "rawDefaultValue": {
            "nullable": true,
            "readOnly": true
          },
          "hasDefaultValue": {
            "type": "boolean",
            "readOnly": true
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.PropertyAttributes": {
        "enum": [
          0,
          512,
          1024,
          4096,
          8192,
          16384,
          32768,
          62464
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.PropertyInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "propertyType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.PropertyAttributes"
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "canRead": {
            "type": "boolean",
            "readOnly": true
          },
          "canWrite": {
            "type": "boolean",
            "readOnly": true
          },
          "getMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          },
          "setMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.TypeAttributes": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          16,
          24,
          32,
          128,
          256,
          1024,
          2048,
          4096,
          8192,
          16384,
          65536,
          131072,
          196608,
          262144,
          264192,
          1048576,
          12582912
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.TypeInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "isInterface": {
            "type": "boolean",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "namespace": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "assemblyQualifiedName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "fullName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "assembly": {
            "$ref": "#/components/schemas/System.Reflection.Assembly"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "isNested": {
            "type": "boolean",
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "declaringMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodBase"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "underlyingSystemType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "isTypeDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "isArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isByRef": {
            "type": "boolean",
            "readOnly": true
          },
          "isPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructedGenericType": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericTypeParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethodParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericType": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericTypeDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "isSZArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isVariableBoundArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isByRefLike": {
            "type": "boolean",
            "readOnly": true
          },
          "isFunctionPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "isUnmanagedFunctionPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "hasElementType": {
            "type": "boolean",
            "readOnly": true
          },
          "genericTypeArguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Type"
            },
            "nullable": true,
            "readOnly": true
          },
          "genericParameterPosition": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "genericParameterAttributes": {
            "$ref": "#/components/schemas/System.Reflection.GenericParameterAttributes"
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.TypeAttributes"
          },
          "isAbstract": {
            "type": "boolean",
            "readOnly": true
          },
          "isImport": {
            "type": "boolean",
            "readOnly": true
          },
          "isSealed": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamANDAssem": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamORAssem": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isNotPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isAutoLayout": {
            "type": "boolean",
            "readOnly": true
          },
          "isExplicitLayout": {
            "type": "boolean",
            "readOnly": true
          },
          "isLayoutSequential": {
            "type": "boolean",
            "readOnly": true
          },
          "isAnsiClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isAutoClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isUnicodeClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isCOMObject": {
            "type": "boolean",
            "readOnly": true
          },
          "isContextful": {
            "type": "boolean",
            "readOnly": true
          },
          "isEnum": {
            "type": "boolean",
            "readOnly": true
          },
          "isMarshalByRef": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrimitive": {
            "type": "boolean",
            "readOnly": true
          },
          "isValueType": {
            "type": "boolean",
            "readOnly": true
          },
          "isSignatureType": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          },
          "structLayoutAttribute": {
            "$ref": "#/components/schemas/System.Runtime.InteropServices.StructLayoutAttribute"
          },
          "typeInitializer": {
            "$ref": "#/components/schemas/System.Reflection.ConstructorInfo"
          },
          "typeHandle": {
            "$ref": "#/components/schemas/System.RuntimeTypeHandle"
          },
          "guid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "baseType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "isSerializable": {
            "type": "boolean",
            "readOnly": true,
            "deprecated": true
          },
          "containsGenericParameters": {
            "type": "boolean",
            "readOnly": true
          },
          "isVisible": {
            "type": "boolean",
            "readOnly": true
          },
          "genericTypeParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Type"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredConstructors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.ConstructorInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredEvents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.EventInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.FieldInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredMembers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.MemberInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.MethodInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredNestedTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.TypeInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredProperties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.PropertyInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "implementedInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Type"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Runtime.InteropServices.LayoutKind": {
        "enum": [
          0,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Runtime.InteropServices.StructLayoutAttribute": {
        "type": "object",
        "properties": {
          "typeId": {
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "$ref": "#/components/schemas/System.Runtime.InteropServices.LayoutKind"
          }
        },
        "additionalProperties": false
      },
      "System.RuntimeFieldHandle": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/System.IntPtr"
          }
        },
        "additionalProperties": false
      },
      "System.RuntimeMethodHandle": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/System.IntPtr"
          }
        },
        "additionalProperties": false
      },
      "System.RuntimeTypeHandle": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/System.IntPtr"
          }
        },
        "additionalProperties": false
      },
      "System.Security.Claims.Claim": {
        "type": "object",
        "properties": {
          "issuer": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "originalIssuer": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          },
          "subject": {
            "$ref": "#/components/schemas/System.Security.Claims.ClaimsIdentity"
          },
          "type": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "valueType": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Security.Claims.ClaimsIdentity": {
        "type": "object",
        "properties": {
          "authenticationType": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "isAuthenticated": {
            "type": "boolean",
            "readOnly": true
          },
          "actor": {
            "$ref": "#/components/schemas/System.Security.Claims.ClaimsIdentity"
          },
          "bootstrapContext": {
            "nullable": true
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Security.Claims.Claim"
            },
            "nullable": true,
            "readOnly": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "nameClaimType": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "roleClaimType": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Security.Claims.ClaimsPrincipal": {
        "type": "object",
        "properties": {
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Security.Claims.Claim"
            },
            "nullable": true,
            "readOnly": true
          },
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Security.Claims.ClaimsIdentity"
            },
            "nullable": true,
            "readOnly": true
          },
          "identity": {
            "$ref": "#/components/schemas/System.Security.Principal.IIdentity"
          }
        },
        "additionalProperties": false
      },
      "System.Security.Cryptography.AsnEncodedData": {
        "type": "object",
        "properties": {
          "oid": {
            "$ref": "#/components/schemas/System.Security.Cryptography.Oid"
          },
          "rawData": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "System.Security.Cryptography.AsymmetricAlgorithm": {
        "type": "object",
        "properties": {
          "keySize": {
            "type": "integer",
            "format": "int32"
          },
          "legalKeySizes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Security.Cryptography.KeySizes"
            },
            "nullable": true,
            "readOnly": true
          },
          "signatureAlgorithm": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "keyExchangeAlgorithm": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Security.Cryptography.KeySizes": {
        "type": "object",
        "properties": {
          "minSize": {
            "type": "integer",
            "format": "int32"
          },
          "maxSize": {
            "type": "integer",
            "format": "int32"
          },
          "skipSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "System.Security.Cryptography.Oid": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "friendlyName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "System.Security.Cryptography.X509Certificates.PublicKey": {
        "type": "object",
        "properties": {
          "encodedKeyValue": {
            "$ref": "#/components/schemas/System.Security.Cryptography.AsnEncodedData"
          },
          "encodedParameters": {
            "$ref": "#/components/schemas/System.Security.Cryptography.AsnEncodedData"
          },
          "key": {
            "$ref": "#/components/schemas/System.Security.Cryptography.AsymmetricAlgorithm"
          },
          "oid": {
            "$ref": "#/components/schemas/System.Security.Cryptography.Oid"
          }
        },
        "additionalProperties": false
      },
      "System.Security.Cryptography.X509Certificates.X500DistinguishedName": {
        "type": "object",
        "properties": {
          "oid": {
            "$ref": "#/components/schemas/System.Security.Cryptography.Oid"
          },
          "rawData": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Security.Cryptography.X509Certificates.X509Certificate2": {
        "type": "object",
        "properties": {
          "handle": {
            "$ref": "#/components/schemas/System.IntPtr"
          },
          "issuer": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "subject": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "serialNumberBytes": {
            "$ref": "#/components/schemas/ReadOnlyMemoryOfSystem.Byte"
          },
          "archived": {
            "type": "boolean"
          },
          "extensions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Security.Cryptography.X509Certificates.X509Extension"
            },
            "nullable": true,
            "readOnly": true
          },
          "friendlyName": {
            "type": "string",
            "nullable": true
          },
          "hasPrivateKey": {
            "type": "boolean",
            "readOnly": true
          },
          "privateKey": {
            "$ref": "#/components/schemas/System.Security.Cryptography.AsymmetricAlgorithm"
          },
          "issuerName": {
            "$ref": "#/components/schemas/System.Security.Cryptography.X509Certificates.X500DistinguishedName"
          },
          "notAfter": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "notBefore": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "publicKey": {
            "$ref": "#/components/schemas/System.Security.Cryptography.X509Certificates.PublicKey"
          },
          "rawData": {
            "type": "string",
            "format": "byte",
            "nullable": true,
            "readOnly": true
          },
          "rawDataMemory": {
            "$ref": "#/components/schemas/ReadOnlyMemoryOfSystem.Byte"
          },
          "serialNumber": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "signatureAlgorithm": {
            "$ref": "#/components/schemas/System.Security.Cryptography.Oid"
          },
          "subjectName": {
            "$ref": "#/components/schemas/System.Security.Cryptography.X509Certificates.X500DistinguishedName"
          },
          "thumbprint": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "version": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Security.Cryptography.X509Certificates.X509Extension": {
        "type": "object",
        "properties": {
          "oid": {
            "$ref": "#/components/schemas/System.Security.Cryptography.Oid"
          },
          "rawData": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "critical": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "System.Security.Principal.IIdentity": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "authenticationType": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "isAuthenticated": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Security.SecurityRuleSet": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Threading.CancellationToken": {
        "type": "object",
        "properties": {
          "isCancellationRequested": {
            "type": "boolean",
            "readOnly": true
          },
          "canBeCanceled": {
            "type": "boolean",
            "readOnly": true
          },
          "waitHandle": {
            "$ref": "#/components/schemas/System.Threading.WaitHandle"
          }
        },
        "additionalProperties": false
      },
      "System.Threading.WaitHandle": {
        "type": "object",
        "properties": {
          "handle": {
            "$ref": "#/components/schemas/System.IntPtr"
          },
          "safeWaitHandle": {
            "$ref": "#/components/schemas/Microsoft.Win32.SafeHandles.SafeWaitHandle"
          }
        },
        "additionalProperties": false
      },
      "System.Type": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "isInterface": {
            "type": "boolean",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "namespace": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "assemblyQualifiedName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "fullName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "assembly": {
            "$ref": "#/components/schemas/System.Reflection.Assembly"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "isNested": {
            "type": "boolean",
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "declaringMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodBase"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "underlyingSystemType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "isTypeDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "isArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isByRef": {
            "type": "boolean",
            "readOnly": true
          },
          "isPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructedGenericType": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericTypeParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethodParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericType": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericTypeDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "isSZArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isVariableBoundArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isByRefLike": {
            "type": "boolean",
            "readOnly": true
          },
          "isFunctionPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "isUnmanagedFunctionPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "hasElementType": {
            "type": "boolean",
            "readOnly": true
          },
          "genericTypeArguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Type"
            },
            "nullable": true,
            "readOnly": true
          },
          "genericParameterPosition": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "genericParameterAttributes": {
            "$ref": "#/components/schemas/System.Reflection.GenericParameterAttributes"
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.TypeAttributes"
          },
          "isAbstract": {
            "type": "boolean",
            "readOnly": true
          },
          "isImport": {
            "type": "boolean",
            "readOnly": true
          },
          "isSealed": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamANDAssem": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamORAssem": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isNotPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isAutoLayout": {
            "type": "boolean",
            "readOnly": true
          },
          "isExplicitLayout": {
            "type": "boolean",
            "readOnly": true
          },
          "isLayoutSequential": {
            "type": "boolean",
            "readOnly": true
          },
          "isAnsiClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isAutoClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isUnicodeClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isCOMObject": {
            "type": "boolean",
            "readOnly": true
          },
          "isContextful": {
            "type": "boolean",
            "readOnly": true
          },
          "isEnum": {
            "type": "boolean",
            "readOnly": true
          },
          "isMarshalByRef": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrimitive": {
            "type": "boolean",
            "readOnly": true
          },
          "isValueType": {
            "type": "boolean",
            "readOnly": true
          },
          "isSignatureType": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          },
          "structLayoutAttribute": {
            "$ref": "#/components/schemas/System.Runtime.InteropServices.StructLayoutAttribute"
          },
          "typeInitializer": {
            "$ref": "#/components/schemas/System.Reflection.ConstructorInfo"
          },
          "typeHandle": {
            "$ref": "#/components/schemas/System.RuntimeTypeHandle"
          },
          "guid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "baseType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "isSerializable": {
            "type": "boolean",
            "readOnly": true,
            "deprecated": true
          },
          "containsGenericParameters": {
            "type": "boolean",
            "readOnly": true
          },
          "isVisible": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "Enter the following value : <b>Bearer <i>{apiKey}</i></b><br/> replacing <i>{apiKey}</i> with your actual apiKey",
        "name": "Authorization",
        "in": "header",
        "x-default": "Bearer "
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ],
  "tags": [
    {
      "name": "Document",
      "description": "Manage documents"
    },
    {
      "name": "Upload",
      "description": "Upload files and manage upload sessions"
    },
    {
      "name": "Metadata",
      "description": "Manage document metadata"
    },
    {
      "name": "Shares",
      "description": "Create and manage file shares with external users"
    },
    {
      "name": "Revision settings",
      "description": "Manage settings for document revisions"
    },
    {
      "name": "Access rights",
      "description": "Permission and access control management"
    },
    {
      "name": "Project",
      "description": "Retrieve project information and settings"
    },
    {
      "name": "Disciplines",
      "description": "Manage disciplines"
    }
  ]
}