{
  "openapi": "3.0.1",
  "info": {
    "title": "Smartcat API",
    "version": "v1"
  },
  "servers": [
    {
      "url": "/"
    }
  ],
  "paths": {
    "/api/integration/v1/account": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "Fetch the account details",
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountModel"
                }
              }
            }
          },
          "404": {
            "description": "Unable to find an account connected to the integration API"
          }
        }
      }
    },
    "/api/integration/v1/account/mtengines": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "Fetch the list of MT services available for the account",
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MTEngineModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MTEngineModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MTEngineModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/ai-translation-profiles": {
      "get": {
        "tags": [
          "AiTranslationProfiles"
        ],
        "summary": "Get all AI translation profiles available in the workspace",
        "responses": {
          "200": {
            "description": "List of AI translation profiles",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AiTranslationProfileListModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiTranslationProfileListModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiTranslationProfileListModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/assignment-templates/project/{projectId}": {
      "get": {
        "tags": [
          "AssignmentTemplates"
        ],
        "summary": "Get a list of available assignment templates",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AssignmentTemplateModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AssignmentTemplateModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AssignmentTemplateModel"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Project tasks are not available for this project",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Project not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/assignment-templates/{assignmentTemplateId}/project/{projectId}": {
      "post": {
        "tags": [
          "AssignmentTemplates"
        ],
        "summary": "Apply an assignment template to the project",
        "parameters": [
          {
            "name": "assignmentTemplateId",
            "in": "path",
            "description": "assignment template ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "deadlineHours",
            "in": "query",
            "description": "set a deadline in hours",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssignmentTemplateApplicationResultModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignmentTemplateApplicationResultModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignmentTemplateApplicationResultModel"
                }
              }
            }
          },
          "402": {
            "description": "Assignment is not completed due to enabled prepayment mode",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns if:\n\r\n- Project tasks are not available for this project\r\n- There is an incomplete 'Source layout check' stage for some project documents\r\n- Documents are being added to project tasks\r\n- The template invites paid suppliers and billing details are not configured for the workspace",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if:\n\r\n- Project not found\r\n- Assignment template not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/audit/logs": {
      "get": {
        "tags": [
          "Audit"
        ],
        "summary": "Fetch audit logs with given filter parameters",
        "parameters": [
          {
            "name": "startTime",
            "in": "query",
            "description": "Fetch audit logs starting from this date and time",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endTime",
            "in": "query",
            "description": "Fetch audit logs until this date and time",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page. Starts from 1",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page. Available range: 1 - 5000",
            "schema": {
              "maximum": 5000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuditLogModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returns if one or several parameters are incorrect",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/callback": {
      "get": {
        "tags": [
          "Callback"
        ],
        "summary": "Fetch the notifications settings for the account",
        "responses": {
          "200": {
            "description": "Notifications settings have been successfully fetched",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CallbackPropertyModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CallbackPropertyModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CallbackPropertyModel"
                }
              }
            }
          },
          "404": {
            "description": "Notifications settings are not configured"
          }
        }
      },
      "post": {
        "tags": [
          "Callback"
        ],
        "summary": "Create or update the notifications settings",
        "requestBody": {
          "description": "Notifications settings",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CallbackPropertyModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallbackPropertyModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CallbackPropertyModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CallbackPropertyModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Notifications settings have been successfully updated"
          },
          "400": {
            "description": "Returns if:\r\n- URI is invalid\r\n- a header Smartcat.AppIntegrations.Contracts.AdditionalHeaderModel.Name is empty or null, or consists of space characters only\r\n- a header Smartcat.AppIntegrations.Contracts.AdditionalHeaderModel.Value is null\r\n- a header is formatted incorrectly, that is requires coding or does not conform to special requirements (such as the authorization header)"
          }
        }
      },
      "delete": {
        "tags": [
          "Callback"
        ],
        "summary": "Delete notifications settings",
        "responses": {
          "204": {
            "description": "Notifications settings have been successfully deleted"
          }
        }
      }
    },
    "/api/integration/v1/callback/lastErrors": {
      "get": {
        "tags": [
          "Callback"
        ],
        "summary": "Fetch the latest delivery errors",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum returned errors (no more than 100)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The latest errors have been successfully fetched",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CallbackErrorModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CallbackErrorModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CallbackErrorModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The provided limit exceeds the maximum"
          }
        }
      }
    },
    "/api/integration/v1/client/create": {
      "post": {
        "tags": [
          "Client"
        ],
        "summary": "Create a new client with the specified name and return their ID\r\nSimply return the ID if a client with that name already exists",
        "requestBody": {
          "description": "Client name",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/client/{clientId}/set": {
      "put": {
        "tags": [
          "Client"
        ],
        "summary": "Apply the specified net rate to the specified client",
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "description": "Client ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "netRateId",
            "in": "query",
            "description": "Net rate ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModel"
                }
              }
            }
          },
          "404": {
            "description": "The specified client or net rate were not found in the current account"
          }
        }
      }
    },
    "/api/integration/v1/client/{clientId}/contact": {
      "put": {
        "tags": [
          "Client"
        ],
        "summary": "Sets contact details for the specified client",
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "description": "Client ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Contact details",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModel"
                }
              }
            }
          },
          "400": {
            "description": "Contact details are incorrect"
          },
          "404": {
            "description": "The specified client not found"
          }
        }
      }
    },
    "/api/integration/v2/client/{clientId}": {
      "put": {
        "tags": [
          "Client"
        ],
        "summary": "Update client details",
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "description": "Client ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Client update model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClientModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClientModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClientModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClientModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModelV2"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModelV2"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModelV2"
                }
              }
            }
          },
          "400": {
            "description": "Returns if:\r\n- contact details are invalid\r\n- the provided manager ID is invalid"
          },
          "404": {
            "description": "The specified client not found"
          }
        }
      },
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Fetch the client account information",
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "description": "Client ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModelV2"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModelV2"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModelV2"
                }
              }
            }
          },
          "404": {
            "description": "The specified client was not found in the current account"
          }
        }
      }
    },
    "/api/integration/v1/client/{clientId}": {
      "get": {
        "tags": [
          "Client"
        ],
        "summary": "Fetch the client account information",
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "description": "Client ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientModel"
                }
              }
            }
          },
          "404": {
            "description": "The specified client was not found in the current account"
          }
        }
      }
    },
    "/api/integration/v1/clientIndustry/{id}": {
      "get": {
        "tags": [
          "ClientIndustry"
        ],
        "summary": "Fetch a directory entry by ID",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Directory entry ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ClientIndustryModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientIndustryModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientIndustryModel"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ClientIndustry"
        ],
        "summary": "Update the name of an entry by ID",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entry ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "New entry name",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "delete": {
        "tags": [
          "ClientIndustry"
        ],
        "summary": "Delete a list entry",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entry ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/integration/v1/clientIndustry": {
      "get": {
        "tags": [
          "ClientIndustry"
        ],
        "summary": "Fetch all the available directory values",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientIndustryModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientIndustryModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientIndustryModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/clientIndustry/{name}": {
      "post": {
        "tags": [
          "ClientIndustry"
        ],
        "summary": "Add a directory entry",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "Entry name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/custom-fields": {
      "get": {
        "tags": [
          "CustomFields"
        ],
        "summary": "Retrieves all custom fields defined for the current account.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomField"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomField"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomField"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/directory": {
      "get": {
        "tags": [
          "Directories"
        ],
        "summary": "Fetch the specified directory",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Directory type",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/DirectoryType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryModel"
                }
              }
            }
          },
          "400": {
            "description": "Returns if an incorrect directory type is provided"
          }
        }
      }
    },
    "/api/integration/v1/directory/formats": {
      "get": {
        "tags": [
          "Directories"
        ],
        "summary": "Fetch parsing formats supported by the account",
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileFormatModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileFormatModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileFormatModel"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Unable to find an account connected to the integration API"
          }
        }
      }
    },
    "/api/integration/v1/document": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Fetch the document details",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentModel"
                }
              }
            }
          },
          "404": {
            "description": "The provided document ID or language ID does not exist"
          },
          "403": {
            "description": "The document is not associated with the account"
          }
        }
      },
      "delete": {
        "tags": [
          "Document"
        ],
        "summary": "Delete one or several documents",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentIds",
            "in": "query",
            "description": "Array of document IDs",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "description": "ID of the document translation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Documents have been successfully deleted"
          },
          "400": {
            "description": "The provided array of document IDs is empty",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns if:\n\r\n- At least one document is not associated with the account\r\n- The document is assigned to a vendor who is not allowed to update documents in the assigned projects",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Add a document to the project",
        "description": "This method uses special structure for multipart/form-data content\r\nPlease read this article in order to create a proper request\r\nhttps://developers.smartcat.com/api-guides/#multipart-requests",
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "disassembleAlgorithmName",
            "in": "query",
            "description": "Optional algorithm of file disassembly",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External identifier assigned by the client upon the document creation",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metaInfo",
            "in": "query",
            "description": "Additional user information about the document",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetLanguages",
            "in": "query",
            "description": "Comma-separated target languages of all documents. Optional parameter. Can be modified per document in the request body. By default, lists the project target languages.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "presetDisassembleAlgorithm",
            "in": "query",
            "description": "Optional preset for the file disassembly algorithm",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enableOcr",
            "in": "query",
            "description": "Optional parameter for disabling OCR (the default is true)",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "description": "Document file upload model",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CreateDocumentPropertyModel"
                    }
                  },
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              },
              "examples": {
                "MultilingualExcelDisassembleSettingsModel": {
                  "summary": "Value property for Multilingual Excel Disassemble Settings Model",
                  "value": {"externalId":null,"metaInfo":null,"disassembleAlgorithmName":null,"presetDisassembleAlgorithm":null,"disassembleSettings":{"startingRow":1,"columns":{"context":"C","comments":["E"],"lengthLimit":"D","language":{"en":"A","ru":"B"}}},"bilingualFileImportSetings":null,"targetLanguages":null,"enablePlaceholders":null,"enableOcr":null}
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The specified file is empty"
          },
          "403": {
            "description": "The project is not associated with the account or the specified account is personal"
          },
          "404": {
            "description": "The provided project ID does not exist"
          },
          "409": {
            "description": "The document name is not unique"
          }
        }
      }
    },
    "/api/integration/v1/document/translate/status": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Fetch the status of adding document translation",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TranslationTaskStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TranslationTaskStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TranslationTaskStatus"
                }
              }
            }
          },
          "403": {
            "description": "At least one document is not associated with the account"
          },
          "404": {
            "description": "The provided document ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/document/translate/result": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Fetch a detailed report on translation import results",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/statistics": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Fetch statistics",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          },
          {
            "name": "onlyExactMatches",
            "in": "query",
            "description": "Specifies whether returning 100% and higher matches will suffice",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentStatisticsModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentStatisticsModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentStatisticsModel"
                }
              }
            }
          },
          "202": {
            "description": "Statistics creation is in progress"
          },
          "403": {
            "description": "The document is not associated with the account"
          },
          "422": {
            "description": "A provided document could not be disassembled"
          }
        }
      }
    },
    "/api/integration/v1/document/assignFreelancers": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Divide the document into equal blocks by the number of words and assign one block to each specified freelancer",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          },
          {
            "name": "stageNumber",
            "in": "query",
            "description": "Workflow stage number",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Assigned freelancers' user IDs",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Freelancer has been successfully assigned to the document"
          },
          "400": {
            "description": " Returns if:\n\r\n- The document was not disassembled or was disassembled, but contains 0 words\r\n- The provided workflow stage number does not exist in the project\r\n- An assignment has been already made to the specified workflow stage\r\n- A freelancer ID was not found in CAT",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The document is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided document ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/assignVendors": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Assign a vendor to a document workflow stage",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          },
          {
            "name": "stageNumber",
            "in": "query",
            "description": "Workflow stage number",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vendorAccountId",
            "in": "query",
            "description": "Vendor account ID",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Vendor has been successfully assigned to the document"
          },
          "400": {
            "description": "Document disassembly failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns if:\n\r\n- The document is not associated with the account\r\n- The account is a vendor",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if:\n\r\n- The provided document ID does not exist\r\n- The provided workflow stage number does not exist in the project\r\n- A vendor ID was not found in CAT\r\n- The client-to-vendor connection does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "An assignment has been already made to the specified workflow stage",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/setStageUnitCount": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Specify the unit count for a document workflow stage",
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "description": "Project ID",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "stageNumber",
            "in": "query",
            "description": "Workflow stage number",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetLanguageId",
            "in": "query",
            "description": "Document target language ID",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Document unit count setup model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SetStageUnitsCountModel"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SetStageUnitsCountModel"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SetStageUnitsCountModel"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SetStageUnitsCountModel"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Unit count has been successfully applied to a document workflow stage"
          },
          "400": {
            "description": "Returns if:\n\r\n- The documents are not associated with the project\r\n- The stage is internal\r\n- The unit count is already set for the stage",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": " Returns if:\n\r\n- The project is not associated with the account and the account is not a project vendor\r\n- The document is not associated with the account and the vendor is not assigned to the stage",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": " Returns if:\n\r\n- The provided project ID does not exist\r\n- The provided workflow stage number does not exist in the project",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/assign": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Specify the linguist assignment and segment distribution model",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format. \n\r\nAssignmentMode option descriptions:\n\r\n- AssignmentMode.DistributeAmongAll: Distribute segments among all the assigned linguists\n\r\n- AssignmentMode.Rocket: Send invitations and assign all unassigned segments to the first linguist who accepts\n\r\n- AssignmentMode.InviteOnly: Only invite linguists, segments will be assigned later manually\n\r\nNote: If the segment count is not specified, the task will be equally divided among all linguists\n",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          },
          {
            "name": "stageNumber",
            "in": "query",
            "description": "Workflow stage number",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Assignment request - list of assigned executors",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AssignExecutivesRequestModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignExecutivesRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignExecutivesRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssignExecutivesRequestModel"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Linguist has been successfully assigned to the document"
          },
          "400": {
            "description": "Returns if:\n\r\n- The document was not disassembled or was disassembled, but contains 0 words\r\n- The provided workflow stage number does not exist in the project\r\n- An assignment has been already made to the specified workflow stage\r\n- A freelancer ID was not found in CAT\r\n- The specified assignment type is unknown\r\n- Internal account users (not freelancers) were assigned to AssignmentMode.Rocket or AssignmentMode.InviteOnly\r\n- The workflow stage is accomplished outside of Smartcat and its word count/cost are not set (exception: for an in-house freelancer setting word count/cost is not mandatory)",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns if:\n\r\n- The project is not associated with the account\r\n- The project is associated with the account, but was assigned to a vendor",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided document ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/unassign": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Unassign a linguist",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          },
          {
            "name": "stageNumber",
            "in": "query",
            "description": "Workflow stage number",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Unassigned executor ID",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Linguist has been successfully unassigned"
          },
          "400": {
            "description": "Returns if:\n\r\n- The provided workflow stage number does not exist in the project\r\n- The linguist with the specified ID is not assigned to the document workflow stage",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns if:\n\r\n- The project is not associated with the account\r\n- The project is associated with the account, but was assigned to a vendor",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided document ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/assignFromMyTeam": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Send Rocket invitations to MyTeam linguists:\r\nsend invitations, assign the first one to accept the job to every unassigned document segment",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "requestBody": {
          "description": "MyTeam linguists assignment model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AssignMyTeamExecutivesRequestModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignMyTeamExecutivesRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignMyTeamExecutivesRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssignMyTeamExecutivesRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The operation has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "403": {
            "description": "Returns if:\n\r\n- The project is not associated with the account\r\n- The project is associated with the account, but was assigned to a vendor"
          },
          "400": {
            "description": "Returns if:\n\r\n- The input model is not provided\r\n- No document is specified\r\n- The specified documents have different target languages\r\n- The specified documents are associated with different projects\r\n- The document was not disassembled or was disassembled, but contains 0 words\r\n- The provided workflow stage number does not exist in the project\r\n- An assignment has been already made to the specified workflow stage\r\n- The workflow stage is accomplished outside of Smartcat and its word count/cost are not set (exception: for an in-house freelancer setting word count/cost is not mandatory)"
          },
          "404": {
            "description": "The provided document ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/document/complete": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Change the document status to Completed",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation has been successfully completed"
          },
          "204": {
            "description": "The document is already in Completed status"
          },
          "400": {
            "description": "The document status is not \"Manager Review\"",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The specified document ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/completeStage": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Complete one workflow stage of the document, the same as clicking \"Done\" in the editor",
        "description": "The document moves on to the next stage. The stage must be at 100% and the previous stage must be completed. \n\r\nStage progress is recalculated a few seconds after the last segment confirmation, so a call made right after it\r\nmay get 409; retry after a short delay. \n\r\nDocument ID is represented as `{documentId}_{languageId}`,\r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          },
          {
            "name": "stageNumber",
            "in": "query",
            "description": "Number of the workflow stage to complete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The stage has been completed"
          },
          "204": {
            "description": "The stage is already completed"
          },
          "404": {
            "description": "The specified document ID or stage does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The stage cannot be completed yet: its progress is below 100% or the previous stage is not completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/document/update": {
      "put": {
        "tags": [
          "Document"
        ],
        "summary": "Update the specified document",
        "description": "UpdateDocumentModel must have exactly one file. All other fields in model are optional. \n",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "disassembleAlgorithmName",
            "in": "query",
            "description": "Optional algorithm for file disassembly",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "presetDisassembleAlgorithm",
            "in": "query",
            "description": "Optional preset for the file disassembly algorithm",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Document with a file update model",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "$ref": "#/components/schemas/UploadDocumentPropertiesModel"
                  },
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The specified file is empty"
          },
          "403": {
            "description": " Returns if:\n\r\n- At least one document is not associated with the account\r\n- The document update functionality is not enabled in the account\r\n- The document is assigned to a vendor who is not allowed to update documents in the assigned projects"
          },
          "404": {
            "description": "The provided document ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/document/rename": {
      "put": {
        "tags": [
          "Document"
        ],
        "summary": "Rename the assigned document",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "New name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The document has been successfully renamed"
          },
          "403": {
            "description": "At least one document is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided document ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The new name will not be unique in the project",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/updateMetaInfo": {
      "put": {
        "tags": [
          "Document"
        ],
        "summary": "Update document meta info",
        "description": "Document ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          }
        ],
        "requestBody": {
          "description": "New value",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "403": {
            "description": "At least one document is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided document ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "204": {
            "description": "Document meta info has been successfully updated"
          }
        }
      }
    },
    "/api/integration/v1/document/translate": {
      "put": {
        "tags": [
          "Document"
        ],
        "summary": "Translate the specified document using the specified translation file",
        "description": "Available only for the file formats that support true updates (currently these are resource files with unique resource IDs) \n\r\nSets a task to processing. When the API call is completed, the translation might be not finished yet \n\r\nDocument ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          },
          {
            "name": "overwrite",
            "in": "query",
            "description": "Specifies whether to overwrite the available translations",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "confirmTranslation",
            "in": "query",
            "description": "Confirm updated segments",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "Translation file",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "translationFile": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "The operation has been successfully completed"
          },
          "403": {
            "description": "At least one document is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided document ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/translateWithXliff": {
      "put": {
        "tags": [
          "Document"
        ],
        "summary": "Import an XLIFF file with document translations",
        "description": "This method is available only for modified XLIFF files that were exported using the POST /api/integration/v1/document/export method. \n\r\nThe API call body can include one XLIFF file only. \n\r\nDocument ID is represented as `{documentId}_{languageId}`, \r\nwhere `{documentId}` identifies the document id in string format,\r\nand `{languageId}` identifies its target language in numeric format",
        "parameters": [
          {
            "name": "documentId",
            "in": "query",
            "description": "ID of the document to update",
            "required": true,
            "schema": {
              "type": "string",
              "description": "ID of the document translation"
            }
          },
          {
            "name": "confirmTranslation",
            "in": "query",
            "description": "Confirm updated segments",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "overwriteUpdatedSegments",
            "in": "query",
            "description": "Specifies whether to overwrite the segments that have been updated since the last export of the XLIFF file",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "description": "XLIFF file with segment translations",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "translationFile": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Request has been successfully completed"
          },
          "403": {
            "description": "The document is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided document ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/export/{taskId}": {
      "get": {
        "tags": [
          "DocumentExport"
        ],
        "summary": "Download the export results",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "Export task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "204": {
            "description": "The task is not ready yet"
          },
          "404": {
            "description": "The provided task ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "422": {
            "description": "Export failed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/document/export": {
      "post": {
        "tags": [
          "DocumentExport"
        ],
        "summary": "Request the documents export",
        "parameters": [
          {
            "name": "documentIds",
            "in": "query",
            "description": "Target language IDs (the syntax is documentId_languageId), where documentId_languageId is a document ID\r\nand languageId is a target language ID",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "description": "ID of the document translation"
              }
            }
          },
          {
            "name": "mode",
            "in": "query",
            "description": "Segment export mode:\r\nCurrent - The current translation, the segment status notwithstanding (what is shown in the editor)\r\nConfirmed - Confirmed segments at the specific stage, as defined by the StageNumber parameter. If the stage is not specified, export all segments confirmed at any stage (this behavior is similar to exporting files using the Smartcat interface)\r\nComplete - Only completed segments, that is the segments that have passed all the stages and were confirmed at the last one",
            "schema": {
              "$ref": "#/components/schemas/SegmentExportMode"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Export document type, by default Smartcat.AppIntegrations.Contracts.ExportDocumentRequestType.Target",
            "schema": {
              "$ref": "#/components/schemas/ExportDocumentRequestType"
            }
          },
          {
            "name": "stageNumber",
            "in": "query",
            "description": "Workflow stage number when downloading an intermediate result",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exportingDocumentFormat",
            "in": "query",
            "description": "Exporting file format for export without using source file",
            "schema": {
              "$ref": "#/components/schemas/SoftwareLocalizationDocumentFormat"
            }
          },
          {
            "name": "structuringDelimiter",
            "in": "query",
            "description": "Delimiter for structuring keys when exporting without using the source file",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExportDocumentTaskModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportDocumentTaskModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportDocumentTaskModel"
                }
              }
            }
          },
          "400": {
            "description": "Returns if:\n\r\n- the provided array of document IDs is empty\r\n- the provided workflow stage number is incorrect\r\n- the type of the provided document to be exported to the project is incorrect (for example, Smartcat.AppIntegrations.Contracts.ExportDocumentRequestType.DocumentWithMetadata for a docx-based project)"
          },
          "403": {
            "description": "At least one document is not associated with the account"
          }
        }
      }
    },
    "/api/integration/v1/fileDisassemblingAlgorithmPresets/{id}": {
      "get": {
        "tags": [
          "FileDisassemblingAlgorithmPresets"
        ],
        "summary": "Fetch a disassembly algorithm preset",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Preset ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetViewModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetViewModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetViewModel"
                }
              }
            }
          },
          "400": {
            "description": "The provided ID format is incorrect"
          },
          "404": {
            "description": "The provided preset ID does not exist"
          }
        }
      },
      "put": {
        "tags": [
          "FileDisassemblingAlgorithmPresets"
        ],
        "summary": "Update a disassembly algorithm preset",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID of the preset to be updated",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Update preset model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetEditModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetEditModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetEditModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetEditModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "Incorrect parameter format",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "FileDisassemblingAlgorithmPresets"
        ],
        "summary": "Delete a preset",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID of the preset to be deleted",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Request has been successfully completed"
          }
        }
      }
    },
    "/api/integration/v1/fileDisassemblingAlgorithmPresets": {
      "get": {
        "tags": [
          "FileDisassemblingAlgorithmPresets"
        ],
        "summary": "Fetch all presets for the account",
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetViewModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetViewModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetViewModel"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "FileDisassemblingAlgorithmPresets"
        ],
        "summary": "Create a disassembly algorithm preset",
        "requestBody": {
          "description": "Creation preset model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetEditModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetEditModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetEditModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetEditModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetCreatedModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetCreatedModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileDisassemblingAlgorithmPresetCreatedModel"
                }
              }
            }
          },
          "400": {
            "description": "Incorrect parameter format"
          }
        }
      }
    },
    "/api/integration/v1/file-management/file/{path}": {
      "get": {
        "tags": [
          "FileManagement"
        ],
        "summary": "Download a file by path",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "description": "Path of file",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "FileManagement"
        ],
        "summary": "Upload file to a specified path in storage",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "description": "Path of file",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "description": "New file",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileInfoModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "FileManagement"
        ],
        "summary": "Delete a file by path",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "description": "Path of file",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/file-management/files/{path}": {
      "put": {
        "tags": [
          "FileManagement"
        ],
        "summary": "Upload multiple files to a specified path in storage",
        "description": "Original file names will be used for uploaded files",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "description": "Prefix for uploaded files",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unzip",
            "in": "query",
            "description": "Extract files from uploaded zip file(-s) instead of saving zip as-is",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "files"
                ],
                "type": "object",
                "properties": {
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    },
                    "description": "New files"
                  }
                }
              },
              "encoding": {
                "files": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileInfoModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/file-management/file-info/{path}": {
      "get": {
        "tags": [
          "FileManagement"
        ],
        "summary": "Get single file info by path",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "description": "Path of file",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileInfoModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/file-management/file-info-list/{prefix}": {
      "get": {
        "tags": [
          "FileManagement"
        ],
        "summary": "Get list of files whose path starts with given prefix",
        "parameters": [
          {
            "name": "prefix",
            "in": "path",
            "description": "Prefix for searching files",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batchKey",
            "in": "query",
            "description": "Key to request the next batch of files",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchResult<FileInfoModel>"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/glossaries": {
      "get": {
        "tags": [
          "Glossary"
        ],
        "summary": "Fetch glossaries from the current account",
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/glossaries/default": {
      "get": {
        "tags": [
          "Glossary"
        ],
        "summary": "Fetch default glossary from the current account",
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryModel"
                }
              }
            }
          },
          "404": {
            "description": "Default glossary is not found"
          }
        }
      }
    },
    "/api/integration/v1/glossary": {
      "post": {
        "tags": [
          "Glossary"
        ],
        "summary": "Create a glossary",
        "description": "Creates an empty glossary in the current account. To fill it with terms, import a glossary file into it with the concept import method.",
        "requestBody": {
          "description": "Glossary creation request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGlossaryModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGlossaryModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGlossaryModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGlossaryModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryModel"
                }
              }
            }
          },
          "400": {
            "description": "The name is empty or already used, a language tag is unsupported, or the client does not exist"
          },
          "403": {
            "description": "The API key belongs to a different account than the requested one"
          }
        }
      }
    },
    "/api/integration/v1/glossary/import": {
      "post": {
        "tags": [
          "Glossary"
        ],
        "summary": "Create a task for importing concepts from a glossary file",
        "parameters": [
          {
            "name": "glossaryId",
            "in": "query",
            "description": "Glossary ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "clearBeforeImport",
            "in": "query",
            "description": "Specifies whether to delete all glossary concepts before the import",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "description": "File containing imported concepts",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "404": {
            "description": "The glossary with the specified ID was not found"
          }
        }
      }
    },
    "/api/integration/v1/glossary/importTaskState/{taskId}": {
      "get": {
        "tags": [
          "Glossary"
        ],
        "summary": "Fetch the status of a concept import task",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "Concept import task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The task with the specified ID was not found"
          }
        }
      }
    },
    "/api/integration/v1/glossary/export": {
      "post": {
        "tags": [
          "Glossary"
        ],
        "summary": "Create a task for export the glossary",
        "parameters": [
          {
            "name": "glossaryId",
            "in": "query",
            "description": "Glossary ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "404": {
            "description": "The glossary with the specified ID was not found"
          }
        }
      }
    },
    "/api/integration/v1/glossary/export/pendingTasks": {
      "get": {
        "tags": [
          "Glossary"
        ],
        "summary": "Get the list of pending export glossary tasks",
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryExportPendingTaskInfo"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryExportPendingTaskInfo"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryExportPendingTaskInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/glossary/export/{taskId}": {
      "get": {
        "tags": [
          "Glossary"
        ],
        "summary": "Download the glossary export task result",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "Export task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "The results are not ready to download"
          },
          "404": {
            "description": "The export task with the specified ID was not found"
          },
          "500": {
            "description": "Some problem has happended during export"
          }
        }
      }
    },
    "/api/integration/v1/glossary/{glossaryId}/concepts": {
      "get": {
        "tags": [
          "Glossary"
        ],
        "summary": "Fetch a page of glossary concepts",
        "description": "Concepts are returned in ID order. To read the whole glossary, repeat the request with afterConceptId set to the\r\nnextCursor of the previous response until hasMore is false.",
        "parameters": [
          {
            "name": "glossaryId",
            "in": "path",
            "description": "Glossary ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "afterConceptId",
            "in": "query",
            "description": "Return concepts with an ID greater than this one; omit for the first page",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Page size, 1 to 500. Defaults to 100",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConceptsPageModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConceptsPageModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConceptsPageModel"
                }
              }
            }
          },
          "400": {
            "description": "The page size is out of range"
          },
          "404": {
            "description": "The glossary with the specified ID was not found"
          }
        }
      },
      "post": {
        "tags": [
          "Glossary"
        ],
        "summary": "Create glossary concepts",
        "description": "Adds up to 100 concepts to the glossary in one request. Every language must already be one of the glossary\r\nlanguages. A concept that shares a term with a concept already in the glossary is skipped, and its result lists\r\nthe IDs of those concepts; to change an existing concept, update it by ID. A concept becomes visible to this\r\ncheck a few seconds after it is created, so concepts repeated within one request or sent again right away are\r\nnot recognized as duplicates.",
        "parameters": [
          {
            "name": "glossaryId",
            "in": "path",
            "description": "Glossary ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Concepts to create",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConceptsModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConceptsModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConceptsModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConceptsModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CreateConceptsResultModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateConceptsResultModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateConceptsResultModel"
                }
              }
            }
          },
          "400": {
            "description": "The request has no concepts or more than 100, a language is not a glossary language, a term has no text,\r\nor an attribute does not match the glossary structure"
          },
          "403": {
            "description": "The API key belongs to a different account than the requested one"
          },
          "404": {
            "description": "The glossary with the specified ID was not found"
          }
        }
      }
    },
    "/api/integration/v1/glossary/{glossaryId}/concepts/{conceptId}": {
      "get": {
        "tags": [
          "Glossary"
        ],
        "summary": "Fetch a glossary concept by ID",
        "parameters": [
          {
            "name": "glossaryId",
            "in": "path",
            "description": "Glossary ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "conceptId",
            "in": "path",
            "description": "Concept ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConceptModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConceptModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConceptModel"
                }
              }
            }
          },
          "404": {
            "description": "The glossary or the concept with the specified ID was not found"
          }
        }
      },
      "put": {
        "tags": [
          "Glossary"
        ],
        "summary": "Update a glossary concept",
        "description": "Replaces the whole concept with the request body: languages, terms and attributes that are not in the body are\r\nremoved. The concept keeps its ID. Terms are not checked against other concepts for duplicates, and\r\nconcurrent updates are not detected: the last one wins.",
        "parameters": [
          {
            "name": "glossaryId",
            "in": "path",
            "description": "Glossary ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "conceptId",
            "in": "path",
            "description": "Concept ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "New state of the concept",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ConceptInputModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConceptInputModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConceptInputModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConceptInputModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConceptModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConceptModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConceptModel"
                }
              }
            }
          },
          "400": {
            "description": "A language is not a glossary language, a term has no text, or an attribute does not match the glossary structure"
          },
          "403": {
            "description": "The API key belongs to a different account than the requested one"
          },
          "404": {
            "description": "The glossary or the concept with the specified ID was not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Glossary"
        ],
        "summary": "Delete a glossary concept",
        "parameters": [
          {
            "name": "glossaryId",
            "in": "path",
            "description": "Glossary ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "conceptId",
            "in": "path",
            "description": "Concept ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "Request has been successfully completed"
          },
          "403": {
            "description": "The API key belongs to a different account than the requested one"
          },
          "404": {
            "description": "The glossary or the concept with the specified ID was not found"
          }
        }
      }
    },
    "/api/integration/v1/invoice/job": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Create payment to freelancer",
        "requestBody": {
          "description": "Freelancer payment creation parameters",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ImportJobModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportJobModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportJobModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ImportJobModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "One or several query parameters are incorrect"
          }
        }
      }
    },
    "/api/integration/v2/invoice/job": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Create a payment",
        "requestBody": {
          "description": "Payment creation parameters",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ImportJobModelV2"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportJobModelV2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportJobModelV2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ImportJobModelV2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "One or several query parameters are incorrect"
          }
        }
      }
    },
    "/api/integration/v1/invoice/jobs": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Create an array of freelancer payments",
        "requestBody": {
          "description": "Freelancer payment creation parameters",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ImportJobModel"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ImportJobModel"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ImportJobModel"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ImportJobModel"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returns if one or several parameters in a provided job are incorrect"
          }
        }
      }
    },
    "/api/integration/v2/invoice/jobs": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Create a payments array",
        "requestBody": {
          "description": "Payment creation parameters",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ImportJobModelV2"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ImportJobModelV2"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ImportJobModelV2"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ImportJobModelV2"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returns if one or several parameters in a provided job are incorrect"
          }
        }
      }
    },
    "/api/integration/v1/invoice/job/list": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Fetch an array of freelancer payments by ID",
        "parameters": [
          {
            "name": "externalIds",
            "in": "query",
            "description": "External payment IDs",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/invoice/job/listByExternalId": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Fetch an array of payments by ID",
        "parameters": [
          {
            "name": "externalIds",
            "in": "query",
            "description": "External payment ID",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/invoice/job/listByCreatedDate": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Fetch an array of jobs by creation date",
        "parameters": [
          {
            "name": "dateCreatedFrom",
            "in": "query",
            "description": "Fetch the jobs created after the specified date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateCreatedTo",
            "in": "query",
            "description": "Fetch the jobs created before the specified date",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Number of skipped items",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum returned items (not more than 500)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/invoice/list": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Fetch a list of invoices created within the specified period",
        "parameters": [
          {
            "name": "dateCreatedFrom",
            "in": "query",
            "description": "Period start (inclusive)",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateCreatedTo",
            "in": "query",
            "description": "Period end (inclusive)",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum returned items (not more than 10)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Number of skipped items",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/client-agent-invoice/list": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Fetch a list of agent invoices",
        "parameters": [
          {
            "name": "dateFrom",
            "in": "query",
            "description": "Period start (inclusive)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "description": "Period end (inclusive)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientAgentInvoiceModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientAgentInvoiceModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientAgentInvoiceModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v3/job/verifiedForProject": {
      "get": {
        "tags": [
          "Job"
        ],
        "summary": "Fetch an array of jobs whose status is VERIFIED",
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Number of jobs to be skipped (default: 0)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of jobs to fetch (default: 100)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2Extended"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2Extended"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2Extended"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v3/job": {
      "get": {
        "tags": [
          "Job"
        ],
        "summary": "Fetch an array of jobs",
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Number of jobs to be skipped (default: 0)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of jobs to fetch (default: 100)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2Extended"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2Extended"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobModelV2Extended"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/lsp/prices/{priceId}": {
      "delete": {
        "tags": [
          "LspPrices"
        ],
        "summary": "Delete an LSP service price",
        "parameters": [
          {
            "name": "priceId",
            "in": "path",
            "description": "Service price ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/integration/v2/lsp/prices": {
      "get": {
        "tags": [
          "LspPrices"
        ],
        "summary": "Fetch LSP service prices by ID",
        "parameters": [
          {
            "name": "priceIds",
            "in": "query",
            "description": "The list of service price IDs",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspPriceModelV2"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspPriceModelV2"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspPriceModelV2"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "LspPrices"
        ],
        "summary": "Create a new LSP service price",
        "requestBody": {
          "description": "Service price creation request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdatePriceModelV2"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdatePriceModelV2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdatePriceModelV2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdatePriceModelV2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/lsp/prices/batch": {
      "get": {
        "tags": [
          "LspPrices"
        ],
        "summary": "Fetch LSP service prices",
        "parameters": [
          {
            "name": "lastPriceId",
            "in": "query",
            "description": "Fetch the list of service prices starting from the ID that follows the specified ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The required number of results (the default is 100)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspPriceModelV2"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspPriceModelV2"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspPriceModelV2"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "LspPrices"
        ],
        "summary": "Create new LSP service prices",
        "requestBody": {
          "description": "An array of service price creation requests",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LspUpdatePriceModelV2"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LspUpdatePriceModelV2"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LspUpdatePriceModelV2"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LspUpdatePriceModelV2"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AddBatchResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AddBatchResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AddBatchResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/lsp/prices/{priceId}": {
      "put": {
        "tags": [
          "LspPrices"
        ],
        "summary": "Update an existing LSP service price",
        "parameters": [
          {
            "name": "priceId",
            "in": "path",
            "description": "Service price ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Service price update request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdatePriceModelV2"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdatePriceModelV2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdatePriceModelV2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdatePriceModelV2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/integration/v1/lsp/services/{serviceId}": {
      "delete": {
        "tags": [
          "LspService"
        ],
        "summary": "Delete an LSP service",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "description": "Service ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/integration/v2/lsp/services": {
      "get": {
        "tags": [
          "LspService"
        ],
        "summary": "Fetch LSP services by ID",
        "parameters": [
          {
            "name": "serviceIds",
            "in": "query",
            "description": "List of service IDs",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspServiceModelV2"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspServiceModelV2"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspServiceModelV2"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "LspService"
        ],
        "summary": "Create a new LSP service",
        "requestBody": {
          "description": "An array of service creation requests",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdateServiceModelV2"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdateServiceModelV2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdateServiceModelV2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdateServiceModelV2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/lsp/services/batch": {
      "get": {
        "tags": [
          "LspService"
        ],
        "summary": "Fetch LSP services",
        "parameters": [
          {
            "name": "lastServiceId",
            "in": "query",
            "description": "Fetch the list of services starting from the ID that follows the specified ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The required number of results (the default is 100)",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspServiceModelV2"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspServiceModelV2"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LspServiceModelV2"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "LspService"
        ],
        "summary": "Create new LSP services",
        "requestBody": {
          "description": "An array of service creation requests",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LspUpdateServiceModelV2"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LspUpdateServiceModelV2"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LspUpdateServiceModelV2"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LspUpdateServiceModelV2"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AddBatchResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AddBatchResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AddBatchResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/lsp/services/{serviceId}": {
      "put": {
        "tags": [
          "LspService"
        ],
        "summary": "Update an existing LSP service",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "description": "Service ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Service update request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdateServiceModelV2"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdateServiceModelV2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdateServiceModelV2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LspUpdateServiceModelV2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/integration/v1/account/myTeam/{userId}": {
      "get": {
        "tags": [
          "MyTeam"
        ],
        "summary": "Fetch a MyTeam member model by ID",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MyTeamMemberModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyTeamMemberModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyTeamMemberModel"
                }
              }
            }
          },
          "404": {
            "description": "User not found"
          }
        }
      },
      "delete": {
        "tags": [
          "MyTeam"
        ],
        "summary": "Delete the user from MyTeam",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Request has been successfully completed"
          }
        }
      }
    },
    "/api/integration/v1/account/myTeam": {
      "get": {
        "tags": [
          "MyTeam"
        ],
        "summary": "Fetch a MyTeam member model by external ID",
        "parameters": [
          {
            "name": "externalId",
            "in": "query",
            "description": "User external ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MyTeamMemberModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyTeamMemberModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyTeamMemberModel"
                }
              }
            }
          },
          "404": {
            "description": "User not found"
          }
        }
      },
      "post": {
        "tags": [
          "MyTeam"
        ],
        "summary": "Add an in-house translator to MyTeam as a linguist",
        "requestBody": {
          "description": "Model of adding an in-house translator as a linguist",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InhouseTranslatorCreationModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InhouseTranslatorCreationModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InhouseTranslatorCreationModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InhouseTranslatorCreationModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MyTeamMemberModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyTeamMemberModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyTeamMemberModel"
                }
              }
            }
          },
          "400": {
            "description": "Provided information is incorrect"
          },
          "404": {
            "description": "Unable to find an account connected to the integration API"
          },
          "409": {
            "description": "A linguist with the provided email or external ID is already added to the team"
          }
        }
      }
    },
    "/api/integration/v1/account/searchMyTeam": {
      "post": {
        "tags": [
          "MyTeam"
        ],
        "summary": "Search for linguists in MyTeam",
        "requestBody": {
          "description": "Linguist search model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/MyTeamSearchRequestModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MyTeamSearchRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MyTeamSearchRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MyTeamSearchRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MyTeamMemberModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MyTeamMemberModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MyTeamMemberModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returns if:\n\r\n- Maximum required number of results is greater than 500\r\n- Specified language is unknown\r\n- Specified service type is unknown\r\n- Specified subject expertise (specialization) is unknown\r\n- Specified currency is unknown\r\n- Specified level of subject expertise (specialization) is unknown"
          },
          "404": {
            "description": "Unable to find an account connected to the integration API"
          }
        }
      }
    },
    "/api/integration/v1/account/myTeam/{userId}/services/replace": {
      "post": {
        "tags": [
          "MyTeam"
        ],
        "summary": "Replace all services in a MyTeam profile",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "All service replacement model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceServicesModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceServicesModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceServicesModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceServicesModel"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "Provided information is incorrect",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "User not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/account/myTeam/{userId}/phone": {
      "put": {
        "tags": [
          "MyTeam"
        ],
        "summary": "Add a MyTeam member's phone number",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Phone number",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Request has been successfully completed"
          },
          "404": {
            "description": "User not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/account/myTeam/{userId}/comment": {
      "put": {
        "tags": [
          "MyTeam"
        ],
        "summary": "Add a comment to a MyTeam member profile",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Commentary",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "Comment length exceeds 500 characters",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "User not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/placeholders": {
      "get": {
        "tags": [
          "PlaceholderFormatApi"
        ],
        "summary": "Fetch all placeholder formats available in the current account",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceholderFormatModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceholderFormatModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceholderFormatModel"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PlaceholderFormatApi"
        ],
        "summary": "Save placeholder formats set for the specified account",
        "requestBody": {
          "description": "Placeholder formats list",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlaceholderFormatModel"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlaceholderFormatModel"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlaceholderFormatModel"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PlaceholderFormatModel"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/integration/v1/placeholders/presets": {
      "get": {
        "tags": [
          "PlaceholderFormatApi"
        ],
        "summary": "Fetch all placeholder presets of the current account.\r\nUse a preset id as placeholderPresetId when creating a project to mark up placeholders\r\nwith that preset instead of the account default one",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceholderPresetModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceholderPresetModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceholderPresetModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/placeholders/validate": {
      "get": {
        "tags": [
          "PlaceholderFormatApi"
        ],
        "summary": "Validate the provided placeholder format",
        "parameters": [
          {
            "name": "format",
            "in": "query",
            "description": "Placeholder format regular expression",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Receive the project model",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectModel"
                }
              }
            }
          },
          "400": {
            "description": "The specified project ID's format is incorrect"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      },
      "put": {
        "tags": [
          "Project"
        ],
        "summary": "Update a project by ID",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Project changes model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectChangesModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectChangesModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectChangesModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectChangesModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "The project has been successfully updated"
          },
          "400": {
            "description": "The provided project model is empty or a vendor is specified for a project that works with tasks",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The project is not associated with the account or an attempt is made to modify the vendor when the work on the project has already started",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided project ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The new name will not be unique in the project",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Project"
        ],
        "summary": "Delete the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The project has been successfully deleted"
          },
          "400": {
            "description": "The specified project ID's format is incorrect",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The project is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/project/list": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Fetch the list of account projects",
        "parameters": [
          {
            "name": "createdByUserId",
            "in": "query",
            "description": "ID of the user who created the project",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "assignedToUserId",
            "in": "query",
            "description": "User ID for filtering by assignment",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectName",
            "in": "query",
            "description": "Partial project name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalTag",
            "in": "query",
            "description": "Partial external tag of the project",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clientIds",
            "in": "query",
            "description": "Comma-separated client ID",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of skipped items",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum returned items (not more than 100)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request completed successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Incorrect parameter format"
          },
          "403": {
            "description": "Some of the provided clients do not exist in the account"
          }
        }
      }
    },
    "/api/integration/v1/project/list": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Fetch the list of account projects",
        "parameters": [
          {
            "name": "createdByUserId",
            "in": "query",
            "description": "ID of the user who created the project",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "assignedToUserId",
            "in": "query",
            "description": "User ID for filtering by assignment",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectName",
            "in": "query",
            "description": "Partial project name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalTag",
            "in": "query",
            "description": "Partial external tag of the project",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectType",
            "in": "query",
            "description": "Type of the project",
            "schema": {
              "$ref": "#/components/schemas/ProjectTypeFilter"
            }
          },
          {
            "name": "clientIds",
            "in": "query",
            "description": "Comma-separated client IDs",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "includeDocuments",
            "in": "query",
            "description": "Include project documents in response",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "includeQuotes",
            "in": "query",
            "description": "Include project related quotes in response",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "includeCustomFields",
            "in": "query",
            "description": "Include project related custom fields in response",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "includeClients",
            "in": "query",
            "description": "Include project clients in response",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of skipped items",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum returned items (not more than 100)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request completed successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Incorrect parameter format"
          },
          "403": {
            "description": "Some of the provided clients do not exist in the account"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/statistics": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "(This method is obsolete and has been replaced with /api/integration/v2/project/{projectId}/statistics)\r\nFetch project statistics",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "onlyExactMatches",
            "in": "query",
            "description": "Specifies whether returning 100% and higher matches will suffice",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/ProjectStatisticsObsoleteModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/ProjectStatisticsObsoleteModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/ProjectStatisticsObsoleteModel"
                  }
                }
              }
            }
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      }
    },
    "/api/integration/v2/project/{projectId}/statistics": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Fetch project statistics",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "onlyExactMatches",
            "in": "query",
            "description": "Specifies whether returning 100% and higher matches will suffice (the default is false)",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "403": {
            "description": "The project is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "422": {
            "description": "One or multiple project documents could not be disassembled",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "Request has been successfully completed"
          },
          "202": {
            "description": "Statistics creation is in progress"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/fuzzyRepetitions": {
      "put": {
        "tags": [
          "Project"
        ],
        "summary": "Enable or disable calculating fuzzy repetitions in the project statistics",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "withFuzzyMatches",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/completedWorkStatistics": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Receive statistics for the completed parts of the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExecutiveStatisticsModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExecutiveStatisticsModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExecutiveStatisticsModel"
                  }
                }
              }
            }
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/translationmemories": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Receive a list of the TMs plugged into the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "TM IDs collection is empty",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTranslationMemoryModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTranslationMemoryModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTranslationMemoryModel"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The project with the specified ID was not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Recreate the set of TMs plugged into the project.\r\nThe set of TMs is identical for all target languages of the project.",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "onlyExactSourceLanguageMatch",
            "in": "query",
            "description": "Specifies whether exact matches in the source language are required (the default is false)",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "onlyExactTargetLanguageMatch",
            "in": "query",
            "description": "Specifies whether exact matches in the target language are required (the default is false)",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "Collection of TMs",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TranslationMemoryForProjectModel"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TranslationMemoryForProjectModel"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TranslationMemoryForProjectModel"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TranslationMemoryForProjectModel"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "Returns if:\n\r\n- The provided model with TM IDs to be added to the project is empty\r\n- More than one TM has been provided\r\n- The match threshold in the TM is smaller than the allowed minimum (50)\r\n- A TM appears in the settings multiple times\r\n- The Write TM does not include all the project's target languages\r\n- The project's source language does not match any source language in the provided TM\r\n- None of the project's target languages appears among the target languages in the provided Read TM"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/glossaries": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Fetch the list of glossaries plugged into the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryModel"
                  }
                }
              }
            }
          },
          "403": {
            "description": "The project is associated with another account"
          },
          "404": {
            "description": "Project not found"
          }
        }
      },
      "put": {
        "tags": [
          "Project"
        ],
        "summary": "Set a collection of glossaries plugged into the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Array of glossary IDs",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "A provided glossary does not match any language pair in the project",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The project is associated with another account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided IDs do not match any project or glossary",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/glossaries/default": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Fetch default glossary for the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fallbackToAccount",
            "in": "query",
            "description": "By default, if a project does not have a default glossary, a 404 error will be returned. Set this flag to true to attempt to get a default glossary from the entire account.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryModel"
                }
              }
            }
          },
          "403": {
            "description": "The project is associated with another account"
          },
          "404": {
            "description": "Project or default glossary is not found"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/mt": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Fetch the project's MT configuration",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns if the operation has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectMTEngineModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectMTEngineModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectMTEngineModel"
                  }
                }
              }
            }
          },
          "403": {
            "description": "The project is associated with another account"
          },
          "404": {
            "description": "Project not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Set an MT configuration in the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Required MT settings",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectMTEngineModel"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectMTEngineModel"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectMTEngineModel"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectMTEngineModel"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Returns if the operation has been successfully completed"
          },
          "400": {
            "description": "Incorrect parameters",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The project is associated with another account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Project not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/mt/available": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Fetch all the MT engines and profiles that can be used in the specified project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns if the operation has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectMTEngineSupportedLanguagesModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectMTEngineSupportedLanguagesModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectMTEngineSupportedLanguagesModel"
                  }
                }
              }
            }
          },
          "403": {
            "description": "The project is associated with another account"
          },
          "404": {
            "description": "Project not found"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/pretranslation-rules": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Fetch the project pre-processing rules",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PretranslateRuleModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PretranslateRuleModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PretranslateRuleModel"
                  }
                }
              }
            }
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Define project pre-processing rules",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "startPretranslate",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "description": "Project pre-processing rules",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PretranslateRuleModel"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PretranslateRuleModel"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PretranslateRuleModel"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PretranslateRuleModel"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      },
      "put": {
        "tags": [
          "Project"
        ],
        "summary": "Define project pre-processing rules",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "startPretranslate",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "description": "Project pre-processing rules",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PretranslateRuleModel"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PretranslateRuleModel"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PretranslateRuleModel"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PretranslateRuleModel"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/empty-folders-removing-status": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Fetch the status of removing empty project folders",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyProjectFoldersRemoveTaskStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyProjectFoldersRemoveTaskStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyProjectFoldersRemoveTaskStatus"
                }
              }
            }
          },
          "403": {
            "description": "The project is not associated with the account"
          }
        }
      }
    },
    "/api/integration/v1/project/import-result/{importId}": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Fetch the result of import into the Localization Project",
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "description": "Import task identifier",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StringsTableImportResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringsTableImportResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringsTableImportResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/cancel": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Cancel the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The project has been canceled"
          },
          "403": {
            "description": "The project is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided project ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/restore": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Restore the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The project has been restored"
          },
          "403": {
            "description": "The project is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided project ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/complete": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Complete the workflow for all project documents. As a result, the project status will change to Completed.",
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Request has been successfully completed"
          },
          "403": {
            "description": "The project is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided project ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/create": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Create the project",
        "description": "This method uses special structure for multipart/form-data content\r\nPlease read this article in order to create a proper request\r\nhttps://developers.smartcat.com/api-guides/#multipart-requests\r\nIf you need more comprehensive overview of the project creation process\r\nyou can find this series of articles with detailed explanations and examples\r\nhttps://developers.smartcat.com/api-guides/#creating-a-project",
        "requestBody": {
          "description": "Project with files creation model",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "$ref": "#/components/schemas/CreateProjectModel"
                  },
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectModel"
                }
              }
            }
          },
          "400": {
            "description": "Returns if:\n\r\n- The project model is empty\r\n- The project description length exceeds the allowed maximum\r\n- The user ID was not found in the specified account\r\n- The domain ID is incorrect\r\n- The client ID is incorrect\r\n- The vendor ID is incorrect\r\n- A vendor is specified for a project that works with tasks\r\n- The account does not support the test project creation\r\n- A custom field value names a field the account does not offer for projects, or is too long for it\r\n- A required custom field of the project template gets a value from neither the request nor the template\r\n- The project template requires a folder, and neither the request nor the template sets one"
          },
          "403": {
            "description": "The specified account is personal"
          },
          "404": {
            "description": "Account not found"
          },
          "409": {
            "description": "Several documents with identical names are being added to the project"
          }
        }
      }
    },
    "/api/integration/v2/project/{projectId}/import": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Import keys and values from files into the Software Localization Project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project identifier",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "collection",
            "in": "query",
            "description": "Target collection (optional, \"main\" as default)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Language of the imported files",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target-languages",
            "in": "query",
            "description": "Comma separated list of target languages\r\n(optional, all target languages of the project by default, can only be specified when importing the source).\r\n- Empty list of languages produces a 400 bad request error with an appropriate reason text\r\n- An incorrect language code produces a 400 bad request error with an appropriate reason text\r\n- If any language didn't exist in the project, it will be created (but not added as a target to any existing collections)\r\n- If any language didn't exist in the collection (the target collection existed before), it will be added as a target to the collection",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Specifies the file format used to import the file (optional).\r\nSmartcat will try to identify the file format from its extension.",
            "schema": {
              "$ref": "#/components/schemas/SoftwareLocalizationDocumentFormat"
            }
          },
          {
            "name": "completion-state",
            "in": "query",
            "description": "Imported translation confirmation mode\r\ndraft — translation must be imported but not confirmed on any stage (default)\r\nintermediate — the translation must be imported and automatically confirmed at the first project stage\r\nfinal — the translation must be imported and confirmed on all project stages",
            "schema": {
              "$ref": "#/components/schemas/SegmentCompletionState"
            }
          },
          {
            "name": "labels",
            "in": "query",
            "description": "Comma-separated labels that will be attached to the created/updated segments (even if the text is not changed)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path-separator",
            "in": "query",
            "description": "Path separator string (optional)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip-conflicting-values",
            "in": "query",
            "description": "Specifies how to deal with situations when the same key has a different\r\nvalue in the imported file and in Smartcat - keeps the value in Smartcat by default",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "overwrite-conflicting-values",
            "in": "query",
            "description": "When the same key has a different value in the imported file and in Smartcat - use the value from the file",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "auto-file-labels",
            "in": "query",
            "description": "Should Smartcat automatically create labels after file names?",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "delete-missing-keys",
            "in": "query",
            "description": "Delete keys that are not present in the imported files",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "description": "Files for import",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/document": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Add a document to the project",
        "description": "This method uses special structure for multipart/form-data content\r\nPlease read this article in order to create a proper request\r\nhttps://developers.smartcat.com/api-guides/#multipart-requests",
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "disassembleAlgorithmName",
            "in": "query",
            "description": "Optional algorithm of file disassembly",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External identifier assigned by the client upon the document creation",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metaInfo",
            "in": "query",
            "description": "Additional user information about the document",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetLanguages",
            "in": "query",
            "description": "Comma-separated target languages of all documents. Optional parameter. Can be modified per document in the request body. By default, lists the project target languages.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "presetDisassembleAlgorithm",
            "in": "query",
            "description": "Optional preset for the file disassembly algorithm",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enableOcr",
            "in": "query",
            "description": "Optional parameter for disabling OCR (the default is true)",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "description": "Document file upload model",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CreateDocumentPropertyModel"
                    }
                  },
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              },
              "examples": {
                "MultilingualExcelDisassembleSettingsModel": {
                  "summary": "Value property for Multilingual Excel Disassemble Settings Model",
                  "value": {"externalId":null,"metaInfo":null,"disassembleAlgorithmName":null,"presetDisassembleAlgorithm":null,"disassembleSettings":{"startingRow":1,"columns":{"context":"C","comments":["E"],"lengthLimit":"D","language":{"en":"A","ru":"B"}}},"bilingualFileImportSetings":null,"targetLanguages":null,"enablePlaceholders":null,"enableOcr":null}
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The specified file is empty"
          },
          "403": {
            "description": "The project is not associated with the account or the specified account is personal"
          },
          "404": {
            "description": "The provided project ID does not exist"
          },
          "409": {
            "description": "The document name is not unique"
          }
        }
      }
    },
    "/api/integration/v1/project/language": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Add a new target language to the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "targetLanguage",
            "in": "query",
            "description": "Target language",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "addLanguageToDocuments",
            "in": "query",
            "description": "An optional parameter that can be used to disable the addition of a language for all project documents (by default - true)",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "204": {
            "description": "A new target language was added to the projec"
          },
          "400": {
            "description": "The provided target language is identical with the source language",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The project is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided project ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Project"
        ],
        "summary": "Remove a target language from the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "targetLanguage",
            "in": "query",
            "description": "Target language",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The target language has been successfully removed from the project"
          },
          "400": {
            "description": "An attempt to remove the latest target language",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The project is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The provided project ID does not exist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/translationmemories/bylanguages": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Recreate the set of TMs plugged into the project.\r\nA separate set of TMs is created for each target language.",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Collections of languages and their respective TMs",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TranslationMemoriesForLanguageModel"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TranslationMemoriesForLanguageModel"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TranslationMemoriesForLanguageModel"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TranslationMemoriesForLanguageModel"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "Returns if:\n\r\n- TM settings are not defined\r\n- The provided model with TM IDs to be added to the project for one of the languages is empty\r\n- More than one TM was provided for one of the languages\r\n- The match threshold in the TM is smaller than the allowed minimum (50)\r\n- A TM appears in language settings multiple times\r\n- The target language associated with the TM does not appear in the Write TM's target languages\r\n- The project's source language does not match any source language in the provided TM\r\n- The target language associated with the TM does not appear in the Read TM's target languages"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/statistics/build": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Start processing the project statistics",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "onlyExactMatches",
            "in": "query",
            "description": "Specifies whether returning 100% and higher matches will suffice (the default is false)",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "202": {
            "description": "Statistics creation is in progress"
          },
          "400": {
            "description": "One or multiple parameters are formatted incorrectly"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          },
          "422": {
            "description": "One or multiple project documents could not be disassembled"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/managers": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Add managers to the specified project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "User IDs list",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "One or multiple parameters are formatted incorrectly"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      },
      "delete": {
        "tags": [
          "Project"
        ],
        "summary": "Delete managers from the project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "List of IDs of users labeled as managers",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Managers have been successfully deleted"
          },
          "400": {
            "description": "The specified project ID's format is incorrect",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The project is not associated with the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/assign": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Automatically assign all new documents/segments to current linguists",
        "description": "Current limitations:\r\n1. Assignments are made to the following stages only: Translation, Editing, Proofreading, Postediting\r\n2. Assignments are made only to documents with an ID",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mode",
            "in": "query",
            "description": "Auto-assignment mode",
            "schema": {
              "$ref": "#/components/schemas/AutoAssignmentMode"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkflowStageInDocumentModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkflowStageInDocumentModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkflowStageInDocumentModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "One or multiple parameters are formatted incorrectly or the project works with tasks"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/ReferenceFiles": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Add reference files to a project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Files to be uploaded",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Returns if the operation has been successfully completed"
          },
          "400": {
            "description": "Incorrect parameters",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The project is associated with another account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Project not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/run-empty-folders-removing": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Run the empty project folders deletion task",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "The project is not associated with the account"
          }
        }
      }
    },
    "/api/integration/v2/project/{projectId}/export": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Run export from Software Localization Project",
        "description": "Examples and detailed explanation can be found in this article:\r\nhttps://developers.smartcat.com/#extended-import-export-functionality",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "collections",
            "in": "query",
            "description": "Comma-separated collections list to export (optional, \"main\" as default)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "languages",
            "in": "query",
            "description": "Comma-separated list of languages to export (optional, all target languages by default)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Export format (optional, JSON by default)",
            "schema": {
              "$ref": "#/components/schemas/SoftwareLocalizationDocumentFormat"
            }
          },
          {
            "name": "path-separator",
            "in": "query",
            "description": "Path separator string (optional)\r\nWhen exporting \"structured-json\" and \"structured-yaml\" file formats,\r\nthis separator string will be used to split the key into multiple parts and construct the tree structure.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "completion-state",
            "in": "query",
            "description": "Minimal key completion state (optional)\r\nSpecifies the state in which any key (segment) must be in order to be exported.\r\ndraft — download any translations, even unconfirmed ones (default)\r\nintermediate — download segments at the last confirmed stage\r\nfinal — download segments that passed through all translation stages",
            "schema": {
              "$ref": "#/components/schemas/SegmentCompletionState"
            }
          },
          {
            "name": "fallback-to-default-language",
            "in": "query",
            "description": "Return default language values instead of incomplete translations (default)",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "export-incomplete-as-blank",
            "in": "query",
            "description": "Export blank values when no translation is ready",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "skip-incomplete-keys",
            "in": "query",
            "description": "Do not export keys that have no translations (will be used as a default for the \"android-xml\" export file type)",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "output-file-path-template",
            "in": "query",
            "description": "Output file path template (Optional)\r\nSpecifies how the output files should be named and located.\r\nYou can use the {LANGUAGE} and {LABEL:PREFIX} placeholders to customize the output.\r\nThe {LOCALE:IOS} and {LOCALE:ANDROID} placeholders are also available for platform specific exports.\r\nThe ability to specify {LABEL:PREFIX} placeholder allows you to export keys that have the PREFIX value\r\nof label prefix and use the label suffix to determine the file name.\r\nWhen several collections are exported, the template must contain the {COLLECTION} placeholder;\r\nif no template is given, the format default is adjusted to contain {COLLECTION} and a language placeholder.\r\nSee examples [here](http://developers.sc.local/software-localization/#file-path-template)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include-default-language",
            "in": "query",
            "description": "Specify if the default language should be included in the export",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "zip",
            "in": "query",
            "description": "Force export to a ZIP archive, even for a single file",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "modified-since",
            "in": "query",
            "description": "Export keys that were changed after the datetime",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "labels",
            "in": "query",
            "description": "Comma-separated list of labels to export keys that are marked with labels",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "indent",
            "in": "query",
            "description": "Indent for formatting the exporting file (optional, 2 spaces by default)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Export keys model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExportKeysFromSoftwareLocalizationProjectModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportKeysFromSoftwareLocalizationProjectModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportKeysFromSoftwareLocalizationProjectModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExportKeysFromSoftwareLocalizationProjectModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "400": {
            "description": "The provided model is invalid"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided IDs do not match any project"
          }
        }
      }
    },
    "/api/integration/v1/project/{projectId}/copying": {
      "post": {
        "tags": [
          "Project"
        ],
        "summary": "Run copying a project",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectCopyModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectCopyModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectCopyModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectCopyModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/project/copying/{taskId}": {
      "get": {
        "tags": [
          "Project"
        ],
        "summary": "Get project copy state",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "Copy task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectCopyStateModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectCopyStateModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectCopyStateModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/list": {
      "get": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Get a list of project tasks",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Code of the currency used to recalculate supplier rates and the cost of work  AbbyyLS.Web.Currency",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Currency"
            }
          },
          {
            "name": "documentId",
            "in": "query",
            "description": "Document id filter. If present - returns only tasks with this specific document",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Number of skipped items",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of tasks in the response (no more than 50)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTaskModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTaskModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTaskModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/{projectTaskId}": {
      "get": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Get information regarding task projectTaskId for project projectId",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Code of the currency used to recalculate supplier rates and the cost of work AbbyyLS.Web.Currency",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Currency"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectTaskModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectTaskModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectTaskModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/{projectTaskId}/scope": {
      "get": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Get information about the scope of work, regarding task  projectTaskId for project projectId",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Code of the currency used to calculate the cost of work",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Currency"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Number of skipped items",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of elements in the response (no more than 100)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTaskScopeModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTaskScopeModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTaskScopeModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/{projectTaskId}/set-invitation-strategy-type": {
      "put": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Set the mode of access to perform the work for those who accepted the invitation",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "invitationStrategyType",
            "in": "query",
            "description": "Mode of access to the work for those who accepted the invitation",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ProjectTaskIndividualInvitationStrategyType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/{projectTaskId}/individual-assignment": {
      "put": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Assign individual suppliers to perform task projectTaskId",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request for assignment of individual suppliers",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/IndividualAssignmentRequestModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IndividualAssignmentRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IndividualAssignmentRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IndividualAssignmentRequestModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Delete individual assignment",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "description": "ID of the user whose assignment is to be removed",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/{projectTaskId}/vendor-assignment": {
      "put": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Assign a supplier to perform task  projectTaskId",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Request for assignment of a supplier",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/VendorAssignmentRequestModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VendorAssignmentRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VendorAssignmentRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VendorAssignmentRequestModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Remove supplier assignment",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "vendorAccountId",
            "in": "query",
            "description": "Identifier of the supplier account whose assignment is to be removed",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/{projectTaskId}/payables": {
      "get": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Get information about payments to suppliers for the work on task projectTaskId",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Code of the currency used to calculate the cost of work",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Currency"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Number of skipped items",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of elements in the response (no more than 100)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTaskJobModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTaskJobModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectTaskJobModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/{projectTaskId}/deadline": {
      "put": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Set a deadline for the task",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "deadline",
            "in": "query",
            "description": "Task deadline",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/{projectTaskId}/split": {
      "post": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Move the task volume to another task",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Data required to move the task volume",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SplitProjectTaskRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SplitProjectTaskRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SplitProjectTaskRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SplitProjectTaskRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SplitProjectTaskResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SplitProjectTaskResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SplitProjectTaskResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/{projectTaskId}/splitByParts/{partsCount}": {
      "post": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Split task into partsCount parts",
        "description": "Available for accounts with subscription",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "partsCount",
            "in": "path",
            "description": "Number of parts to divide the task into",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "preserveAssignments",
            "in": "query",
            "description": "Specifies whether assignments should be moved from the parent task",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SplitProjectTaskByPartsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SplitProjectTaskByPartsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SplitProjectTaskByPartsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/projectTask/{projectId}/{projectTaskId}/merge": {
      "post": {
        "tags": [
          "ProjectTask"
        ],
        "summary": "Merge task projectTaskId with tasks request\r\nAll merged tasks must belong to the same stage Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskModel.StageId,\r\nhave the same target language Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskModel.TargetLanguage and have no agencies/companies assigned to the task\r\nDuring the merge process, existing supplier assignments will be removed. Tasks will be merged and become inaccessible.\r\nAs a result of the operation, a new task is created, which includes all the scope of work from the merged tasks.",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "projectTaskId",
            "in": "path",
            "description": "Task ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Data required to merge tasks",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectTaskMergeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectTaskMergeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectTaskMergeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectTaskMergeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MergeProjectTasksResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MergeProjectTasksResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MergeProjectTasksResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/Quote/{projectId}": {
      "get": {
        "tags": [
          "Quote"
        ],
        "summary": "Fetch information about the project quote",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              }
            }
          },
          "400": {
            "description": "The specified project ID's format is incorrect"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/Quote/ByVendor/{projectId}": {
      "get": {
        "tags": [
          "Quote"
        ],
        "summary": "Fetch information about the project quote",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The specified project ID's format is incorrect"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/Quote/ListByProjectIds": {
      "get": {
        "tags": [
          "Quote"
        ],
        "summary": "Fetch a list of quotes by a list of projects",
        "parameters": [
          {
            "name": "projectIds",
            "in": "query",
            "description": "List of projects",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/Quote/List": {
      "get": {
        "tags": [
          "Quote"
        ],
        "summary": "Fetch the list of quotes for the current account",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/Quote/Update": {
      "put": {
        "tags": [
          "Quote"
        ],
        "summary": "Update information on the project quote",
        "requestBody": {
          "description": "Project quote model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              }
            }
          },
          "400": {
            "description": "Returns if:\r\n- The specified project ID's format is incorrect\r\n- The quote status is Paid"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "Returns if:\r\n- The provided project ID does not exist\r\n- The provided client ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/Quote/{id}/Upload": {
      "post": {
        "tags": [
          "Quote"
        ],
        "summary": "Upload a project quote details file",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "Returns if:\r\n- The provided file model is empty\r\n- The specified project ID's format is incorrect\r\n- The quote is empty or includes service details\r\n- The quote status is Paid"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/Quote/{id}/Approve": {
      "post": {
        "tags": [
          "Quote"
        ],
        "summary": "Approve a quote",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Project quote ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              }
            }
          },
          "400": {
            "description": "Returns if:\r\n- The specified project ID's format is incorrect\r\n- The quote does not include the cost"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/Quote/{id}/MarkAsPaid": {
      "post": {
        "tags": [
          "Quote"
        ],
        "summary": "Mark the quote as paid",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Project quote ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteModel"
                }
              }
            }
          },
          "400": {
            "description": "Returns if:\r\n- The specified project ID's format is incorrect\r\n- The quote does not include the cost"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "The provided project ID does not exist"
          }
        }
      }
    },
    "/api/integration/v1/Quote/{id}/File": {
      "get": {
        "tags": [
          "Quote"
        ],
        "summary": "Download a cost calculation file",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Quote ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "The specified project ID's format is incorrect"
          },
          "403": {
            "description": "The project is not associated with the account"
          },
          "404": {
            "description": "Returns if:\r\n- The provided project ID does not exist\r\n- Details are missing: file is not attached and generating a new one is not possible"
          }
        }
      }
    },
    "/api/integration/v1/segment-confirmation-statistics/{projectId}": {
      "get": {
        "tags": [
          "SegmentConfirmationStatistics"
        ],
        "summary": "Fetch segment confirmation statistics",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "The period starting date (inclusive) for which statistics are requested. If not specified, this argument is not applicable",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "The period end date (inclusive) for which statistics are requested. If not specified, this argument is not applicable",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetLanguage",
            "in": "query",
            "description": "Target language code",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountUserId",
            "in": "query",
            "description": "ID of the supplier (user) in the account. If not specified, include all suppliers",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SegmentConfirmationStatisticsModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SegmentConfirmationStatisticsModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SegmentConfirmationStatisticsModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v2/segment-confirmation-statistics/{projectId}": {
      "get": {
        "tags": [
          "SegmentConfirmationStatistics"
        ],
        "summary": "Fetch segment confirmation statistics",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Project ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "The period starting date for which statistics are requested. If not specified, this argument is not applicable",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "The period end date for which statistics are requested. If not specified, this argument is not applicable",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "documentId",
            "in": "query",
            "description": "Document ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetLanguage",
            "in": "query",
            "description": "Target language code",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "description": "ID of the supplier (user). If not specified, include all suppliers",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserSegmentConfirmationStatisticsModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserSegmentConfirmationStatisticsModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserSegmentConfirmationStatisticsModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/smartTranslation/translate": {
      "post": {
        "tags": [
          "SmartTranslation"
        ],
        "summary": "Fetch translation\r\nSee the Smart Translation API guide [here](https://developers.smartcat.com/api-guides/#instant-translations-via-the-real-time-api)",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SmartTranslationRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmartTranslationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SmartTranslationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SmartTranslationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SmartTranslationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmartTranslationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmartTranslationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/smartTranslation/charges": {
      "post": {
        "tags": [
          "SmartTranslation"
        ],
        "summary": "Smartwords charged for earlier translate calls, looked up by the request identifiers those calls returned.\r\nThe charge is normally applied within seconds of the translate call; poll until the status is Settled.\r\nIf a charge never arrives, its reservation expires one hour after the call and is closed with nothing charged\r\na few minutes later, so a request stays Pending for at most about 65 minutes.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SmartTranslationChargesRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmartTranslationChargesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SmartTranslationChargesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SmartTranslationChargesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SmartTranslationChargesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmartTranslationChargesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmartTranslationChargesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/smartwords/balance": {
      "get": {
        "tags": [
          "Smartwords"
        ],
        "summary": "Fetch the current Smartwords balance of the workspace",
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SmartwordsBalanceModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmartwordsBalanceModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmartwordsBalanceModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/smartwords/report": {
      "get": {
        "tags": [
          "Smartwords"
        ],
        "summary": "Download the detailed report on the Smartwords transactions of the workspace.\r\nReturns the same report that can be downloaded from the Smartwords page.",
        "parameters": [
          {
            "name": "format",
            "in": "query",
            "description": "Report format. Only `csv` is supported",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Report transactions starting from this date, in the ISO 8601 format (for example, 2026-06-01T00:00:00Z).\r\nThe time of the day is ignored: the report always starts at the beginning of the specified day in UTC.\r\nDates earlier than the workspace creation date are treated as the workspace creation date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Report transactions until this date, in the ISO 8601 format (for example, 2026-06-30T00:00:00Z).\r\nThe specified day is included in the report in full. Defaults to the current date and time when omitted",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "Returns if:\n\r\n- the report format is not specified or is not supported\r\n- the start date is not specified\r\n- the start date is after the end date\r\n- the requested period is longer than one year",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/template": {
      "get": {
        "tags": [
          "Template"
        ],
        "summary": "Get all templates available in the workspace",
        "responses": {
          "200": {
            "description": "List of templates",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TemplateListModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemplateListModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemplateListModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/translationmemory/{tmId}": {
      "get": {
        "tags": [
          "TranslationMemories"
        ],
        "summary": "Fetch information about the TM",
        "parameters": [
          {
            "name": "tmId",
            "in": "path",
            "description": "TM ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TranslationMemoryModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TranslationMemoryModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TranslationMemoryModel"
                }
              }
            }
          },
          "403": {
            "description": "The account cannot access the TM with the specified ID"
          },
          "404": {
            "description": "TM with the specified was not found"
          }
        }
      },
      "post": {
        "tags": [
          "TranslationMemories"
        ],
        "summary": "Import TMX files to a TM",
        "parameters": [
          {
            "name": "tmId",
            "in": "path",
            "description": "TM ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "replaceAllContent",
            "in": "query",
            "description": "Complete replacement of the TM contents is required",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "assuranceLevel",
            "in": "query",
            "description": "Translation assurance level. Calculated based on the document editing stage at which the TM unit was saved.",
            "schema": {
              "$ref": "#/components/schemas/IntegrationApiTMTranslationAssuranceLevel"
            }
          }
        ],
        "requestBody": {
          "description": "TMX file to be uploaded",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "tmxFile": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "TMX file has been successfully imported"
          },
          "400": {
            "description": "Imported file is not a TMX file",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The account cannot access the TM with the specified ID",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "TM with the specified ID was not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "TranslationMemories"
        ],
        "summary": "Delete a TM",
        "parameters": [
          {
            "name": "tmId",
            "in": "path",
            "description": "TM ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "TM has been successfully deleted"
          },
          "400": {
            "description": "The TM has Write permissions in the account",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "TM with the specified ID was not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/translationmemory": {
      "get": {
        "tags": [
          "TranslationMemories"
        ],
        "summary": "Fetch the available TMs filtered per account",
        "parameters": [
          {
            "name": "lastProcessedId",
            "in": "query",
            "description": "The latest ID fetched by the previous query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "batchSize",
            "in": "query",
            "description": "Required size of the returned batch",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sourceLanguage",
            "in": "query",
            "description": "Source language (optional)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetLanguage",
            "in": "query",
            "description": "Target language (optional)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "description": "Client ID (optional)",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "searchName",
            "in": "query",
            "description": "TM partial name (optional)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TranslationMemoryModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TranslationMemoryModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TranslationMemoryModel"
                  }
                }
              }
            }
          },
          "204": {
            "description": "TM collection is empty"
          },
          "400": {
            "description": "The required TM collection size is larger than 100"
          }
        }
      },
      "post": {
        "tags": [
          "TranslationMemories"
        ],
        "summary": "Create an empty TM",
        "requestBody": {
          "description": "TM creation model",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTranslationMemoryModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTranslationMemoryModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTranslationMemoryModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTranslationMemoryModel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "TM has been successfully created"
          },
          "400": {
            "description": "Returns if:\n\r\n- TM creation model is empty\r\n- TM with this name already exists in the account\r\n- TM name is not specified\r\n- TM source language is defined as a translation target language\r\n- An error occurred when creating the TM",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/translationmemory/task": {
      "get": {
        "tags": [
          "TranslationMemories"
        ],
        "summary": "Fetch a collection of TMX file import tasks",
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TMImportTaskModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TMImportTaskModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TMImportTaskModel"
                  }
                }
              }
            }
          },
          "404": {
            "description": "There are no unprocessed import tasks in the account"
          }
        }
      }
    },
    "/api/integration/v1/translationmemory/{tmId}/file": {
      "get": {
        "tags": [
          "TranslationMemories"
        ],
        "summary": "Export TMX files from the TM database",
        "parameters": [
          {
            "name": "tmId",
            "in": "path",
            "description": "TM ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "exportMode",
            "in": "query",
            "description": "Export mode",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TMExportMode"
            }
          },
          {
            "name": "withTags",
            "in": "query",
            "description": "Specifies whether to include tags into export results",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed"
          },
          "403": {
            "description": "The account cannot access the TM with the specified ID"
          },
          "404": {
            "description": "TM with the specified was not found"
          }
        }
      }
    },
    "/api/integration/v1/translationmemory/matches": {
      "post": {
        "tags": [
          "TranslationMemories"
        ],
        "summary": "Fetch matches from the specified TM",
        "parameters": [
          {
            "name": "tmId",
            "in": "query",
            "description": "ID of the TM for the match search",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "TM match segments request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TMMatchesRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TMMatchesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TMMatchesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TMMatchesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentWithMatchesModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentWithMatchesModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentWithMatchesModel"
                }
              }
            }
          },
          "400": {
            "description": "Returns if:\n\r\n- Request model is empty\r\n- No segment model is specified in the request model\r\n- Either source or target is not specified\r\n- The tag type is not \"Start\", \"End\" or \"Placeholder\""
          },
          "403": {
            "description": "The account cannot access the TM with the specified ID"
          },
          "404": {
            "description": "TM with the specified ID was not found"
          }
        }
      }
    },
    "/api/integration/v1/translationmemory/{tmId}/targets": {
      "put": {
        "tags": [
          "TranslationMemories"
        ],
        "summary": "Add an array of target languages to a TM",
        "parameters": [
          {
            "name": "tmId",
            "in": "path",
            "description": "TM ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Array of the required target languages",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Request has been successfully completed"
          },
          "400": {
            "description": "Returns if:\n\r\n- Target languages are not specified\r\n- Target languages contain duplicates\r\n- Target languages contain the source language\r\n- Target language cannot be deleted\r\n- Target languages cannot be updated using the specified parameters",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "The account cannot access the TM with the specified ID",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "TM with the specified ID was not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/translationmemory/task/{taskId}": {
      "delete": {
        "tags": [
          "TranslationMemories"
        ],
        "summary": "Removes the specified import task",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "ID of a task to be imported to the TM",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The import task has been successfully deleted"
          },
          "403": {
            "description": "The account cannot access the TM with the specified ID",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "TM import task with the specified ID was not found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/user-deletion-requests": {
      "post": {
        "tags": [
          "UserDeletionRequests"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/user-deletion-requests/confirm": {
      "post": {
        "tags": [
          "UserDeletionRequests"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/integration/v1/vendor/list": {
      "get": {
        "tags": [
          "Vendor"
        ],
        "summary": "Fetch the list of vendors",
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VendorModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VendorModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VendorModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/integration/v1/vendor/{vendorAccountId}": {
      "get": {
        "tags": [
          "Vendor"
        ],
        "summary": "Fetch a vendor by ID",
        "parameters": [
          {
            "name": "vendorAccountId",
            "in": "path",
            "description": "Vendor IDVendor ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request has been successfully completed",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VendorModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorModel"
                }
              }
            }
          },
          "400": {
            "description": "The specified vendor ID's format is incorrect"
          },
          "404": {
            "description": "The provided vendor ID does not exist or the vendor is not associated with the account"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description",
            "nullable": true
          },
          "isPersonal": {
            "type": "boolean",
            "description": "Specifies whether it is the user's personal account"
          },
          "type": {
            "type": "string",
            "description": "Account type",
            "nullable": true
          },
          "endCustomerValue": {
            "$ref": "#/components/schemas/EndCustomerValue"
          },
          "dateCreated": {
            "type": "string",
            "description": "Creation date",
            "format": "date-time"
          },
          "interInstallationAccountId": {
            "type": "string",
            "description": "Account ID for interacting with resources shared between installations",
            "format": "uuid"
          },
          "createdByUserId": {
            "type": "string",
            "description": "User ID who created the account",
            "nullable": true
          },
          "organizationId": {
            "type": "string",
            "description": "Organization ID to which the account belongs",
            "format": "uuid",
            "nullable": true
          },
          "isDisabled": {
            "type": "boolean",
            "description": "Attribute of \"disabled\" personal account"
          }
        },
        "additionalProperties": false,
        "description": "Account information for external systems"
      },
      "AddBatchResult": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of a created entity",
            "nullable": true
          },
          "index": {
            "type": "integer",
            "description": "ID of an entity assigned upon its addition to a batch",
            "format": "int32"
          },
          "success": {
            "type": "boolean",
            "description": "Entity was successfully created"
          }
        },
        "additionalProperties": false,
        "description": "Entity creation result model for batch addition"
      },
      "AddDocumentToProjectModel": {
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateDocumentPropertyModel"
            },
            "nullable": true
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UploadedFile"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AdditionalHeaderModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Header name",
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "Value",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "User header model"
      },
      "AgreementModel": {
        "type": "object",
        "properties": {
          "agreementId": {
            "type": "string"
          },
          "balances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Balance"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AiTranslationProfileInfoModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Profile ID to pass as aiTranslationProfileId when creating a project",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "AI translation profile name as shown in the workspace",
            "nullable": true
          },
          "isDefault": {
            "type": "boolean",
            "description": "Whether this profile is the workspace default"
          }
        },
        "additionalProperties": false,
        "description": "AI translation profile information model"
      },
      "AiTranslationProfileListModel": {
        "type": "object",
        "properties": {
          "aiTranslationProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AiTranslationProfileInfoModel"
            },
            "description": "List of AI translation profiles available in the workspace",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "AI translation profile list model"
      },
      "ApprovalStatus": {
        "enum": [
          "notApproved",
          "approved",
          "approvalRequested"
        ],
        "type": "string",
        "format": "int32"
      },
      "AssignExecutivesRequestModel": {
        "type": "object",
        "properties": {
          "executives": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssignExecutivesRequestModel+Executive"
            },
            "description": "Linguists",
            "nullable": true
          },
          "minWordsCountForExecutive": {
            "type": "integer",
            "description": "Minimal word count per linguist. Optional parameter applicable if the word count for the linguist is not explicitly defined\r\nThe remaining document portion assigned to the last linguist might be smaller than the minimum",
            "format": "int32",
            "nullable": true
          },
          "assignmentMode": {
            "$ref": "#/components/schemas/AssignmentMode"
          }
        },
        "additionalProperties": false,
        "description": "Input model of a request for assigning account freelancers or users to a document"
      },
      "AssignExecutivesRequestModel+Executive": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier (UserId for freelancers, AccountUserId for linguists)",
            "format": "uuid"
          },
          "wordsCount": {
            "type": "integer",
            "description": "Word count assigned to the linguist. Optional",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Model for the assignment of a freelancer or account user to a document"
      },
      "AssignMyTeamExecutivesRequestModel": {
        "type": "object",
        "properties": {
          "documentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Document identifiers",
            "nullable": true
          },
          "stageNumber": {
            "type": "string",
            "description": "Workflow stage number"
          },
          "specializations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Specialization"
            },
            "description": "Specializations",
            "nullable": true
          },
          "matchProjectClient": {
            "type": "boolean",
            "description": "Invite only linguists linked to the project client. For a vendor, this is the vendor's own client record\r\nfor the project owner. If the vendor has no such record, nobody is invited."
          }
        },
        "additionalProperties": false,
        "description": "Model for assigning documents to MyTeam executors"
      },
      "AssignedExecutiveModel": {
        "type": "object",
        "properties": {
          "assignedWordsCount": {
            "type": "integer",
            "description": "Assigned word count",
            "format": "int32"
          },
          "progress": {
            "type": "number",
            "description": "Completion percentage",
            "format": "double"
          },
          "id": {
            "type": "string",
            "description": "User ID",
            "format": "uuid"
          },
          "supplierType": {
            "$ref": "#/components/schemas/SupplierType"
          }
        },
        "additionalProperties": false,
        "description": "Model of a linguist assigned to a document workflow stage"
      },
      "AssignmentMode": {
        "enum": [
          "distributeAmongAll",
          "rocket",
          "inviteOnly"
        ],
        "type": "string",
        "description": "Linguist assignment mode",
        "format": "int32"
      },
      "AssignmentTemplateApplicationResultModel": {
        "type": "object",
        "properties": {
          "assignedCount": {
            "type": "integer",
            "description": "Number of assigned project tasks",
            "format": "int32"
          },
          "unassignedCount": {
            "type": "integer",
            "description": "Number of unassigned project tasks",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Assignment template application result information for external systems"
      },
      "AssignmentTemplateModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "projectTasksCoveragePercent": {
            "type": "number",
            "description": "The percentage of tasks without assignments and invitations in the project to which the template will be applied",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Assignment template information for external systems"
      },
      "AuditLogModel": {
        "type": "object",
        "properties": {
          "time": {
            "type": "string",
            "description": "Event time",
            "format": "date-time"
          },
          "type": {
            "type": "string",
            "description": "Event type",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "description": "User ID",
            "format": "uuid",
            "nullable": true
          },
          "userEmail": {
            "type": "string",
            "description": "User E-mail",
            "nullable": true
          },
          "userNickName": {
            "type": "string",
            "description": "User nickname",
            "nullable": true
          },
          "payload": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Payload data",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Audit log model"
      },
      "AutoAssignmentMode": {
        "enum": [
          "currentAssignees"
        ],
        "type": "string",
        "description": "Auto-assignment mode",
        "format": "int32"
      },
      "AutopilotTeamDashboardDto": {
        "type": "object",
        "properties": {
          "geoZone": {
            "type": "string",
            "nullable": true
          },
          "organizationWorkspaceData": {
            "$ref": "#/components/schemas/AutopilotTeamDashboardOrganizationWorkspaceDto"
          },
          "projectData": {
            "$ref": "#/components/schemas/AutopilotTeamDashboardProjectDto"
          },
          "tasksData": {
            "$ref": "#/components/schemas/AutopilotTeamDashboardTasksDto"
          },
          "autopilotStatusOn": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AutopilotTeamDashboardOrganizationWorkspaceDto": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "organizationName": {
            "type": "string",
            "nullable": true
          },
          "workspaceId": {
            "type": "string",
            "format": "uuid"
          },
          "workspaceName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AutopilotTeamDashboardProjectCreatorDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AutopilotTeamDashboardProjectDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/ProjectStatus"
          },
          "createdBy": {
            "$ref": "#/components/schemas/AutopilotTeamDashboardProjectCreatorDto"
          },
          "managers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutopilotTeamDashboardProjectManagerDto"
            },
            "nullable": true
          },
          "sourceLanguage": {
            "type": "string",
            "nullable": true
          },
          "targetsLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "deadline": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "documentsCount": {
            "type": "integer",
            "format": "int32"
          },
          "totalWordsCount": {
            "type": "integer",
            "format": "int32"
          },
          "leftWordsCount": {
            "type": "integer",
            "format": "int32"
          },
          "totalProgress": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "AutopilotTeamDashboardProjectManagerDto": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AutopilotTeamDashboardTasksDto": {
        "type": "object",
        "properties": {
          "nearestTaskDeadline": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "allTasksAssigned": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Balance": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "nullable": true
          },
          "freeMoney": {
            "type": "number",
            "format": "double"
          },
          "deposit": {
            "type": "number",
            "format": "double"
          },
          "total": {
            "type": "number",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "BalanceForExport": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "format": "uuid"
          },
          "agreements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgreementModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BankRequisitesModel": {
        "type": "object",
        "properties": {
          "bankName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "bankAddress": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "bic": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "swift": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "bankCorrAccount": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "bankAccount": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "currency": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "BatchResult<FileInfoModel>": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileInfoModel"
            },
            "nullable": true
          },
          "nextBatchKey": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BilingualFileImportSetingsModel": {
        "type": "object",
        "properties": {
          "targetSubstitutionMode": {
            "$ref": "#/components/schemas/TargetSubstitutionMode"
          },
          "targetLanguageUsageMode": {
            "$ref": "#/components/schemas/TargetLanguageUsageMode"
          },
          "lockMode": {
            "$ref": "#/components/schemas/LockMode"
          },
          "confirmMode": {
            "$ref": "#/components/schemas/ConfirmMode"
          },
          "saveType": {
            "$ref": "#/components/schemas/SaveType"
          }
        },
        "additionalProperties": false,
        "description": "Bilingual document upload settings model"
      },
      "CallbackErrorModel": {
        "type": "object",
        "properties": {
          "created": {
            "type": "string",
            "description": "Callback send time",
            "format": "date-time"
          },
          "url": {
            "type": "string",
            "description": "Request URL",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "description": "Request failure reason",
            "nullable": true
          },
          "code": {
            "type": "integer",
            "description": "Server response code",
            "format": "int32",
            "nullable": true
          },
          "content": {
            "type": "string",
            "description": "Server response content",
            "nullable": true
          },
          "sourceIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of event source IDs",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Callback error description"
      },
      "CallbackPropertyModel": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL for receiving notifications",
            "nullable": true
          },
          "additionalHeaders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdditionalHeaderModel"
            },
            "description": "Additional headers array",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Notification properties change model"
      },
      "CancelInvoiceModel": {
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "string",
            "description": "Invoice ID",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Invoice cancellation model"
      },
      "ClientAgentInvoiceJobModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "projectId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "originalCost": {
            "type": "number",
            "format": "double"
          },
          "convertedCost": {
            "type": "number",
            "format": "double"
          },
          "originalCurrency": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "sourceLanguage": {
            "type": "string",
            "nullable": true
          },
          "targetLanguage": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ClientAgentInvoiceModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "externalNumber": {
            "type": "string",
            "nullable": true
          },
          "payerLegalName": {
            "type": "string",
            "nullable": true
          },
          "payerVat": {
            "type": "string",
            "nullable": true
          },
          "payerKpp": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "datePaid": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientAgentInvoiceJobModel"
            },
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "totalCost": {
            "type": "number",
            "format": "double"
          },
          "isInternalClient": {
            "type": "boolean"
          },
          "paymentDestination": {
            "$ref": "#/components/schemas/InvoicePaymentReceiveDestination"
          },
          "bankRequisites": {
            "$ref": "#/components/schemas/BankRequisitesModel"
          }
        },
        "additionalProperties": false
      },
      "ClientIndustryModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Directory entry ID",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "List entry value",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Model of an entry in a client's specializations list"
      },
      "ClientModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Client ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "netRate": {
            "$ref": "#/components/schemas/NetRateModel"
          },
          "contact": {
            "$ref": "#/components/schemas/ContactModel"
          }
        },
        "additionalProperties": false,
        "description": "Client model"
      },
      "ClientModelV2": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Client ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "netRate": {
            "$ref": "#/components/schemas/NetRateModel"
          },
          "mainContact": {
            "$ref": "#/components/schemas/ContactModel"
          },
          "additionalContacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactModel"
            },
            "description": "Additional contacts",
            "nullable": true
          },
          "vat": {
            "type": "string",
            "description": "VAT",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "description": "Country code",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "Commentary",
            "nullable": true
          },
          "website": {
            "type": "string",
            "description": "Website",
            "nullable": true
          },
          "industryId": {
            "type": "string",
            "description": "Specialization",
            "nullable": true
          },
          "legalName": {
            "type": "string",
            "description": "Legal name",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Address",
            "nullable": true
          },
          "languageId": {
            "type": "integer",
            "description": "Language",
            "format": "int32",
            "nullable": true
          },
          "vendorManager": {
            "type": "string",
            "description": "Manager",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Custom fields",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Client model"
      },
      "ConceptAttributeModel": {
        "required": [
          "key"
        ],
        "type": "object",
        "properties": {
          "key": {
            "minLength": 1,
            "type": "string",
            "description": "Attribute key, as defined in the glossary structure"
          },
          "value": {
            "description": "Attribute value",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Value of a glossary attribute"
      },
      "ConceptInputModel": {
        "required": [
          "languages"
        ],
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConceptLanguageModel"
            },
            "description": "Terms of the concept, grouped by language. Every language must be one of the glossary languages"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConceptAttributeModel"
            },
            "description": "Concept-level attributes",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Concept to create, or the full new state of a concept to update"
      },
      "ConceptLanguageModel": {
        "required": [
          "language",
          "terms"
        ],
        "type": "object",
        "properties": {
          "language": {
            "minLength": 1,
            "type": "string",
            "description": "Language tag, for example \"en\" or \"pt-BR\". Must be one of the glossary languages"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConceptAttributeModel"
            },
            "description": "Language-level attributes",
            "nullable": true
          },
          "terms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConceptTermModel"
            },
            "description": "Terms in this language"
          }
        },
        "additionalProperties": false,
        "description": "Terms of a concept in one language"
      },
      "ConceptModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Concept ID, stable for the lifetime of the concept",
            "format": "int64"
          },
          "comment": {
            "type": "string",
            "description": "Concept comment, if any",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConceptAttributeModel"
            },
            "description": "Concept-level attributes",
            "nullable": true
          },
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConceptLanguageModel"
            },
            "description": "Terms of the concept, grouped by language",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Glossary concept: one meaning expressed as terms in one or more languages"
      },
      "ConceptTermModel": {
        "required": [
          "text"
        ],
        "type": "object",
        "properties": {
          "text": {
            "minLength": 1,
            "type": "string",
            "description": "Term text"
          },
          "isPreferred": {
            "type": "boolean",
            "description": "Whether this is the preferred term for its language"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConceptAttributeModel"
            },
            "description": "Term-level attributes",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "One term of a concept"
      },
      "ConceptsPageModel": {
        "type": "object",
        "properties": {
          "concepts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConceptModel"
            },
            "description": "Concepts of the page, ordered by ID",
            "nullable": true
          },
          "nextCursor": {
            "type": "integer",
            "description": "Value to pass as afterConceptId to fetch the next page; null when this is the last page",
            "format": "int64",
            "nullable": true
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether another page is available"
          }
        },
        "additionalProperties": false,
        "description": "One page of glossary concepts"
      },
      "ConfirmMode": {
        "enum": [
          "none",
          "byStates",
          "atFirstStage",
          "atLastStage"
        ],
        "type": "string",
        "description": "Mode of segment confirmation at file upload",
        "format": "int32"
      },
      "ContactModel": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Client email",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "description": "Client name",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "Contact phone number",
            "nullable": true
          },
          "position": {
            "type": "string",
            "description": "Position",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "Commentary",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Contact information model"
      },
      "Contracts.ProjectStatus": {
        "enum": [
          "created",
          "inProgress",
          "completed",
          "canceled"
        ],
        "type": "string",
        "description": "Project Status",
        "format": "int32"
      },
      "Contracts.WorkUnitType": {
        "enum": [
          "char",
          "word",
          "page",
          "hour",
          "minute",
          "document",
          "service",
          "day",
          "month"
        ],
        "type": "string",
        "format": "int32"
      },
      "CostDetailsModel": {
        "type": "object",
        "properties": {
          "unitType": {
            "$ref": "#/components/schemas/Contracts.WorkUnitType"
          },
          "rate": {
            "type": "number",
            "description": "Rate",
            "format": "double",
            "nullable": true
          },
          "unitCount": {
            "type": "number",
            "description": "Unit count",
            "format": "double",
            "nullable": true
          },
          "detalizationRows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DetalizationRowModel"
            },
            "description": "Show details",
            "nullable": true
          },
          "detalizationRowsByFiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DetalizationRowFileContainerModel"
            },
            "description": "Detalization by files",
            "nullable": true
          },
          "detalizationType": {
            "$ref": "#/components/schemas/QuoteCostDetalizationType"
          }
        },
        "additionalProperties": false,
        "description": "DTO model of a quoted service price details"
      },
      "CreateClientPayInOrder": {
        "type": "object",
        "properties": {
          "totalAmount": {
            "type": "number",
            "description": "Total amount for payment",
            "format": "double"
          },
          "currency": {
            "type": "string",
            "description": "Currency for payment",
            "nullable": true
          },
          "serviceDescription": {
            "type": "string",
            "description": "Description of services covered by payment",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "description": "Number of an invoice for provided services sent by the client to the balance owner",
            "nullable": true
          },
          "clientCompanyName": {
            "type": "string",
            "description": "Client company name",
            "nullable": true
          },
          "clientCountry": {
            "type": "string",
            "description": "Client country",
            "nullable": true
          },
          "clientVatNumber": {
            "type": "string",
            "description": "Client VAT",
            "nullable": true
          },
          "clientEmail": {
            "type": "string",
            "description": "Client email",
            "nullable": true
          },
          "uiLanguage": {
            "type": "string",
            "description": "UI language for displaying the means of payment",
            "nullable": true
          },
          "backUrl": {
            "type": "string",
            "description": "BackURL for redirection upon the payment completion",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Payment request creation model"
      },
      "CreateConceptResultModel": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/CreateConceptStatus"
          },
          "conceptId": {
            "type": "integer",
            "description": "ID of the created concept; omitted when the concept was skipped",
            "format": "int64",
            "nullable": true
          },
          "duplicateConceptIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "IDs of the existing concepts that share a term with the skipped concept, to update them with PUT;\r\nempty when the concept was created",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Outcome of one submitted concept"
      },
      "CreateConceptStatus": {
        "enum": [
          "created",
          "skipped"
        ],
        "type": "string",
        "description": "Outcome of creating one concept",
        "format": "int32"
      },
      "CreateConceptsModel": {
        "required": [
          "concepts"
        ],
        "type": "object",
        "properties": {
          "concepts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConceptInputModel"
            },
            "description": "Concepts to create, 1 to 100 per request"
          }
        },
        "additionalProperties": false,
        "description": "Concepts to create in a glossary"
      },
      "CreateConceptsResultModel": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "description": "Number of concepts created",
            "format": "int32"
          },
          "skipped": {
            "type": "integer",
            "description": "Number of concepts skipped as duplicates",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateConceptResultModel"
            },
            "description": "Outcome of each submitted concept, in the order of the request",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Outcome of a concept creation request"
      },
      "CreateDocumentPropertyModel": {
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "description": "Optional external ID provided by a client",
            "nullable": true
          },
          "metaInfo": {
            "type": "string",
            "description": "Additional document-related user information (for integration)",
            "nullable": true
          },
          "disassembleAlgorithmName": {
            "type": "string",
            "description": "Optional algorithm of file disassembling",
            "nullable": true
          },
          "presetDisassembleAlgorithm": {
            "type": "string",
            "description": "Optional preset for the file disassembling algorithm",
            "nullable": true
          },
          "disassembleSettings": {
            "description": "Additional disassemble settings\r\nIf you want to configure disassemble settings,\r\nplease read this section\r\nhttps://developers.smartcat.com/api-guides/#custom-document-segmentation-experimental-feature",
            "nullable": true
          },
          "bilingualFileImportSetings": {
            "$ref": "#/components/schemas/BilingualFileImportSetingsModel"
          },
          "targetLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional array of target languages. Project languages are applied by default",
            "nullable": true
          },
          "enablePlaceholders": {
            "type": "boolean",
            "description": "Specifies whether to enable placeholders in the document body",
            "nullable": true
          },
          "enableOcr": {
            "type": "boolean",
            "description": "Optional parameter for enabling OCR",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Created document properties"
      },
      "CreateGlossaryModel": {
        "required": [
          "languages",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Glossary name, unique within the account"
          },
          "description": {
            "type": "string",
            "description": "Glossary description",
            "nullable": true
          },
          "clientId": {
            "type": "string",
            "description": "Client ID, if the glossary belongs to a client",
            "format": "uuid",
            "nullable": true
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Glossary language tags, for example [\"en\", \"de\"]"
          }
        },
        "additionalProperties": false,
        "description": "Glossary creation request"
      },
      "CreateInvoiceModel": {
        "type": "object",
        "properties": {
          "jobIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Job IDs array",
            "nullable": true
          },
          "targetCurrency": {
            "type": "string",
            "description": "The invoice currency (if not specified or null, the vendor currency will be applied)",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Invoice creation model"
      },
      "CreateProjectAppIntegrationModel": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/CreateProjectModel"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UploadedFile"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateProjectModel": {
        "required": [
          "name",
          "sourceLanguage",
          "targetLanguages"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Project name",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/ProjectType"
          },
          "number": {
            "$ref": "#/components/schemas/CreateProjectNumberModel"
          },
          "description": {
            "type": "string",
            "description": "Project description",
            "nullable": true
          },
          "deadline": {
            "type": "string",
            "description": "Project deadline",
            "format": "date-time",
            "nullable": true
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Project source language",
            "nullable": true
          },
          "targetLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Project target languages",
            "nullable": true
          },
          "creatorUserId": {
            "type": "string",
            "description": "User identifier who creates the project",
            "nullable": true
          },
          "domainId": {
            "type": "integer",
            "description": "Project group ID",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "string",
            "description": "Client ID",
            "format": "uuid",
            "nullable": true
          },
          "vendorAccountIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Vendor accounts IDs",
            "nullable": true
          },
          "assignToVendor": {
            "type": "boolean",
            "description": "Project assigned to a vendor"
          },
          "useMT": {
            "type": "boolean",
            "description": "Specifies whether the project uses MT"
          },
          "pretranslate": {
            "type": "boolean",
            "description": "Specifies whether to enable the automatic pretranslation. If yes, two pretranslation rules are applied:\r\n1. For the TM with the Write permission\r\n2. For the MT, if enabled"
          },
          "translationMemoryName": {
            "type": "string",
            "description": "The name of the account TM that will have both Write and Read permissions",
            "nullable": true
          },
          "useTranslationMemory": {
            "type": "boolean",
            "description": "Specifies whether to enable read and write TM for the project",
            "nullable": true
          },
          "minTranslationAssuranceLevel": {
            "$ref": "#/components/schemas/IntegrationApiTMTranslationAssuranceLevel"
          },
          "autoPropagateRepetitions": {
            "type": "boolean",
            "description": "Specifies whether to enable auto-propagation of repeated segments at the project level (default is True)",
            "nullable": true
          },
          "documentProperties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateDocumentPropertyModel"
            },
            "description": "Document properties as they are ordered in a request. This parameter is optional",
            "nullable": true
          },
          "workflowStages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StageType"
            },
            "description": "Project workflow stages for the created project. This parameter is optional",
            "nullable": true
          },
          "isForTesting": {
            "type": "boolean",
            "description": "Specifies whether the project is used for testing"
          },
          "externalTag": {
            "type": "string",
            "description": "External system tag",
            "nullable": true
          },
          "specializations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Specialization"
            },
            "description": "Specializations",
            "nullable": true
          },
          "customFieldValues": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Custom field values",
            "nullable": true
          },
          "createdWithWizardType": {
            "$ref": "#/components/schemas/WizardType"
          },
          "useSubtitleEditor": {
            "type": "boolean",
            "description": "If media should be processed via the subtitle editor for this project",
            "nullable": true
          },
          "subtitlesSegmentationRules": {
            "$ref": "#/components/schemas/CreateProjectSegmentationRulesModel"
          },
          "isSkillBasedProject": {
            "type": "boolean",
            "description": "Indicates whether the project is skill-based.",
            "nullable": true
          },
          "templateId": {
            "type": "string",
            "description": "Project template ID for creating project from template",
            "format": "uuid",
            "nullable": true
          },
          "folderId": {
            "type": "string",
            "description": "Workspace folder to create the project in. Without it, a project template whose folder is Required uses its\r\nown folder and fails when it has none, and one whose folder is Optional creates the project at the root; a\r\nLocked one with a folder uses its own folder in any case. The folder is taken whatever the rights of the user\r\nin creatorUserId, since the API acts with the authority of the account. A folder that is not the workspace's\r\nor no longer exists leaves the project at the root",
            "format": "uuid",
            "nullable": true
          },
          "aiTranslationProfileId": {
            "type": "string",
            "description": "User's AI translation profile id",
            "nullable": true
          },
          "applyAiTranslationProfileResources": {
            "type": "boolean",
            "description": "Explicit opt-in to apply the AI translation profile's TM, glossaries,\r\nMT settings, and pre-translation rules during API project creation.\r\nRequires aiTranslationProfileId; ignored when the project is created from a template.",
            "nullable": true
          },
          "placeholderPresetId": {
            "type": "string",
            "description": "Id of the placeholder preset to mark up placeholders with (see GET /api/integration/v1/placeholders/presets).\r\nOptional: when omitted the account default preset is used",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Project creation model"
      },
      "CreateProjectNumberModel": {
        "type": "object",
        "properties": {
          "useTemplate": {
            "type": "boolean",
            "description": "Use a number generation template"
          },
          "number": {
            "type": "string",
            "description": "Project number (the value is ignored if a template generated number is applied)",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Data class for project number creation"
      },
      "CreateProjectSegmentationDefaultRuleModel": {
        "required": [
          "segmentationMode"
        ],
        "type": "object",
        "properties": {
          "segmentationMode": {
            "$ref": "#/components/schemas/SubtitleSegmentationMode"
          },
          "maxCps": {
            "type": "integer",
            "description": "Subtitle cue's characters per second limit (1-100). Enables CPS normalization when set.",
            "format": "int32",
            "nullable": true
          },
          "maxLineSize": {
            "type": "integer",
            "description": "Maximum line size in characters (1-1000).",
            "format": "int32",
            "nullable": true
          },
          "maxLinesPerCue": {
            "type": "integer",
            "description": "Maximum number of lines per subtitle cue (1-10).",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Default subtitle segmentation rule."
      },
      "CreateProjectSegmentationExceptionRuleModel": {
        "required": [
          "languages",
          "segmentationMode"
        ],
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Target language culture names this exception applies to (e.g. \"en-US\", \"ru\").\r\nRequired, must contain at least one element.",
            "nullable": true
          },
          "segmentationMode": {
            "$ref": "#/components/schemas/SubtitleSegmentationMode"
          },
          "maxCps": {
            "type": "integer",
            "description": "Subtitle cue's characters per second limit (1-100). Enables CPS normalization when set.",
            "format": "int32",
            "nullable": true
          },
          "maxLineSize": {
            "type": "integer",
            "description": "Maximum line size in characters (1-1000).",
            "format": "int32",
            "nullable": true
          },
          "maxLinesPerCue": {
            "type": "integer",
            "description": "Maximum number of lines per subtitle cue (1-10).",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Per-language subtitle segmentation rule override."
      },
      "CreateProjectSegmentationRulesModel": {
        "required": [
          "default"
        ],
        "type": "object",
        "properties": {
          "default": {
            "$ref": "#/components/schemas/CreateProjectSegmentationDefaultRuleModel"
          },
          "exceptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateProjectSegmentationExceptionRuleModel"
            },
            "description": "Per-language overrides. Optional.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Subtitle segmentation rules for project creation."
      },
      "CreateSubOrganizationDto": {
        "required": [
          "dealId",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "workspaceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Workspaces to move into the sub-organization; may be empty",
            "nullable": true
          },
          "dealId": {
            "type": "string",
            "description": "HubSpot deal id the sub-org is provisioned for; stamped on the sub-org so a re-delivered webhook reuses it",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateSubOrganizationResponse": {
        "type": "object",
        "properties": {
          "subOrganizationId": {
            "type": "string",
            "description": "Created or reused sub-organization; the HubSpot workflow writes this id onto the deal",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "CreateTranslationMemoryModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Source language",
            "nullable": true
          },
          "targetLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Target languages",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description",
            "nullable": true
          },
          "clientId": {
            "type": "string",
            "description": "Client ID",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "TM creation model"
      },
      "Currency": {
        "enum": [
          "uSD",
          "eUR",
          "rUB",
          "tRY",
          "jPY",
          "sGD",
          "mYR",
          "hKD",
          "aRS",
          "uAH",
          "cNY",
          "aED",
          "aUD",
          "bRL",
          "cAD",
          "cLP",
          "eGP",
          "gBP",
          "iDR",
          "iLS",
          "iNR",
          "kES",
          "kRW",
          "lKR",
          "mAD",
          "mXN",
          "nPR",
          "pEN",
          "pHP",
          "pLN",
          "tHB",
          "vND",
          "sEK",
          "tWD",
          "pKR",
          "nZD",
          "tTD",
          "zAR",
          "cHF",
          "kZT",
          "dKK",
          "iSK"
        ],
        "type": "string",
        "format": "int32"
      },
      "CurrencyExchangeRatesTableModel": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "Currency exchange table start date",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "description": "Currency exchange table end date",
            "format": "date-time"
          },
          "rates": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "description": "Currency to US dollar exchange rates",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Currency exchange rate table with the start and end dates"
      },
      "CustomField": {
        "type": "object",
        "properties": {
          "internalId": {
            "type": "string",
            "description": "The unique internal identifier of the custom field.",
            "format": "uuid"
          },
          "entityType": {
            "$ref": "#/components/schemas/EntityType"
          },
          "label": {
            "type": "string",
            "description": "The human-readable label displayed to users for the custom field.",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "The user-defined identifier of the custom field.",
            "nullable": true
          },
          "isHidden": {
            "type": "boolean",
            "description": "Indicates whether the custom field is hidden from the user interface."
          },
          "fieldType": {
            "$ref": "#/components/schemas/FieldType"
          },
          "usagesCount": {
            "type": "integer",
            "description": "The number of times the custom field is currently being used.",
            "format": "int32"
          },
          "isVisibleToSuppliers": {
            "type": "boolean",
            "description": "Indicates whether the custom field is visible to the supplier."
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SelectFieldOption"
            },
            "description": "The collection of pre-filled values available for selection-type fields.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a custom field defined within an account, used to attach\r\nadditional structured data to entities such as projects or assignments."
      },
      "DetalizationRowFileContainerModel": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": "File name",
            "nullable": true
          },
          "detalizationRows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DetalizationRowModel"
            },
            "description": "Details",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Service details by files"
      },
      "DetalizationRowModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Service details string description",
            "nullable": true,
            "example": "102% matches, repetitions, new words"
          },
          "unitCount": {
            "type": "number",
            "description": "Unit count",
            "format": "double"
          },
          "percentOfFullRate": {
            "type": "number",
            "description": "Percentage of the full rate for the specific unit category",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Service details string model"
      },
      "DirectoryItemModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Directory entry model"
      },
      "DirectoryModel": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/DirectoryType"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DirectoryItemModel"
            },
            "description": "Elements",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Directory model"
      },
      "DirectoryType": {
        "enum": [
          "language",
          "vendor",
          "domain",
          "client",
          "group",
          "projectStatus",
          "documentStatus",
          "netRate",
          "currency",
          "freelancerServiceType",
          "specialization",
          "specializationKnowledgeLevel",
          "lspServiceType",
          "jobStatus",
          "country",
          "supplierType",
          "workUnitType",
          "translationAssuranceLevel"
        ],
        "type": "string",
        "description": "Directory type",
        "format": "int32"
      },
      "DocumentDisassemblingStatus": {
        "enum": [
          "inProgress",
          "error",
          "success"
        ],
        "type": "string",
        "description": "Document disassembly status",
        "format": "int32"
      },
      "DocumentModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Document ID",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Document name",
            "nullable": true
          },
          "fullPath": {
            "type": "string",
            "description": "Full path to the document in the project",
            "nullable": true
          },
          "filename": {
            "type": "string",
            "description": "Source file name, including the extension",
            "nullable": true
          },
          "originalFilename": {
            "type": "string",
            "description": "Name of the original file uploaded by the user (before any pre-processing such as OCR), including the extension.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date",
            "format": "date-time"
          },
          "deadline": {
            "type": "string",
            "description": "Document translation deadline",
            "format": "date-time",
            "nullable": true
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Source language",
            "nullable": true
          },
          "documentDisassemblingStatus": {
            "$ref": "#/components/schemas/DocumentDisassemblingStatus"
          },
          "targetLanguage": {
            "type": "string",
            "description": "Target language",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/DocumentStatus"
          },
          "wordsCount": {
            "type": "integer",
            "description": "Word count in the source text",
            "format": "int32"
          },
          "statusModificationDate": {
            "type": "string",
            "description": "Late of the last status change",
            "format": "date-time",
            "nullable": true
          },
          "pretranslateCompleted": {
            "type": "boolean",
            "description": "Specifies whether pretranslation has completed, if ordered"
          },
          "workflowStages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentWorkflowStageModel"
            },
            "description": "Workflow stages for the document",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "description": "External identifier assigned by the client upon the document creation",
            "nullable": true
          },
          "projectId": {
            "type": "string",
            "description": "ID of the project associated with the document",
            "format": "uuid"
          },
          "metaInfo": {
            "type": "string",
            "description": "Additional user information about the document",
            "nullable": true
          },
          "placeholdersAreEnabled": {
            "type": "boolean",
            "description": "Specifies whether placeholders are enabled for the document"
          },
          "revisionLabel": {
            "type": "string",
            "description": "Document version ID label",
            "nullable": true
          },
          "readyForCompletion": {
            "type": "boolean",
            "description": "Indicates whether the document is ready to be completed"
          },
          "isInManagerReview": {
            "type": "boolean",
            "description": "Indicates whether the document is waiting for a manager to complete it after its workflow stages are done.\r\nThe status stays \"inProgress\" during this review. Not the same as Smartcat.AppIntegrations.Contracts.DocumentModel.ReadyForCompletion"
          },
          "package": {
            "$ref": "#/components/schemas/DocumentPackageModel"
          }
        },
        "additionalProperties": false,
        "description": "Document model"
      },
      "DocumentPackageModel": {
        "type": "object",
        "properties": {
          "isRoot": {
            "type": "boolean",
            "description": "Indicates whether the document is the root of the package"
          },
          "packageId": {
            "type": "string",
            "description": "Identifier of the package the document belongs to",
            "format": "uuid"
          },
          "parentPackageId": {
            "type": "string",
            "description": "Identifier of the parent package in the hierarchy, if any",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Package information for a document that belongs to a file package"
      },
      "DocumentStatisticsModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the document for which statistics are collected",
            "nullable": true
          },
          "statistics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatisticsRowModel"
            },
            "description": "Statistics regarding the work done for the project",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Document statistics"
      },
      "DocumentStatus": {
        "enum": [
          "created",
          "inProgress",
          "completed",
          "updated",
          "targetUpdated"
        ],
        "type": "string",
        "description": "Document status",
        "format": "int32"
      },
      "DocumentWorkflowStageModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "progress": {
            "type": "number",
            "description": "Completion percentage",
            "format": "double"
          },
          "wordsTranslated": {
            "type": "integer",
            "description": "Translated words count",
            "format": "int32"
          },
          "unassignedWordsCount": {
            "type": "integer",
            "description": "Unassigned words count",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/WorkflowStageStatus"
          },
          "statusModificationDate": {
            "type": "string",
            "description": "Status change date",
            "format": "date-time",
            "nullable": true
          },
          "executives": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssignedExecutiveModel"
            },
            "description": "Assigned linguists",
            "nullable": true
          },
          "vendor": {
            "$ref": "#/components/schemas/VendorModel"
          }
        },
        "additionalProperties": false,
        "description": "Document workflow stage model"
      },
      "EmptyProjectFoldersRemoveTaskStatus": {
        "enum": [
          "done",
          "failed",
          "inProgress"
        ],
        "type": "string",
        "format": "int32"
      },
      "EndCustomerValue": {
        "enum": [
          "lowValue",
          "enterprise",
          "sMB",
          "corporate",
          "university",
          "government",
          "strategic",
          "smallBusiness",
          "midmarket",
          "anonymous"
        ],
        "type": "string",
        "format": "int32"
      },
      "EntityType": {
        "enum": [
          "project",
          "freelancer",
          "vendor",
          "client",
          "tM",
          "tMUnit"
        ],
        "type": "string",
        "description": "Specifies the type of entity that a custom field can be attached to.",
        "format": "int32"
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ErrorType"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "innerException": {
            "nullable": true
          },
          "statusCode": {
            "$ref": "#/components/schemas/HttpStatusCode"
          }
        },
        "additionalProperties": false
      },
      "ErrorType": {
        "enum": [
          "sender",
          "receiver",
          "unknown"
        ],
        "type": "string",
        "format": "int32"
      },
      "ExecutiveModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "User ID",
            "format": "uuid"
          },
          "supplierType": {
            "$ref": "#/components/schemas/SupplierType"
          }
        },
        "additionalProperties": false,
        "description": "Linguist details"
      },
      "ExecutiveStageProjectCostModel": {
        "type": "object",
        "properties": {
          "assigned": {
            "$ref": "#/components/schemas/StatisticsModel"
          },
          "completed": {
            "$ref": "#/components/schemas/StatisticsModel"
          },
          "assignedCost": {
            "type": "number",
            "description": "Total cost of the tasks assigned to the stage",
            "format": "double",
            "nullable": true
          },
          "completedCost": {
            "type": "number",
            "description": "Total cost of the completed tasks assigned to the stage",
            "format": "double",
            "nullable": true
          },
          "externalStageStatistic": {
            "$ref": "#/components/schemas/ExternalStageStatisticsModel"
          },
          "stageNumber": {
            "type": "integer",
            "description": "Stage number",
            "format": "int32"
          },
          "stageType": {
            "$ref": "#/components/schemas/StageType"
          },
          "isExternal": {
            "type": "boolean",
            "description": "External stage"
          },
          "documentCount": {
            "type": "integer",
            "description": "Number of documents",
            "format": "int32"
          },
          "targetLanguageId": {
            "type": "integer",
            "description": "Target language",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Supplier task data model"
      },
      "ExecutiveStatisticsModel": {
        "type": "object",
        "properties": {
          "executive": {
            "$ref": "#/components/schemas/ExecutiveModel"
          },
          "stageType": {
            "type": "string",
            "description": "Stage name",
            "nullable": true
          },
          "stageNumber": {
            "type": "integer",
            "description": "Stage number",
            "format": "int32"
          },
          "targetLanguage": {
            "type": "string",
            "description": "Target language",
            "nullable": true
          },
          "total": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatisticsRowModel"
            },
            "description": "Statistics summary for all documents",
            "nullable": true
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentStatisticsModel"
            },
            "description": "Statistics per document",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Statistics model covering the work accomplished for the project by a specific user, the workflow stage, and the target language"
      },
      "ExportDocumentRequestType": {
        "enum": [
          "source",
          "target",
          "xliff",
          "multilangCsv",
          "documentWithMetadata",
          "sourceInNewFormat",
          "subtitlesBurningSource",
          "subtitlesBurningTarget",
          "imageSourceText",
          "imageTargetText"
        ],
        "type": "string",
        "description": "Document download request type",
        "format": "int32"
      },
      "ExportDocumentTaskModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Task ID",
            "format": "uuid"
          },
          "documentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Documents for export",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Export document task model"
      },
      "ExportFromStringsTableModel": {
        "type": "object",
        "properties": {
          "branch": {
            "type": "string",
            "description": "Exporting branch",
            "nullable": true
          },
          "format": {
            "$ref": "#/components/schemas/SoftwareLocalizationDocumentFormat"
          },
          "exportIncompleteTranslationsMode": {
            "$ref": "#/components/schemas/ExportIncompleteTranslationsMode"
          },
          "includeSourceLanguage": {
            "type": "boolean",
            "description": "Include source language to export"
          },
          "outputFileName": {
            "type": "string",
            "description": "Output file or zip bundle name template.\r\nFor zip bundle the default name will be \"export-YYYY-MM-DD-hhmmss-{PROJECT}-{COLLECTION}.zip\".",
            "nullable": true
          },
          "outputFilePathTemplate": {
            "type": "string",
            "description": "Specifies how to name the output file in zip archive when exporting multiple languages at once.\r\nA reasonable default value will be used depending on the chosen file format.",
            "nullable": true
          },
          "pathSeparator": {
            "type": "string",
            "description": "Keys path separator for structurable file formats",
            "nullable": true
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Exporting translation languages",
            "nullable": true
          },
          "segmentExportMode": {
            "$ref": "#/components/schemas/SegmentExportMode"
          }
        },
        "additionalProperties": false,
        "description": "Model for export from Software Localization Project"
      },
      "ExportIncompleteTranslationsMode": {
        "enum": [
          "fallbackToSourceLanguage",
          "exportBlank",
          "skip"
        ],
        "type": "string",
        "description": "Export mode for incomplete translations",
        "format": "int32"
      },
      "ExportKeysFromSoftwareLocalizationProjectModel": {
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Exporting keys",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Model for keys exported from"
      },
      "ExternalFileDetalizationModel": {
        "type": "object",
        "properties": {
          "serviceName": {
            "type": "string",
            "description": "Service name",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "description": "Service cost",
            "format": "double",
            "nullable": true
          },
          "file": {
            "$ref": "#/components/schemas/UploadedQuoteFileModel"
          },
          "accuracyDegree": {
            "$ref": "#/components/schemas/ProjectQuoteAccuracyDegree"
          }
        },
        "additionalProperties": false,
        "description": "Uploaded file with quote details"
      },
      "ExternalStageStatisticsModel": {
        "type": "object",
        "properties": {
          "assignedUnitCount": {
            "type": "integer",
            "description": "The count of units assigned to the stage",
            "format": "int32"
          },
          "completedUnitCount": {
            "type": "integer",
            "description": "The count of completed units",
            "format": "int32"
          },
          "assignedCost": {
            "type": "number",
            "description": "Total cost of the tasks assigned to the stage",
            "format": "double"
          },
          "completedCost": {
            "type": "number",
            "description": "Total cost of the completed tasks assigned to the stage",
            "format": "double"
          },
          "unitType": {
            "$ref": "#/components/schemas/WorkUnitType"
          },
          "hasAssigned": {
            "type": "boolean",
            "description": "Specifies whether the stage includes any assignments"
          },
          "hasCompleted": {
            "type": "boolean",
            "description": "Specifies whether the stage includes any completed tasks"
          }
        },
        "additionalProperties": false,
        "description": "External stage tasks statistics model"
      },
      "FieldType": {
        "enum": [
          "text",
          "select"
        ],
        "type": "string",
        "description": "Specifies the data type of a custom field, determining how its value is entered and stored.",
        "format": "int32"
      },
      "FileDisassemblingAlgorithmPresetCreatedModel": {
        "type": "object",
        "properties": {
          "presetId": {
            "type": "string",
            "description": "Preset ID",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Created preset details"
      },
      "FileDisassemblingAlgorithmPresetEditModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Preset name",
            "nullable": true
          },
          "algorithmName": {
            "type": "string",
            "description": "Preset algorithm",
            "nullable": true
          },
          "settings": {
            "description": "Settings",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Preset edit model"
      },
      "FileDisassemblingAlgorithmPresetViewModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "algorithmName": {
            "type": "string",
            "description": "Algorithm",
            "nullable": true
          },
          "settings": {
            "description": "Settings",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Preset view model"
      },
      "FileFormatModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "File formats supported by the account",
            "nullable": true
          },
          "ocr": {
            "type": "boolean",
            "description": "Specifies whether the OCR format is supported"
          },
          "mime-type": {
            "type": "string",
            "description": "Data type (MIME)",
            "nullable": true
          },
          "disassembleAlgorithmName": {
            "type": "string",
            "description": "Disassemble algorithm name",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Model of file formats supported by the account"
      },
      "FileInfoModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Original name of the file",
            "nullable": true
          },
          "mime": {
            "type": "string",
            "description": "Mime type of the file",
            "nullable": true
          },
          "path": {
            "type": "string",
            "description": "Path of file in storage",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "description": "Size of file in bytes",
            "format": "int64"
          },
          "createdAt": {
            "type": "string",
            "description": "Date when file was uploaded",
            "format": "date-time"
          },
          "lastAccessTime": {
            "type": "string",
            "description": "Date when file was last time accessed",
            "format": "date-time",
            "nullable": true
          },
          "expirationTime": {
            "type": "string",
            "description": "Date when file will be deleted if not used",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Information about file uploaded to storage"
      },
      "FreelancerServiceType": {
        "enum": [
          "translation",
          "editing",
          "proofreading",
          "postediting",
          "pageProof",
          "glossaryCreation",
          "simultaneousTranslation",
          "consecutiveTranslation",
          "mediaTranslation",
          "expertReview",
          "projectManagement",
          "translationMemoryCreation",
          "copywriting",
          "training",
          "transcription",
          "notarization",
          "certifiedTranslation",
          "transcreation",
          "legalization",
          "lQAReview",
          "courseReview",
          "sourceReview"
        ],
        "type": "string",
        "description": "Freelancer service type",
        "format": "int32"
      },
      "GlossaryExportPendingTaskInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Task ID",
            "format": "uuid",
            "readOnly": true
          },
          "glossaryId": {
            "type": "string",
            "description": "Glossary ID",
            "format": "uuid",
            "readOnly": true
          },
          "completed": {
            "type": "boolean",
            "description": "Whether the task is completed",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Information about the glossary export task"
      },
      "GlossaryModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Glossary ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Glossary name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Glossary description",
            "nullable": true
          },
          "clientId": {
            "type": "string",
            "description": "Client ID, if a glossary client is specified",
            "format": "uuid",
            "nullable": true
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Glossary language codes",
            "nullable": true
          },
          "units": {
            "type": "integer",
            "description": "Glossary unit count",
            "format": "int32"
          },
          "unitsPending": {
            "type": "integer",
            "description": "Pending unit count",
            "format": "int32"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Default glossary flag"
          }
        },
        "additionalProperties": false,
        "description": "Glossary"
      },
      "HttpStatusCode": {
        "enum": [
          "continue",
          "switchingProtocols",
          "processing",
          "earlyHints",
          "oK",
          "created",
          "accepted",
          "nonAuthoritativeInformation",
          "noContent",
          "resetContent",
          "partialContent",
          "multiStatus",
          "alreadyReported",
          "iMUsed",
          "multipleChoices",
          "ambiguous",
          "movedPermanently",
          "moved",
          "found",
          "redirect",
          "seeOther",
          "redirectMethod",
          "notModified",
          "useProxy",
          "unused",
          "temporaryRedirect",
          "redirectKeepVerb",
          "permanentRedirect",
          "badRequest",
          "unauthorized",
          "paymentRequired",
          "forbidden",
          "notFound",
          "methodNotAllowed",
          "notAcceptable",
          "proxyAuthenticationRequired",
          "requestTimeout",
          "conflict",
          "gone",
          "lengthRequired",
          "preconditionFailed",
          "requestEntityTooLarge",
          "requestUriTooLong",
          "unsupportedMediaType",
          "requestedRangeNotSatisfiable",
          "expectationFailed",
          "misdirectedRequest",
          "unprocessableEntity",
          "unprocessableContent",
          "locked",
          "failedDependency",
          "upgradeRequired",
          "preconditionRequired",
          "tooManyRequests",
          "requestHeaderFieldsTooLarge",
          "unavailableForLegalReasons",
          "internalServerError",
          "notImplemented",
          "badGateway",
          "serviceUnavailable",
          "gatewayTimeout",
          "httpVersionNotSupported",
          "variantAlsoNegotiates",
          "insufficientStorage",
          "loopDetected",
          "notExtended",
          "networkAuthenticationRequired"
        ],
        "type": "string",
        "format": "int32"
      },
      "HubspotSubscriptionDto": {
        "required": [
          "corporateAccountType",
          "currency",
          "dealType",
          "endDate",
          "hubspotSubscriptionLevel",
          "price",
          "startDate",
          "subscriptionId"
        ],
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "string",
            "nullable": true
          },
          "workspaceId": {
            "type": "string",
            "nullable": true
          },
          "hubspotSubscriptionLevel": {
            "type": "string",
            "nullable": true
          },
          "smartwords": {
            "type": "integer",
            "format": "int32"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "corporateAccountType": {
            "type": "string",
            "nullable": true
          },
          "dealType": {
            "type": "string",
            "nullable": true
          },
          "isOrganizationSubscription": {
            "type": "boolean"
          },
          "organizationId": {
            "type": "string",
            "nullable": true
          },
          "adminEmail": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ImportJobModel": {
        "type": "object",
        "properties": {
          "freelancerId": {
            "type": "string",
            "description": "Linguist ID",
            "format": "uuid"
          },
          "serviceType": {
            "type": "string",
            "description": "Service type",
            "nullable": true
          },
          "jobDescription": {
            "type": "string",
            "description": "Description: the name of a document or project",
            "nullable": true
          },
          "unitsType": {
            "type": "string",
            "description": "Job unit type",
            "nullable": true
          },
          "unitsAmount": {
            "type": "number",
            "description": "Job unit count",
            "format": "double"
          },
          "pricePerUnit": {
            "type": "number",
            "description": "Job unit price",
            "format": "double"
          },
          "currency": {
            "type": "string",
            "description": "Price and cost currency",
            "nullable": true
          },
          "externalNumber": {
            "type": "string",
            "description": "External payment ID",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Basic class of linguist payment models"
      },
      "ImportJobModelV2": {
        "type": "object",
        "properties": {
          "supplierEmail": {
            "type": "string",
            "description": "Vendor email address",
            "nullable": true
          },
          "supplierName": {
            "type": "string",
            "description": "Vendor name",
            "nullable": true
          },
          "supplierType": {
            "$ref": "#/components/schemas/SupplierType"
          },
          "serviceType": {
            "type": "string",
            "description": "Service type",
            "nullable": true
          },
          "jobDescription": {
            "type": "string",
            "description": "Description: the name of a document or project",
            "nullable": true
          },
          "unitsType": {
            "type": "string",
            "description": "Job unit type",
            "nullable": true
          },
          "unitsAmount": {
            "type": "number",
            "description": "Job unit count",
            "format": "double"
          },
          "pricePerUnit": {
            "type": "number",
            "description": "Job unit price",
            "format": "double"
          },
          "currency": {
            "type": "string",
            "description": "Price and cost currency",
            "nullable": true
          },
          "externalNumber": {
            "type": "string",
            "description": "External payment ID",
            "nullable": true
          },
          "payUntilDate": {
            "type": "string",
            "description": "Pay until date (not mandatory)",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Basic class of payment models"
      },
      "ImportToSoftwareLocalizationProjectModelV1": {
        "type": "object",
        "properties": {
          "filesLanguage": {
            "type": "string",
            "description": "Importing files language",
            "nullable": true
          },
          "addFileNameLabels": {
            "type": "boolean",
            "description": "Create additional labels based on file names"
          },
          "pathSeparator": {
            "type": "string",
            "description": "Path separator string",
            "nullable": true
          },
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LabelModel"
            },
            "description": "Labels that will be attached to created/updated segments (even if text is not changed)",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Model for import into the Software Localization Project"
      },
      "ImportToStringsTableModel": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/ImportToSoftwareLocalizationProjectModelV1"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UploadedFile"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IndividualAssignmentModel": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "User ID"
          },
          "rate": {
            "type": "number",
            "description": "Supplier rate per word",
            "format": "double",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "Rate currency",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/IndividualAssignmentStatus"
          }
        },
        "additionalProperties": false,
        "description": "Information about the user assigned to the task Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskModel"
      },
      "IndividualAssignmentRequestModel": {
        "type": "object",
        "properties": {
          "shouldAssignInShortlistStatus": {
            "type": "boolean",
            "description": "Specifies whether shortlisted suppliers should be assigned"
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Individual supplier IDs",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Model for inviting individual suppliers to the task"
      },
      "IndividualAssignmentStatus": {
        "enum": [
          "shortlisted",
          "invited",
          "inProgress"
        ],
        "type": "string",
        "description": "Status of the invitation to the user to perform the task",
        "format": "int32"
      },
      "InhouseTranslatorCreationModel": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "In-house translator email",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "description": "In-house translator first name",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "In-house translator last name",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "description": "In-house translator ID in an external system",
            "nullable": true
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceModel"
            },
            "description": "Services",
            "nullable": true
          },
          "clientIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Client IDs associated with the user",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "In-house translator creation model"
      },
      "IntegrationApiTMTranslationAssuranceLevel": {
        "enum": [
          "mT",
          "questionable",
          "regular",
          "qualified"
        ],
        "type": "string",
        "description": "Minimum TM segment quality",
        "format": "int32"
      },
      "InvoiceModel": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "Bank account number",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "Invoice currency",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "description": "Invoice total",
            "format": "double"
          },
          "date": {
            "type": "string",
            "description": "Invoice issue date",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/InvoiceStatus"
          },
          "payerRequisites": {
            "$ref": "#/components/schemas/LegalEntityModel"
          },
          "payeeRequisites": {
            "$ref": "#/components/schemas/SmartCatLegalEntityModel"
          },
          "jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobModelV2"
            },
            "description": "Payments included in the invoice",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Invoice model"
      },
      "InvoicePaymentReceiveDestination": {
        "enum": [
          "balance",
          "externalBankAccount"
        ],
        "type": "string",
        "format": "int32"
      },
      "InvoiceStatus": {
        "enum": [
          "sent",
          "paid",
          "paymentInProcess",
          "cancelled"
        ],
        "type": "string",
        "description": "Invoice status",
        "format": "int32"
      },
      "JobModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Task ID",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/JobStatus"
          },
          "freelancerId": {
            "type": "string",
            "description": "Linguist ID",
            "format": "uuid"
          },
          "serviceType": {
            "type": "string",
            "description": "Service type",
            "nullable": true
          },
          "jobDescription": {
            "type": "string",
            "description": "Description: the name of a document or project",
            "nullable": true
          },
          "unitsType": {
            "type": "string",
            "description": "Job unit type",
            "nullable": true
          },
          "unitsAmount": {
            "type": "number",
            "description": "Job unit count",
            "format": "double"
          },
          "pricePerUnit": {
            "type": "number",
            "description": "Job unit price",
            "format": "double"
          },
          "currency": {
            "type": "string",
            "description": "Price and cost currency",
            "nullable": true
          },
          "externalNumber": {
            "type": "string",
            "description": "External payment ID",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Linguist payment model"
      },
      "JobModelV2": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Task ID",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "string",
            "description": "Bank account number",
            "nullable": true
          },
          "supplierEmail": {
            "type": "string",
            "description": "Vendor email address",
            "nullable": true
          },
          "supplierName": {
            "type": "string",
            "description": "Vendor name",
            "nullable": true
          },
          "supplierType": {
            "$ref": "#/components/schemas/SupplierType"
          },
          "serviceType": {
            "type": "string",
            "description": "Service type",
            "nullable": true
          },
          "jobDescription": {
            "type": "string",
            "description": "Description: the name of a document or project",
            "nullable": true
          },
          "unitsType": {
            "type": "string",
            "description": "Job unit type",
            "nullable": true
          },
          "unitsAmount": {
            "type": "number",
            "description": "Job unit count (zero if the job is paid externally)",
            "format": "double"
          },
          "pricePerUnit": {
            "type": "number",
            "description": "Job unit price (zero if the job is paid externally)",
            "format": "double"
          },
          "currency": {
            "type": "string",
            "description": "Price and cost currency (null if the job is paid externally)",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "description": "Total job cost (zero if the job is paid externally)",
            "format": "double"
          },
          "externalNumber": {
            "type": "string",
            "description": "External payment ID",
            "nullable": true
          },
          "supplierId": {
            "type": "string",
            "description": "Supplier ID",
            "format": "uuid",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/JobStatus"
          },
          "projectId": {
            "type": "string",
            "description": "Project ID (optional)",
            "format": "uuid",
            "nullable": true
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Source language code",
            "nullable": true
          },
          "targetLanguage": {
            "type": "string",
            "description": "Target language code",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Custom fields (project tags)",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Payment model"
      },
      "JobModelV2Extended": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Task ID",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "string",
            "description": "Bank account number",
            "nullable": true
          },
          "supplierEmail": {
            "type": "string",
            "description": "Vendor email address",
            "nullable": true
          },
          "supplierName": {
            "type": "string",
            "description": "Vendor name",
            "nullable": true
          },
          "supplierType": {
            "$ref": "#/components/schemas/SupplierType"
          },
          "serviceType": {
            "type": "string",
            "description": "Service type",
            "nullable": true
          },
          "jobDescription": {
            "type": "string",
            "description": "Description: the name of a document or project",
            "nullable": true
          },
          "unitsType": {
            "type": "string",
            "description": "Job unit type",
            "nullable": true
          },
          "unitsAmount": {
            "type": "number",
            "description": "Job unit count",
            "format": "double"
          },
          "customerPricePerUnit": {
            "type": "number",
            "description": "Job unit price",
            "format": "double"
          },
          "executivePricePerUnit": {
            "type": "number",
            "description": "Job unit price without commission",
            "format": "double"
          },
          "customerCurrency": {
            "type": "string",
            "description": "Price and cost currency",
            "nullable": true
          },
          "executiveCurrency": {
            "type": "string",
            "description": "Linguist's price and cost currency",
            "nullable": true
          },
          "customerCost": {
            "type": "number",
            "description": "Total job cost",
            "format": "double"
          },
          "executiveCost": {
            "type": "number",
            "description": "Total job cost without commission",
            "format": "double"
          },
          "externalNumber": {
            "type": "string",
            "description": "External payment ID",
            "nullable": true
          },
          "supplierId": {
            "type": "string",
            "description": "Supplier ID",
            "format": "uuid",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/JobStatus"
          },
          "projectId": {
            "type": "string",
            "description": "Project ID",
            "format": "uuid",
            "nullable": true
          },
          "deadline": {
            "type": "string",
            "description": "Project deadline",
            "format": "date-time",
            "nullable": true
          },
          "sourceLanguage": {
            "type": "integer",
            "description": "Source language",
            "format": "int32",
            "nullable": true
          },
          "targetLanguage": {
            "type": "integer",
            "description": "Target language",
            "format": "int32",
            "nullable": true
          },
          "isPaidExternally": {
            "type": "boolean",
            "description": "Paid externally"
          },
          "documentId": {
            "type": "string",
            "description": "Document ID",
            "nullable": true
          },
          "stageId": {
            "type": "string",
            "description": "Workflow stage ID",
            "nullable": true
          },
          "verifiedDate": {
            "type": "string",
            "description": "The date the job status was set to VERIFIED.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Payment model"
      },
      "JobStatus": {
        "enum": [
          "inProgress",
          "invitationPending",
          "waitingForAssignment",
          "waitingForPayment",
          "verified",
          "paidByCustomer",
          "paidToFreelancer",
          "markedAsPaid",
          "invitationCanceled",
          "invitationDeclined"
        ],
        "type": "string",
        "description": "Payment status",
        "format": "int32"
      },
      "LabelModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Label name",
            "nullable": true
          },
          "color": {
            "type": "string",
            "description": "Label color",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Label model"
      },
      "LegalEntityModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Legal entity name",
            "nullable": true
          },
          "contactPerson": {
            "type": "string",
            "description": "Contact person",
            "nullable": true
          },
          "vat": {
            "type": "string",
            "description": "VAT",
            "nullable": true
          },
          "legalAddress": {
            "type": "string",
            "description": "Legal address",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Legal entity details model"
      },
      "LineItemExportData": {
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "string"
          },
          "invoiceCreatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "invoicePaidDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "lineItemId": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "totalWithVat": {
            "type": "number",
            "format": "double"
          },
          "vatPercent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "vatValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LockMode": {
        "enum": [
          "none",
          "byStates",
          "confirmed"
        ],
        "type": "string",
        "description": "Mode of locking segments at import",
        "format": "int32"
      },
      "LspPriceModelV2": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Price ID",
            "nullable": true
          },
          "serviceId": {
            "type": "string",
            "description": "Service ID",
            "nullable": true
          },
          "clientId": {
            "type": "string",
            "description": "Client ID",
            "format": "uuid",
            "nullable": true
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Source language",
            "nullable": true
          },
          "targetLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Target languages",
            "nullable": true
          },
          "pricePerUnit": {
            "type": "number",
            "description": "Price per unit",
            "format": "double",
            "nullable": true
          },
          "pricePerUnitCurrency": {
            "type": "string",
            "description": "Price currency",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "LSP service price model"
      },
      "LspServiceModelV2": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Service ID",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Service name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Service description",
            "nullable": true
          },
          "serviceTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LspServiceType"
            },
            "description": "Provided service types",
            "nullable": true
          },
          "specializations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Specialization"
            },
            "description": "Specializations",
            "nullable": true
          },
          "workUnitType": {
            "$ref": "#/components/schemas/WorkUnitType"
          }
        },
        "additionalProperties": false,
        "description": "LSP service model"
      },
      "LspServiceType": {
        "enum": [
          "translation",
          "editing",
          "proofreading",
          "postediting",
          "pageProof",
          "notarization",
          "glossaryCreation",
          "apostille",
          "simultaneousTranslation",
          "consecutiveTranslation",
          "mediaTranslation",
          "expertReview",
          "projectManagement",
          "translationMemoryCreation",
          "copywriting",
          "training",
          "transcription",
          "certifiedTranslation",
          "transcreation",
          "legalization",
          "machineTranslation",
          "interpretationService",
          "otherTranslationRelatedServices",
          "translationForSubtitling",
          "subtitlesTranslation",
          "editingTranslationOfSubtitles",
          "lQAReview",
          "subtitleReview",
          "voiceOverReview",
          "sourceReview",
          "courseReview",
          "lipSync"
        ],
        "type": "string",
        "description": "LSP service type",
        "format": "int32"
      },
      "LspUpdatePriceModelV2": {
        "type": "object",
        "properties": {
          "serviceId": {
            "type": "string",
            "description": "Service ID",
            "nullable": true
          },
          "clientId": {
            "type": "string",
            "description": "Client ID",
            "format": "uuid",
            "nullable": true
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Source language",
            "nullable": true
          },
          "targetLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Target languages",
            "nullable": true
          },
          "pricePerUnit": {
            "type": "number",
            "description": "Price per unit",
            "format": "double",
            "nullable": true
          },
          "pricePerUnitCurrency": {
            "type": "string",
            "description": "Price currency",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "LSP service price creation and update model"
      },
      "LspUpdateServiceModelV2": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Service name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Service description",
            "nullable": true
          },
          "serviceTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LspServiceType"
            },
            "description": "Provided service types",
            "nullable": true
          },
          "specializations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Specialization"
            },
            "description": "Specializations",
            "nullable": true
          },
          "workUnitType": {
            "$ref": "#/components/schemas/WorkUnitType"
          }
        },
        "additionalProperties": false,
        "description": "LSP service creation and update model"
      },
      "MTEngineModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "MT engine name",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "MT (Machine Translation) engine model"
      },
      "MergeProjectTasksResponse": {
        "type": "object",
        "properties": {
          "projectTaskId": {
            "type": "string",
            "description": "ID of the task created as a result of merging",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Result of merging tasks"
      },
      "Models.ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          },
          "details": {
            "type": "string",
            "nullable": true
          },
          "correlationId": {
            "type": "string",
            "nullable": true
          },
          "currentVersion": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "latestVersion": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MyTeamMemberModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "Last name",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "description": "MyTeam member ID in an external system",
            "nullable": true
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceModel"
            },
            "description": "MyTeam member services",
            "nullable": true
          },
          "clientIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Client IDs associated with the user",
            "nullable": true
          },
          "isInHouse": {
            "type": "boolean",
            "description": "True for an in-house team member; false for a marketplace freelancer pinned to the team."
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Custom fields",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "MyTeam member model"
      },
      "MyTeamSearchRequestModel": {
        "type": "object",
        "properties": {
          "skip": {
            "type": "integer",
            "description": "Number of search request results to be skipped (mandatory parameter)",
            "format": "int32",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "description": "Maximum number of search request results (mandatory parameter, cannot exceed 500)",
            "format": "int32",
            "nullable": true
          },
          "serviceType": {
            "$ref": "#/components/schemas/FreelancerServiceType"
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Source language",
            "nullable": true
          },
          "targetLanguage": {
            "type": "string",
            "description": "Target language",
            "nullable": true
          },
          "onlyNativeSpeakers": {
            "type": "boolean",
            "description": "Linguist's native language"
          },
          "allDialects": {
            "type": "boolean",
            "description": "Search linguists in all dialects for the language pair"
          },
          "minRate": {
            "type": "number",
            "description": "Minimum translation unit rate",
            "format": "double",
            "nullable": true
          },
          "maxRate": {
            "type": "number",
            "description": "Maximum translation unit rate",
            "format": "double",
            "nullable": true
          },
          "rateRangeCurrency": {
            "type": "string",
            "description": "Rate range currency",
            "nullable": true
          },
          "specializations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Specialization"
            },
            "description": "Specializations",
            "nullable": true
          },
          "specializationKnowledgeLevel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SpecializationKnowledgeLevel"
            },
            "description": "Required level of expertise in the specified (or any other if undefined) specialization",
            "nullable": true
          },
          "searchString": {
            "type": "string",
            "description": "Full-text search string",
            "nullable": true
          },
          "daytime": {
            "type": "boolean",
            "description": "It is daytime now in the linguist's time zone"
          }
        },
        "additionalProperties": false,
        "description": "MyTeam member search request"
      },
      "NetRateModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Net rate ID",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Net rate name",
            "nullable": true
          },
          "newWordsRate": {
            "type": "number",
            "description": "New words rate",
            "format": "double"
          },
          "repetitionsRate": {
            "type": "number",
            "description": "Repetitions rate",
            "format": "double"
          },
          "tmMatchRates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NetRateModel+TMRangeRateModel"
            },
            "description": "TM matches rate",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Rate discounts model"
      },
      "NetRateModel+TMRangeRateModel": {
        "type": "object",
        "properties": {
          "fromQuality": {
            "type": "integer",
            "description": "The lowest value in a TM match quality range",
            "format": "int32"
          },
          "toQuality": {
            "type": "integer",
            "description": "The highest value in a TM match quality range",
            "format": "int32"
          },
          "value": {
            "type": "number",
            "description": "TM range rate model",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "TM matches rate model"
      },
      "PlaceholderFormatModel": {
        "type": "object",
        "properties": {
          "regex": {
            "type": "string",
            "description": "Placeholder format regular expression",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Model for applying a placeholder format to a client"
      },
      "PlaceholderPresetModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Preset identifier. Pass it as placeholderPresetId when creating a project",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Preset name (null for the default preset)",
            "nullable": true
          },
          "isDefault": {
            "type": "boolean",
            "description": "Whether this is the account default preset, applied to projects without an explicit preset"
          },
          "formats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlaceholderFormatModel"
            },
            "description": "Placeholder formats of the preset",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Placeholder preset (a named set of placeholder formats) available in the account"
      },
      "PretranslateRuleModel": {
        "required": [
          "order",
          "ruleType"
        ],
        "type": "object",
        "properties": {
          "ruleType": {
            "$ref": "#/components/schemas/PretranslateRuleType"
          },
          "order": {
            "type": "integer",
            "description": "Ordering number of the rule (starting with 1)",
            "format": "int32"
          },
          "confirmAtWorkflowStep": {
            "type": "string",
            "description": "Specify at which workflow stage pretranslation segments must be confirmed\r\n(null if confirmation is not required)",
            "format": "uuid",
            "nullable": true
          },
          "translationMemoryId": {
            "type": "string",
            "description": "Translation memory (TM) ID, if the rule involves the use of TM matches",
            "format": "uuid",
            "nullable": true
          },
          "minThreshold": {
            "type": "integer",
            "description": "Minimum match threshold, if the rule involves the use of TM matches",
            "format": "int32",
            "nullable": true
          },
          "minTQSQualityThreshold": {
            "type": "integer",
            "description": "Minimum threshold score for TQS",
            "format": "int32",
            "nullable": true
          },
          "minSegmentWordsCount": {
            "type": "integer",
            "description": "Minimum segment length, if the rule involves the use of TM matches",
            "format": "int32",
            "nullable": true
          },
          "minAssuranceLevel": {
            "$ref": "#/components/schemas/TMTranslationAssuranceLevel"
          },
          "lqaProfileId": {
            "type": "string",
            "description": "LQA profile which is used by the LQA automation rule",
            "nullable": true
          },
          "blockingSeverityIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "LQA severity ids whose presence on a segment prevents auto-confirmation by the LQA automation rule",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Pretranslation rule model"
      },
      "PretranslateRuleType": {
        "enum": [
          "tM",
          "mT",
          "numberConversion",
          "tQS",
          "lQA"
        ],
        "type": "string",
        "description": "Pretranslation rule type",
        "format": "int32"
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "ProjectAssignmentMode": {
        "enum": [
          "document",
          "projectTask"
        ],
        "type": "string",
        "description": "Indicates the mode in which performers are assigned to the tasks in the project.",
        "format": "int32"
      },
      "ProjectChangesModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Project name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Project description",
            "nullable": true
          },
          "deadline": {
            "type": "string",
            "description": "Project deadline",
            "format": "date-time",
            "nullable": true
          },
          "clientId": {
            "type": "string",
            "description": "Client ID",
            "format": "uuid",
            "nullable": true
          },
          "domainId": {
            "type": "integer",
            "description": "Project group ID",
            "format": "int32",
            "nullable": true
          },
          "vendorAccountIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Vendor account IDs (supports a list containing maximum 1 entry)",
            "nullable": true
          },
          "externalTag": {
            "type": "string",
            "description": "External system tag",
            "nullable": true
          },
          "specializations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Specialization"
            },
            "description": "Specializations",
            "nullable": true
          },
          "workflowStages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StageType"
            },
            "description": "Translation level workflow stages to be applied to the project. This parameter is optional",
            "nullable": true
          },
          "customFieldValues": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Custom field values",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Project changes model"
      },
      "ProjectCopyModel": {
        "required": [
          "options"
        ],
        "type": "object",
        "properties": {
          "newProjectName": {
            "type": "string",
            "description": "New project name. If it is not filled, then it will be generated as \"{ORIGINAL_PROJECT_NAME} — {YYYY-MM-DD HH:MM}\"",
            "nullable": true
          },
          "options": {
            "$ref": "#/components/schemas/ProjectCopyOptions"
          },
          "copyTargetLanguageId": {
            "type": "integer",
            "description": "Target language ID for copying to source (if not specified, will take the first available target)",
            "format": "int32",
            "nullable": true
          },
          "targetLanguagesToRemove": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Target languages to remove from the copied project",
            "nullable": true
          },
          "targetLanguagesToAdd": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Target languages to add to the copied project",
            "nullable": true
          },
          "disableNotifications": {
            "type": "boolean",
            "description": "Disable notifications about the project copying progress"
          }
        },
        "additionalProperties": false,
        "description": "Model for project copy"
      },
      "ProjectCopyOptions": {
        "enum": [
          "projectOnly",
          "projectSettings",
          "documents",
          "segmentTranslations",
          "segmentRevisions",
          "comments",
          "segmentCopyTargetToSource"
        ],
        "type": "string",
        "description": "Data to be copied when copying a project",
        "format": "int32"
      },
      "ProjectCopyStateModel": {
        "type": "object",
        "properties": {
          "destinationProjectId": {
            "type": "string",
            "description": "Destination project ID",
            "format": "uuid"
          },
          "percent": {
            "type": "number",
            "description": "Percentage how much the project is copied",
            "format": "double"
          },
          "copiedDocumentCount": {
            "type": "integer",
            "description": "Number of documents copied",
            "format": "int32"
          },
          "totalDocumentCount": {
            "type": "integer",
            "description": "The total number of documents to be copied",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/ProjectCopyStatus"
          }
        },
        "additionalProperties": false,
        "description": "Project copy state"
      },
      "ProjectCopyStatus": {
        "enum": [
          "error",
          "inProgress",
          "success"
        ],
        "type": "string",
        "description": "Project copy status",
        "format": "int32"
      },
      "ProjectCostModel": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "Cost",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "nullable": true,
            "readOnly": true
          },
          "accuracyDegree": {
            "$ref": "#/components/schemas/ProjectQuoteAccuracyDegree"
          },
          "detailsFileName": {
            "type": "string",
            "description": "Quote file name",
            "nullable": true,
            "readOnly": true
          },
          "paymentStatus": {
            "$ref": "#/components/schemas/QuotePaymentStatus"
          }
        },
        "additionalProperties": false,
        "description": "Project cost model"
      },
      "ProjectDetalizationCostModel": {
        "type": "object",
        "properties": {
          "statistics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExecutiveStageProjectCostModel"
            },
            "description": "Information about suppliers",
            "nullable": true
          },
          "vendors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VendorProjectCostModel"
            },
            "description": "Information about vendors",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Project cost details model"
      },
      "ProjectMTEngineModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "MT engine or profile ID",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the MT engine of profile",
            "nullable": true
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The languages for which the MT engine of profile is added to the project",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The model represents the addition of an MT engine or profile to the project"
      },
      "ProjectMTEngineSupportedLanguagesModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "MT engine or profile ID",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the MT engine of profile",
            "nullable": true
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The languages supported by the MT engine or profile",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The model represents the supported MT engines or profiles"
      },
      "ProjectModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Project ID",
            "format": "uuid"
          },
          "accountId": {
            "type": "string",
            "description": "Account ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Project name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Project description",
            "nullable": true
          },
          "deadline": {
            "type": "string",
            "description": "Project deadline",
            "format": "date-time",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date",
            "format": "date-time"
          },
          "createdByUserId": {
            "type": "string",
            "description": "User ID of the project creator",
            "format": "uuid",
            "nullable": true
          },
          "createdByUserEmail": {
            "type": "string",
            "description": "Email of the project creator",
            "nullable": true
          },
          "modificationDate": {
            "type": "string",
            "description": "Last modification date",
            "format": "date-time"
          },
          "sourceLanguageId": {
            "type": "integer",
            "description": "Project source language code",
            "format": "int32"
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Project source language",
            "nullable": true
          },
          "targetLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Project target languages",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/Contracts.ProjectStatus"
          },
          "statusModificationDate": {
            "type": "string",
            "description": "Last status change date (including the status of the OnApproval and CancelledBy attributes)",
            "format": "date-time",
            "nullable": true
          },
          "domainId": {
            "type": "integer",
            "description": "Project group ID",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "string",
            "description": "Client ID",
            "format": "uuid",
            "nullable": true
          },
          "vendors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectVendorModel"
            },
            "description": "Project vendors",
            "nullable": true
          },
          "workflowStages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectWorkflowStageModel"
            },
            "description": "Project workflow stages",
            "nullable": true
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentModel"
            },
            "description": "Project task",
            "nullable": true
          },
          "externalTag": {
            "type": "string",
            "description": "External system tag",
            "nullable": true
          },
          "specializations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Specialization"
            },
            "description": "Specializations",
            "nullable": true
          },
          "managers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Managers",
            "nullable": true
          },
          "number": {
            "type": "string",
            "description": "Project number",
            "nullable": true
          },
          "assignmentMode": {
            "$ref": "#/components/schemas/ProjectAssignmentMode"
          },
          "aiTranslationProfileId": {
            "type": "string",
            "description": "AI translation Profile ID.",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Custom fields",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Project model"
      },
      "ProjectQuoteAccuracyDegree": {
        "enum": [
          "estimatedByWordsCount",
          "estimatedByTmMatches",
          "autoCalculatedExact",
          "manuallyEntered"
        ],
        "type": "string",
        "format": "int32"
      },
      "ProjectStatisticsItemModel": {
        "type": "object",
        "properties": {
          "wordsCount": {
            "type": "integer",
            "description": "Word count (including hieroglyphs for hieroglyphic languages)",
            "format": "int32"
          },
          "effectiveWordsCount": {
            "type": "number",
            "description": "The count of effective (that is, billable) words",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Word count model"
      },
      "ProjectStatisticsObsoleteModel": {
        "type": "object",
        "properties": {
          "statistics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatisticsRowModel"
            },
            "description": "Detailed statistics",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Project statistics model for a specific target language"
      },
      "ProjectStatus": {
        "enum": [
          "created",
          "inProgress",
          "pretranslated",
          "completed",
          "managerReview",
          "canceled"
        ],
        "type": "string",
        "format": "int32"
      },
      "ProjectTaskIndividualInvitationStrategyType": {
        "enum": [
          "crowd",
          "rocket"
        ],
        "type": "string",
        "description": "Mode of access to the work for those who accepted the invitation",
        "format": "int32"
      },
      "ProjectTaskJobModel": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "Job ID Smartcat.AppIntegrations.Contracts.JobModel.Id",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "description": "Supplier ID",
            "format": "uuid",
            "nullable": true
          },
          "userName": {
            "type": "string",
            "description": "Supplier name",
            "nullable": true
          },
          "documentId": {
            "type": "string",
            "description": "Document ID",
            "nullable": true
          },
          "documentName": {
            "type": "string",
            "description": "Document name",
            "nullable": true
          },
          "documentExtension": {
            "type": "string",
            "description": "Document extension",
            "nullable": true
          },
          "unitsCount": {
            "type": "number",
            "description": "Number of units of work performed",
            "format": "double",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "description": "Cost of work",
            "format": "double",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/ProjectTaskJobStatus"
          },
          "vendorAccountId": {
            "type": "string",
            "description": "Vendor account id",
            "format": "uuid",
            "nullable": true
          },
          "vendorAccountName": {
            "type": "string",
            "description": "Vendor account name",
            "nullable": true
          },
          "vendorImageUrl": {
            "type": "string",
            "description": "Vendor image URL",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Job information for a specific task"
      },
      "ProjectTaskJobStatus": {
        "enum": [
          "doNotNeedToPay",
          "forming",
          "pendingToPay",
          "paid"
        ],
        "type": "string",
        "description": "Status of the work performed by the supplier",
        "format": "int32"
      },
      "ProjectTaskMergeRequest": {
        "type": "object",
        "properties": {
          "projectTaskIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "IDs of the tasks to be merged",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "IDs of the tasks to be merged\r\nAll merged tasks must belong to the same stage Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskModel.StageId\r\nand have the same target language Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskModel.TargetLanguage"
      },
      "ProjectTaskModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Task ID",
            "format": "uuid"
          },
          "number": {
            "type": "string",
            "description": "Task number",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/ProjectTaskStatus"
          },
          "progressPercentage": {
            "type": "number",
            "description": "Task progress (in percent)",
            "format": "double",
            "nullable": true
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Source language of the task",
            "nullable": true
          },
          "targetLanguage": {
            "type": "string",
            "description": "Target language of the task",
            "nullable": true
          },
          "stageType": {
            "$ref": "#/components/schemas/StageType"
          },
          "stageId": {
            "type": "string",
            "description": "Stage ID",
            "format": "uuid"
          },
          "deadline": {
            "type": "string",
            "description": "Task deadline",
            "format": "date-time",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "description": "Actual cost of the work performed within the task",
            "format": "double",
            "nullable": true
          },
          "approximateCost": {
            "type": "number",
            "description": "Estimated cost of the work, taking into account the assigned suppliers",
            "format": "double",
            "nullable": true
          },
          "documentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IDs of the documents included in the task",
            "nullable": true
          },
          "createDate": {
            "type": "string",
            "description": "Creation date",
            "format": "date-time"
          },
          "lastUpdateScopeDate": {
            "type": "string",
            "description": "Last volume modification date (documents updated/added)",
            "format": "date-time",
            "nullable": true
          },
          "individualAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndividualAssignmentModel"
            },
            "description": "User assignments to the task",
            "nullable": true
          },
          "vendorAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VendorAssignmentModel"
            },
            "description": "Agency assignments to the task",
            "nullable": true
          },
          "invitationStrategyType": {
            "$ref": "#/components/schemas/ProjectTaskIndividualInvitationStrategyType"
          }
        },
        "additionalProperties": false,
        "description": "Project task"
      },
      "ProjectTaskScopeModel": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Document ID"
          },
          "progress": {
            "type": "number",
            "description": "Document progress in percent from 0 to 100",
            "format": "double"
          },
          "name": {
            "type": "string",
            "description": "Document name",
            "nullable": true
          },
          "extension": {
            "type": "string",
            "description": "File extension",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "description": "Last document modification date (date the file was uploaded or updated)",
            "format": "date-time"
          },
          "approximateCost": {
            "type": "number",
            "description": "Preliminary cost of the work on a particular document\r\nCalculated based on the document volume and the rates of suppliers assigned to the task",
            "format": "double",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "description": "Amount spent on the work performed on the document",
            "format": "double",
            "nullable": true
          },
          "isExternal": {
            "type": "boolean",
            "description": "The document at the stage will be processed without the use of CAT tools\r\n(work on the document is not performed in the editor)"
          },
          "unitType": {
            "$ref": "#/components/schemas/WorkUnitType"
          },
          "volumeSize": {
            "type": "integer",
            "description": "Work volume in units Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskScopeModel.UnitType",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Model containing information about one work item included in the task"
      },
      "ProjectTaskStatus": {
        "enum": [
          "created",
          "suppliersShortlisted",
          "suppliersInvited",
          "inProgress",
          "completed"
        ],
        "type": "string",
        "description": "Task status",
        "format": "int32"
      },
      "ProjectTranslationMemoryModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "TM ID",
            "format": "uuid"
          },
          "matchThreshold": {
            "type": "integer",
            "description": "Match threshold",
            "format": "int32"
          },
          "targetLanguageId": {
            "type": "integer",
            "description": "TM language (null, if the TM is applied to the entire project)",
            "format": "int32",
            "nullable": true
          },
          "isWritable": {
            "type": "boolean",
            "description": "TM is writable for confirmed segments"
          }
        },
        "additionalProperties": false,
        "description": "Project TM creation model"
      },
      "ProjectType": {
        "enum": [
          "default",
          "softwareLocalization"
        ],
        "type": "string",
        "description": "Project type",
        "format": "int32"
      },
      "ProjectTypeFilter": {
        "enum": [
          "all",
          "softwareLocalization",
          "nonSoftwareLocalization"
        ],
        "type": "string",
        "description": "Project type",
        "format": "int32"
      },
      "ProjectVendorModel": {
        "type": "object",
        "properties": {
          "vendorAccountId": {
            "type": "string",
            "description": "Vendor account ID",
            "format": "uuid"
          },
          "removedFromProject": {
            "type": "boolean",
            "description": "Removed from the project"
          },
          "cost": {
            "$ref": "#/components/schemas/ProjectCostModel"
          },
          "costDetailsFileId": {
            "type": "string",
            "description": "Quote ID",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Vendor-to-project connection model"
      },
      "ProjectWorkflowStageModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "progress": {
            "type": "number",
            "description": "Completion percentage",
            "format": "double"
          },
          "stageType": {
            "$ref": "#/components/schemas/StageType"
          }
        },
        "additionalProperties": false,
        "description": "Project workflow stage model"
      },
      "QuoteCostDetalizationType": {
        "enum": [
          "none",
          "byLanguage",
          "byFileAndLanguage"
        ],
        "type": "string",
        "format": "int32"
      },
      "QuoteModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Quote ID"
          },
          "creationDate": {
            "type": "string",
            "description": "Quote creation date",
            "format": "date-time"
          },
          "accountId": {
            "type": "string",
            "description": "Account ID associated with the quote",
            "format": "uuid"
          },
          "projectId": {
            "type": "string",
            "description": "Project ID associated with the quote",
            "format": "uuid"
          },
          "deadline": {
            "type": "string",
            "description": "Project deadline",
            "format": "date-time",
            "nullable": true
          },
          "clientContactName": {
            "type": "string",
            "description": "Client's contact person name",
            "nullable": true
          },
          "clientContactEmail": {
            "type": "string",
            "description": "Client's contact person email",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "description": "Get approval by",
            "format": "date-time",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "description": "Cost",
            "format": "double",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "nullable": true
          },
          "approvalStatus": {
            "$ref": "#/components/schemas/ApprovalStatus"
          },
          "approvalStatusModificationDate": {
            "type": "string",
            "description": "Date of the quote approval status change",
            "format": "date-time",
            "nullable": true
          },
          "paymentStatus": {
            "$ref": "#/components/schemas/QuotePaymentStatus"
          },
          "clientId": {
            "type": "string",
            "description": "Project client ID",
            "format": "uuid",
            "nullable": true
          },
          "externalFileDetalization": {
            "$ref": "#/components/schemas/ExternalFileDetalizationModel"
          },
          "servicesDetalization": {
            "$ref": "#/components/schemas/ServicesDetalizationModel"
          }
        },
        "additionalProperties": false,
        "description": "Project quote model"
      },
      "QuotePaymentStatus": {
        "enum": [
          "notPaid",
          "paid",
          "awaitingPayment"
        ],
        "type": "string",
        "format": "int32"
      },
      "QuoteServiceModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "languageId": {
            "type": "integer",
            "description": "Target language ID",
            "format": "int32",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "description": "Service cost",
            "format": "double",
            "nullable": true
          },
          "costDetails": {
            "$ref": "#/components/schemas/CostDetailsModel"
          }
        },
        "additionalProperties": false,
        "description": "Quote service model"
      },
      "ReplaceServicesModel": {
        "type": "object",
        "properties": {
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceModel"
            },
            "description": "Services",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "MyTeam member services replacement model"
      },
      "SaveType": {
        "enum": [
          "autoSaved",
          "insertTM",
          "insertMT",
          "insertTB",
          "translatedInSourceFile",
          "repetitionInsert",
          "rollback",
          "replacement",
          "copyFromSource",
          "numberConversion",
          "crossDocumentRepetitionInsert",
          "joinSegments",
          "splitSegment",
          "updateSourceText",
          "documentCompletion",
          "updateFromExternalSystem",
          "reconnect",
          "cleanTarget",
          "autoCopyFromSource",
          "copyProject",
          "aiAction",
          "aligner",
          "confirmation",
          "glossaryImprovement",
          "agentReview",
          "shortening"
        ],
        "type": "string",
        "description": "Revision type",
        "format": "int32"
      },
      "ScopeOfSubstringSearchInProject": {
        "enum": [
          "source",
          "target",
          "context"
        ],
        "type": "string",
        "description": "Scope of sub-string search",
        "format": "int32"
      },
      "SegmentCommentThreadTransferringStateModel": {
        "type": "object",
        "properties": {
          "sourceProjectId": {
            "type": "string",
            "description": "Source project id",
            "format": "uuid"
          },
          "destinationProjectId": {
            "type": "string",
            "description": "Destination project id",
            "format": "uuid"
          },
          "status": {
            "$ref": "#/components/schemas/SegmentCommentThreadTransferringStatus"
          }
        },
        "additionalProperties": false,
        "description": "Contains information about segment comment thread transferring"
      },
      "SegmentCommentThreadTransferringStatus": {
        "enum": [
          "error",
          "inProgress",
          "success"
        ],
        "type": "string",
        "description": "Comments' transfer task status",
        "format": "int32"
      },
      "SegmentCompletionState": {
        "enum": [
          "draft",
          "intermediate",
          "final"
        ],
        "type": "string",
        "description": "Segment completion state",
        "format": "int32"
      },
      "SegmentConfirmationStatisticsModel": {
        "required": [
          "accountId",
          "accountUserId",
          "date",
          "documentId",
          "language",
          "projectId",
          "wordcounts"
        ],
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "The date for which statistics were collected",
            "format": "date-time"
          },
          "accountUserId": {
            "type": "string",
            "description": "ID of the account-user link in which the user worked"
          },
          "accountId": {
            "type": "string",
            "description": "The account in which the project was created",
            "format": "uuid"
          },
          "vendorAccountId": {
            "type": "string",
            "description": "Vendor account, if the vendor is assigned and the translation was performed by the user of their account",
            "format": "uuid",
            "nullable": true
          },
          "externalTag": {
            "type": "string",
            "description": "External system tag",
            "nullable": true
          },
          "stageType": {
            "$ref": "#/components/schemas/StageType"
          },
          "projectId": {
            "type": "string",
            "description": "Project ID",
            "format": "uuid"
          },
          "documentId": {
            "minLength": 1,
            "type": "string",
            "description": "Document ID"
          },
          "language": {
            "minLength": 1,
            "type": "string",
            "description": "Target language"
          },
          "jobId": {
            "type": "string",
            "description": "Job ID, if a job was created",
            "nullable": true
          },
          "wordcounts": {
            "$ref": "#/components/schemas/SegmentConfirmationStatisticsWordcountsModel"
          },
          "changeStamp": {
            "type": "string",
            "description": "Change stamp",
            "format": "uuid"
          },
          "isConfirmedByPretranslate": {
            "type": "boolean",
            "description": "Statistics for segments confirmed by pre-translation"
          }
        },
        "additionalProperties": false,
        "description": "Item (record) model of segment acknowledgment statistics"
      },
      "SegmentConfirmationStatisticsWordcountsModel": {
        "type": "object",
        "properties": {
          "repetitions": {
            "type": "integer",
            "description": "Number of repeated words in a document",
            "format": "int32"
          },
          "crossDocumentRepetitions": {
            "type": "integer",
            "description": "Number of repeated words in other project documents",
            "format": "int32"
          },
          "mt": {
            "type": "integer",
            "description": "MT words count",
            "format": "int32"
          },
          "externalSource": {
            "type": "integer",
            "description": "External sources word count",
            "format": "int32"
          },
          "confirmedWithoutAnySource": {
            "type": "integer",
            "description": "Word count from the editor without using MT or TM",
            "format": "int32"
          },
          "tmMatches": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "description": "TM word count",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Word count model for segment confirmation statistics"
      },
      "SegmentExportMode": {
        "enum": [
          "current",
          "confirmed",
          "complete"
        ],
        "type": "string",
        "description": "Document export mode",
        "format": "int32"
      },
      "SegmentModel": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "Segment text",
            "nullable": true
          },
          "prevContext": {
            "type": "string",
            "description": "Previous segment text",
            "nullable": true
          },
          "nextContext": {
            "type": "string",
            "description": "Next segment text",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentTagModel"
            },
            "description": "Segment tags",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Segment model"
      },
      "SegmentRevisionBatchModel": {
        "required": [
          "documentId",
          "nextBatchUrl",
          "revisions"
        ],
        "type": "object",
        "properties": {
          "nextBatchUrl": {
            "minLength": 1,
            "type": "string",
            "description": "Link for fetching the next batch of segments"
          },
          "documentId": {
            "minLength": 1,
            "type": "string",
            "description": "Document ID"
          },
          "revisions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentRevisionModel"
            },
            "description": "Revisions summary"
          }
        },
        "additionalProperties": false,
        "description": "Segment revision batch model"
      },
      "SegmentRevisionModel": {
        "required": [
          "creationDate",
          "isConfirmation",
          "language",
          "prevTargetText",
          "sourceText",
          "targetText",
          "type"
        ],
        "type": "object",
        "properties": {
          "segmentId": {
            "type": "string",
            "description": "Segment ID",
            "nullable": true
          },
          "documentId": {
            "type": "string",
            "description": "ID of the target document DocumentId_LanguageId",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "description": "User ID",
            "nullable": true
          },
          "stageId": {
            "type": "string",
            "description": "Workflow stage ID",
            "format": "uuid"
          },
          "language": {
            "minLength": 1,
            "type": "string",
            "description": "Target language"
          },
          "creationDate": {
            "type": "string",
            "description": "Revision created date",
            "format": "date-time"
          },
          "type": {
            "type": "integer",
            "description": "Revision type",
            "format": "int32"
          },
          "isConfirmation": {
            "type": "boolean",
            "description": "Revision type"
          },
          "targetText": {
            "minLength": 1,
            "type": "string",
            "description": "Target text"
          },
          "prevTargetText": {
            "minLength": 1,
            "type": "string",
            "description": "Target text in the previous revision"
          },
          "sourceText": {
            "minLength": 1,
            "type": "string",
            "description": "Source text"
          }
        },
        "additionalProperties": false,
        "description": "Segment translation revision model"
      },
      "SegmentSearchRequestModel": {
        "required": [
          "searchString"
        ],
        "type": "object",
        "properties": {
          "searchString": {
            "type": "string",
            "description": "Requested text",
            "nullable": true
          },
          "projectIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Project IDs",
            "nullable": true
          },
          "targetLanguageIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Language IDs of target segments by which the results are filtered",
            "nullable": true
          },
          "isCaseSensitive": {
            "type": "boolean",
            "description": "Specifies whether the search is case-sensitive"
          },
          "scope": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScopeOfSubstringSearchInProject"
            },
            "description": "Specifies to which segment parts the text search is applicable",
            "nullable": true
          },
          "skip": {
            "type": "integer",
            "description": "Specifies how many first results to skip",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "Maximum returned results",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Model of request for searching text in project segments"
      },
      "SegmentSearchResultDocumentModel": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "Project ID",
            "format": "uuid"
          },
          "documentId": {
            "type": "string",
            "description": "Document ID",
            "nullable": true
          },
          "targetLanguageId": {
            "type": "integer",
            "description": "Target language ID",
            "format": "int32"
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentSearchResultSegmentModel"
            },
            "description": "Found matches",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Segment search result model for\r\nresults in a specific target language found in a specific document"
      },
      "SegmentSearchResultModel": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentSearchResultDocumentModel"
            },
            "description": "Search results",
            "nullable": true
          },
          "noMoreResults": {
            "type": "boolean",
            "description": "Specifies whether the returned search results include all the available occurences in project segments"
          }
        },
        "additionalProperties": false,
        "description": "Project segment search result model"
      },
      "SegmentSearchResultSegmentModel": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "description": "Source text",
            "nullable": true
          },
          "target": {
            "type": "string",
            "description": "Target text",
            "nullable": true
          },
          "segmentIndex": {
            "type": "integer",
            "description": "Segment index in the document",
            "format": "int32"
          },
          "context": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of strings from the segment localization context",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Segment search result model for one found occurence"
      },
      "SegmentTagModel": {
        "type": "object",
        "properties": {
          "tagNumber": {
            "type": "integer",
            "description": "Tag number",
            "format": "int32"
          },
          "tagType": {
            "type": "string",
            "description": "Tag type",
            "nullable": true
          },
          "position": {
            "type": "integer",
            "description": "Tag position",
            "format": "int32"
          },
          "isVirtual": {
            "type": "boolean",
            "description": "Specifies whether the tag is virtual"
          },
          "isInvisible": {
            "type": "boolean",
            "description": "Specifies whether the tag is invisible"
          }
        },
        "additionalProperties": false,
        "description": "Segment tag mandatory information model"
      },
      "SegmentWithMatchesModel": {
        "type": "object",
        "properties": {
          "sourceText": {
            "type": "string",
            "description": "Source segment of a found record",
            "nullable": true
          },
          "targetText": {
            "type": "string",
            "description": "Target segment of a found record",
            "nullable": true
          },
          "segmentMatch": {
            "type": "integer",
            "description": "Segment match value",
            "format": "int32"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagsFromUnit"
            },
            "description": "Record tags set",
            "nullable": true
          },
          "assuranceLevel": {
            "$ref": "#/components/schemas/IntegrationApiTMTranslationAssuranceLevel"
          }
        },
        "additionalProperties": false,
        "description": "Segment with matches send model"
      },
      "SelectFieldOption": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The unique identifier of the option.",
            "format": "uuid"
          },
          "value": {
            "type": "string",
            "description": "The display value associated with the option.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a single selectable option for a custom field of selection type,\r\npairing a unique key with its display value."
      },
      "ServiceModel": {
        "type": "object",
        "properties": {
          "serviceType": {
            "$ref": "#/components/schemas/FreelancerServiceType"
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Source language",
            "nullable": true
          },
          "targetLanguage": {
            "type": "string",
            "description": "Target language",
            "nullable": true
          },
          "pricePerUnit": {
            "type": "number",
            "description": "Price per unit",
            "format": "double",
            "nullable": true
          },
          "performancePerDay": {
            "type": "number",
            "description": "User's daily performance per service",
            "format": "double",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "nullable": true
          },
          "specializations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Specialization"
            },
            "description": "Specializations for a written service",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Service model"
      },
      "ServicesDetalizationModel": {
        "type": "object",
        "properties": {
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteServiceModel"
            },
            "description": "LSP service model",
            "nullable": true
          },
          "accuracyDegree": {
            "$ref": "#/components/schemas/ProjectQuoteAccuracyDegree"
          }
        },
        "additionalProperties": false,
        "description": "Quote details generated by Smartcat"
      },
      "SetStageUnitsCountModel": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Document ID"
          },
          "unitCount": {
            "type": "integer",
            "description": "Unit count",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Document unit count setup model"
      },
      "SmartCatLegalEntityModel": {
        "type": "object",
        "properties": {
          "registrationNumber": {
            "type": "string",
            "description": "Registration number",
            "nullable": true
          },
          "beneficiary": {
            "type": "string",
            "description": "Beneficiary",
            "nullable": true
          },
          "bankName": {
            "type": "string",
            "description": "Bank name",
            "nullable": true
          },
          "bankAddress": {
            "type": "string",
            "description": "Bank address",
            "nullable": true
          },
          "bankCode": {
            "type": "string",
            "description": "Bank code",
            "nullable": true
          },
          "swift": {
            "type": "string",
            "description": "SWIFT",
            "nullable": true
          },
          "bankAccount": {
            "type": "string",
            "description": "Bank account number",
            "nullable": true
          },
          "achRoutingNumber": {
            "type": "string",
            "description": "ACH routing number",
            "nullable": true
          },
          "wireRoutingNumber": {
            "type": "string",
            "description": "Wire routing number",
            "nullable": true
          },
          "transitNumber": {
            "type": "string",
            "description": "Transit number",
            "nullable": true
          },
          "bankCorrAccount": {
            "type": "string",
            "description": "Correspondent account",
            "nullable": true
          },
          "bankCorrBankEn": {
            "type": "string",
            "description": "Correspondent bank name (in English)",
            "nullable": true
          },
          "bankCorrBankRu": {
            "type": "string",
            "description": "Correspondent bank name (in Russian)",
            "nullable": true
          },
          "iban": {
            "type": "string",
            "description": "IBAN",
            "nullable": true
          },
          "kpp": {
            "type": "string",
            "description": "KPP",
            "nullable": true
          },
          "bic": {
            "type": "string",
            "description": "BIC",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Legal entity name",
            "nullable": true
          },
          "contactPerson": {
            "type": "string",
            "description": "Contact person",
            "nullable": true
          },
          "vat": {
            "type": "string",
            "description": "VAT",
            "nullable": true
          },
          "legalAddress": {
            "type": "string",
            "description": "Legal address",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Smartcat legal entity details model"
      },
      "SmartTranslationChargesRequest": {
        "required": [
          "requestUids"
        ],
        "type": "object",
        "properties": {
          "requestUids": {
            "maxItems": 100,
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Request identifiers returned by translate calls, at most 100 per request"
          }
        },
        "additionalProperties": false,
        "description": "Request for the Smartwords charged for earlier translate calls"
      },
      "SmartTranslationChargesResponse": {
        "type": "object",
        "properties": {
          "requests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmartTranslationRequestChargesModel"
            },
            "description": "One entry per requested identifier, in the order requested",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Smartwords charged for earlier translate calls"
      },
      "SmartTranslationChargesStatus": {
        "enum": [
          "notFound",
          "pending",
          "settled"
        ],
        "type": "string",
        "description": "Charge status of a translate call"
      },
      "SmartTranslationLanguageChargeModel": {
        "type": "object",
        "properties": {
          "reserved": {
            "type": "integer",
            "description": "Smartwords reserved when the request was made",
            "format": "int32"
          },
          "charged": {
            "type": "integer",
            "description": "Smartwords actually charged. Absent until the charge is applied, zero when nothing was charged",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Smartwords reserved and charged for one target language"
      },
      "SmartTranslationRequest": {
        "required": [
          "sourceLanguage",
          "targetLanguages",
          "texts"
        ],
        "type": "object",
        "properties": {
          "sourceLanguage": {
            "minLength": 1,
            "type": "string",
            "description": "Source language"
          },
          "targetLanguages": {
            "maxItems": 2147483647,
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Target languages"
          },
          "profile": {
            "type": "string",
            "description": "Translation profile ID",
            "nullable": true
          },
          "isHtml": {
            "type": "boolean",
            "description": "Indicates whether the source text is in HTML format"
          },
          "texts": {
            "maxItems": 2147483647,
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SmartTranslationText"
            },
            "description": "Translation text entry"
          },
          "externalTag": {
            "type": "string",
            "description": "External system tag",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Translation request"
      },
      "SmartTranslationRequestChargesModel": {
        "type": "object",
        "properties": {
          "requestUid": {
            "type": "string",
            "description": "Identifier returned by the translate call",
            "format": "uuid"
          },
          "status": {
            "$ref": "#/components/schemas/SmartTranslationChargesStatus"
          },
          "smartwords": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/SmartTranslationLanguageChargeModel"
            },
            "description": "Smartwords per target language. Empty when the request was not found",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Smartwords charged for one translate call"
      },
      "SmartTranslationResponse": {
        "type": "object",
        "properties": {
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SmartTranslationResult"
              },
              "nullable": true
            },
            "description": "Translation results grouped by the target language",
            "nullable": true
          },
          "requestUid": {
            "type": "string",
            "description": "Identifier of this request, generated by Smartcat. The same value appears in the Request UID column\r\nof the Smartwords report for every write-off caused by the request",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Successful response to a translation request"
      },
      "SmartTranslationResult": {
        "type": "object",
        "properties": {
          "translation": {
            "type": "string",
            "description": "Translation.",
            "nullable": true
          },
          "error": {
            "type": "boolean",
            "description": "Error flag."
          },
          "segmentMetadata": {
            "type": "string",
            "description": "Optional opaque per-segment metadata associated with the translated text. Null when absent.",
            "nullable": true
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TranslatedSegmentModel"
            },
            "description": "The segments this text was translated in, in document order. Null when the translation failed and\r\nnothing was assembled.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Translation result."
      },
      "SmartTranslationText": {
        "required": [
          "text"
        ],
        "type": "object",
        "properties": {
          "text": {
            "minLength": 1,
            "type": "string",
            "description": "Text"
          },
          "context": {
            "type": "string",
            "description": "Translation context",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Translation text"
      },
      "SmartwordsBalanceModel": {
        "type": "object",
        "properties": {
          "balance": {
            "type": "integer",
            "description": "Current Smartwords balance available to the workspace",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Smartwords balance of the workspace"
      },
      "SoftwareLocalizationDocumentFormat": {
        "enum": [
          "json",
          "ios-strings",
          "android-xml",
          "yaml",
          "structured-json",
          "structured-yaml",
          "qt-ts"
        ],
        "type": "string",
        "description": "Software localization document format",
        "format": "int32"
      },
      "Specialization": {
        "enum": [
          "education",
          "productsAndCatalogs",
          "documentsAndCertificates",
          "marketing",
          "correspondence",
          "software",
          "fiction",
          "scienceAndPatents",
          "contractsAndReports",
          "gaming",
          "manuals",
          "website",
          "annualReport",
          "corporateAndSocialResponsibility",
          "technicalAndEngineering",
          "cryptocurrencies",
          "biochemistry",
          "computingScience",
          "electronics",
          "metallurgy",
          "nuclear",
          "optics",
          "printing",
          "telecommunication",
          "textile",
          "patent",
          "military",
          "ecologyAndEnvironment",
          "agriculture",
          "artsAndCulture",
          "aviationAndSpace",
          "biology",
          "cartography",
          "chemistry",
          "cosmetics",
          "construction",
          "architecture",
          "economics",
          "accounting",
          "bankingAndInvestment",
          "insurance",
          "energy",
          "thermalPowerEngineering",
          "mechanicalEngineering",
          "finance",
          "general",
          "geography",
          "geology",
          "mining",
          "history",
          "linguistics",
          "philosophy",
          "psychology",
          "sociology",
          "industry",
          "industrialAutomation",
          "electricalEngineering",
          "iT",
          "eRP",
          "law",
          "hR",
          "mathematics",
          "medicine",
          "medicalEquipment",
          "pharmaceutics",
          "veterinaryMedicine",
          "oilAndGas",
          "physics",
          "politicsAndSociety",
          "realEstate",
          "recreation",
          "fashion",
          "luxuryItems",
          "tourismAndTravel",
          "religion",
          "socialScience",
          "sport",
          "transport",
          "automotiveBusiness",
          "foodAndDrinks",
          "biotechnology",
          "business",
          "lifeSciences"
        ],
        "type": "string",
        "description": "Text specialization",
        "format": "int32"
      },
      "SpecializationKnowledgeLevel": {
        "enum": [
          "tested",
          "certified",
          "coursePassed"
        ],
        "type": "string",
        "description": "Level of specialization expertise",
        "format": "int32"
      },
      "SplitProjectTaskByPartsResponse": {
        "type": "object",
        "properties": {
          "projectTaskIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Target task IDs",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Result of splitting the task volume"
      },
      "SplitProjectTaskRequest": {
        "type": "object",
        "properties": {
          "documentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IDs of the documents to be moved to the task Smartcat.AppIntegrations.Contracts.ProjectTask.Split.SplitProjectTaskRequest.TargetProjectTaskId\r\nOnly documents whose progress Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskScopeModel.Progress is less than 100 percent can be moved",
            "nullable": true
          },
          "targetProjectTaskId": {
            "type": "string",
            "description": "ID of the target task to which the documents are to be moved\r\nTarget task must belong to the same stage and target language as the original task\r\nThe parameter can be set to `null`. In this case a new task will be created and the documents will be moved to it",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Data required to split the task volume"
      },
      "SplitProjectTaskResponse": {
        "type": "object",
        "properties": {
          "projectTaskId": {
            "type": "string",
            "description": "ID of the task to which the documents were moved",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Result of splitting the task volume"
      },
      "StageType": {
        "enum": [
          "translation",
          "editing",
          "proofreading",
          "postediting",
          "finalPageProof",
          "notarization",
          "certifiedTranslation",
          "transcreation",
          "legalization",
          "preliminaryPageProof",
          "lQAReview",
          "subtitleReview",
          "voiceOverReview",
          "sourceReview",
          "courseSourceReview",
          "courseTargetReview",
          "lipSync"
        ],
        "type": "string",
        "description": "Workflow stage type",
        "format": "int32"
      },
      "StatisticsFieldName": {
        "enum": [
          "perfect",
          "crossFileRepeated",
          "total",
          "repetitions",
          "newWords",
          "match_50_74",
          "match_75_84",
          "match_85_94",
          "match_95_99",
          "match_100",
          "contextMatch_101",
          "contextMatch_102"
        ],
        "type": "string",
        "description": "Statistics field names",
        "format": "int32"
      },
      "StatisticsModel": {
        "type": "object",
        "properties": {
          "total": {
            "$ref": "#/components/schemas/ProjectStatisticsItemModel"
          },
          "newSegmentsVolume": {
            "$ref": "#/components/schemas/ProjectStatisticsItemModel"
          },
          "lockedVolume": {
            "$ref": "#/components/schemas/ProjectStatisticsItemModel"
          },
          "repetitionsVolume": {
            "$ref": "#/components/schemas/ProjectStatisticsItemModel"
          },
          "crossDocumentRepetitionsVolume": {
            "$ref": "#/components/schemas/ProjectStatisticsItemModel"
          },
          "tmMatchRanges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatisticsTMMatchRangeModel"
            },
            "description": "Information about the number of TM matches in different translation quality ranges",
            "nullable": true
          },
          "segmentsWithZeroWordsVolume": {
            "$ref": "#/components/schemas/ProjectStatisticsItemModel"
          },
          "sourcePlaceholdersCount": {
            "type": "integer",
            "description": "The count of placeholders in the source text",
            "format": "int32"
          },
          "translatableTotal": {
            "$ref": "#/components/schemas/ProjectStatisticsItemModel"
          }
        },
        "additionalProperties": false,
        "description": "TM matches and repeats model"
      },
      "StatisticsRowModel": {
        "type": "object",
        "properties": {
          "name": {
            "$ref": "#/components/schemas/StatisticsFieldName"
          },
          "words": {
            "type": "integer",
            "description": "Words",
            "format": "int64"
          },
          "percent": {
            "type": "number",
            "description": "Percent",
            "format": "double"
          },
          "segments": {
            "type": "integer",
            "description": "Segments",
            "format": "int32"
          },
          "pages": {
            "type": "number",
            "description": "Pages",
            "format": "double"
          },
          "charsWithoutSpaces": {
            "type": "integer",
            "description": "Chars Without Spaces",
            "format": "int64"
          },
          "charsWithSpaces": {
            "type": "integer",
            "description": "Chars With Spaces",
            "format": "int64"
          },
          "effectiveWordsForBilling": {
            "type": "number",
            "description": "Effective word count",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Document Statistics Model"
      },
      "StatisticsTMMatchRangeModel": {
        "type": "object",
        "properties": {
          "fromQuality": {
            "type": "integer",
            "description": "The lowest value in a TM match quality range",
            "format": "int32"
          },
          "toQuality": {
            "type": "integer",
            "description": "The highest value in a TM match quality range",
            "format": "int32"
          },
          "volume": {
            "$ref": "#/components/schemas/ProjectStatisticsItemModel"
          }
        },
        "additionalProperties": false,
        "description": "TM matches in a specific translation quality range"
      },
      "StringTableKeyConflictResolution": {
        "enum": [
          "ignore",
          "overwrite"
        ],
        "type": "string",
        "description": "Key string table key conflict resolution",
        "format": "int32"
      },
      "StringsTableImportResult": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/StringsTableImportStatus"
          },
          "failedFileNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          },
          "keysCreated": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "keysUpdated": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "keysDeleted": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "keyValuesNotChanged": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "keysWithoutSource": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "conflictingKeyValues": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "StringsTableImportStatus": {
        "enum": [
          "pending",
          "inProgress",
          "completed",
          "failed"
        ],
        "type": "string",
        "format": "int32"
      },
      "SubtitleSegmentationMode": {
        "enum": [
          "by-cue",
          "by-sentence"
        ],
        "type": "string",
        "description": "Subtitle auto-segmentation mode for project creation.",
        "format": "int32"
      },
      "SupplierType": {
        "enum": [
          "freelancer",
          "company"
        ],
        "type": "string",
        "description": "Supplier type",
        "format": "int32"
      },
      "TMExportMode": {
        "enum": [
          "tmxDefault",
          "tmxWithTrados2009PlusCompatibility",
          "tmxWithTrados2007Compatibility",
          "excel"
        ],
        "type": "string",
        "format": "int32"
      },
      "TMImportTaskModel": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "Account ID",
            "format": "uuid"
          },
          "id": {
            "type": "string",
            "description": "Task ID",
            "format": "uuid"
          },
          "translationMemoryId": {
            "type": "string",
            "description": "TM database ID",
            "format": "uuid"
          },
          "state": {
            "type": "string",
            "description": "Task status",
            "nullable": true
          },
          "insertedUnitCount": {
            "type": "integer",
            "description": "Inserted unit count",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "TM import task model"
      },
      "TMMatchesRequest": {
        "type": "object",
        "properties": {
          "sourceLanguage": {
            "type": "string",
            "description": "Source language",
            "nullable": true
          },
          "targetLanguage": {
            "type": "string",
            "description": "Target language",
            "nullable": true
          },
          "segmentModel": {
            "$ref": "#/components/schemas/SegmentModel"
          },
          "matchThreshold": {
            "type": "integer",
            "description": "Match threshold",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "TM match query model"
      },
      "TMTranslationAssuranceLevel": {
        "enum": [
          "mT",
          "questionable",
          "regular",
          "qualified"
        ],
        "type": "string",
        "format": "int32"
      },
      "TagType": {
        "enum": [
          "start",
          "end",
          "placeholder"
        ],
        "type": "string",
        "format": "int32"
      },
      "TagsFromUnit": {
        "type": "object",
        "properties": {
          "position": {
            "type": "integer",
            "description": "Tag insertion position in the target",
            "format": "int32"
          },
          "order": {
            "type": "integer",
            "description": "Tag order number in the target. Important if two tags have an identical position",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Unit tags data serialization class"
      },
      "TargetLanguageUsageMode": {
        "enum": [
          "selected",
          "fromFile"
        ],
        "type": "string",
        "description": "Target language selection mode for translation",
        "format": "int32"
      },
      "TargetSubstitutionMode": {
        "enum": [
          "all",
          "none"
        ],
        "type": "string",
        "description": "Target substitution mode",
        "format": "int32"
      },
      "TemplateInfoModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Template ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Template name",
            "nullable": true
          },
          "sourceLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Source languages allowed by the template. A project created from this template must use one of them\r\nas its source language",
            "nullable": true
          },
          "targetLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Target languages allowed by the template. A project created from this template can only use these\r\nlanguages as its target languages",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Template information model"
      },
      "TemplateListModel": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateInfoModel"
            },
            "description": "List of templates",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Template list model"
      },
      "TranslatedSegmentModel": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "description": "Source text of this segment.",
            "nullable": true
          },
          "translation": {
            "type": "string",
            "description": "Translation produced for Smartcat.AppIntegrations.Models.SmartTranslation.TranslatedSegmentModel.Source.",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TranslatedSegmentTagModel"
            },
            "description": "Tags of Smartcat.AppIntegrations.Models.SmartTranslation.TranslatedSegmentModel.Translation, positioned inside it, in ascending position order. Only visible,\r\nnon-virtual tags: the invisible tags at a segment's edges are restored by the CAT from the source\r\nsegment. Empty either because the segment has no tags or because nothing is known about them -\r\nSmartcat.AppIntegrations.Models.SmartTranslation.TranslatedSegmentModel.TagStatus says which.",
            "nullable": true
          },
          "tagStatus": {
            "$ref": "#/components/schemas/TranslatedSegmentTagStatus"
          }
        },
        "additionalProperties": false,
        "description": "SUPPORT-12109: one segment of a translated text — the source sentence the text was split into and the\r\ntranslation produced for it, in document order. Lets a consumer that stores its own segments reuse the\r\nsegmentation the translation was made with instead of re-deriving it from the target, which splits by\r\nthe target language's sentence rules and need not agree with the source's boundaries."
      },
      "TranslatedSegmentTagModel": {
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "Number of the source segment tag this tag realises. A start/end pair shares one number.",
            "format": "int32"
          },
          "type": {
            "$ref": "#/components/schemas/TagType"
          },
          "position": {
            "type": "integer",
            "description": "Index into the segment's translation where the tag goes.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "SUPPORT-12109: one tag of a translated segment - which tag of the segment's source it realises, and\r\nwhere it sits in the translation. Number and type are the whole identity of a tag as the file\r\ndisassembler sees it, so a consumer can match it against the source segment's own tags and take the\r\nmarkup from there."
      },
      "TranslatedSegmentTagStatus": {
        "enum": [
          "unknown",
          "aligned",
          "collapsed"
        ],
        "type": "string",
        "format": "int32"
      },
      "TranslationMemoriesForLanguageModel": {
        "type": "object",
        "properties": {
          "language": {
            "type": "string",
            "description": "Language associated with TM list",
            "nullable": true
          },
          "translationMemories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TranslationMemoryForProjectModel"
            },
            "description": "TM list",
            "nullable": true
          },
          "onlyExactSourceLanguageMatch": {
            "type": "boolean",
            "description": "Specifies whether exact match with the source language is required",
            "nullable": true
          },
          "onlyExactTargetLanguageMatch": {
            "type": "boolean",
            "description": "Specifies whether exact match with the target language is required",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Project language TMs model"
      },
      "TranslationMemoryForProjectModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "TM database ID",
            "format": "uuid"
          },
          "matchThreshold": {
            "type": "integer",
            "description": "Minimum percentage of full matches for the TM",
            "format": "int32"
          },
          "isWritable": {
            "type": "boolean",
            "description": "TM is writable for confirmed segments"
          }
        },
        "additionalProperties": false,
        "description": "TM for project model"
      },
      "TranslationMemoryModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "TM ID",
            "format": "uuid"
          },
          "accountId": {
            "type": "string",
            "description": "Corporate account ID",
            "format": "uuid"
          },
          "clientId": {
            "type": "string",
            "description": "Client ID",
            "format": "uuid",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "TM name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description",
            "nullable": true
          },
          "sourceLanguage": {
            "type": "string",
            "description": "Source language ID",
            "nullable": true
          },
          "targetLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Target languages",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "description": "TM creation date and time",
            "format": "date-time"
          },
          "isAutomaticallyCreated": {
            "type": "boolean",
            "description": "Specifies whether the TM was created automatically"
          },
          "unitCountByLanguageId": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Unit count by language",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "TM model"
      },
      "TranslationTaskStatus": {
        "enum": [
          "inProgress",
          "faulted",
          "completed"
        ],
        "type": "string",
        "description": "Status of a document translation addition task",
        "format": "int32"
      },
      "UpdateClientModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "netRateId": {
            "type": "string",
            "description": "ID of discount rates applicable to client",
            "nullable": true
          },
          "mainContact": {
            "$ref": "#/components/schemas/ContactModel"
          },
          "additionalContacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactModel"
            },
            "description": "Additional contacts",
            "nullable": true
          },
          "vat": {
            "type": "string",
            "description": "VAT",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "description": "Country code",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "Commentary",
            "nullable": true
          },
          "website": {
            "type": "string",
            "description": "Website",
            "nullable": true
          },
          "industryId": {
            "type": "string",
            "description": "Entry ID in the client specializations list",
            "nullable": true
          },
          "legalName": {
            "type": "string",
            "description": "Legal name",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Address",
            "nullable": true
          },
          "languageId": {
            "type": "integer",
            "description": "Language",
            "format": "int32",
            "nullable": true
          },
          "vendorManager": {
            "type": "string",
            "description": "Manager",
            "nullable": true
          },
          "customFieldValues": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Customized field values",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Client update model"
      },
      "UpdateDocumentModel": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/UploadDocumentPropertiesModel"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UploadedFile"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UploadDocumentPropertiesModel": {
        "type": "object",
        "properties": {
          "bilingualFileImportSetings": {
            "$ref": "#/components/schemas/BilingualFileImportSetingsModel"
          },
          "enablePlaceholders": {
            "type": "boolean",
            "description": "Specifies whether to enable placeholders in the document body",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Document upload properties model"
      },
      "UploadedFile": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "extension": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "nameWithExtension": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "normalizedRawFileName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "mediaType": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "UploadedQuoteFileModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Quote as an attached file"
      },
      "UserSegmentConfirmationStatisticsModel": {
        "required": [
          "accountId",
          "date",
          "documentId",
          "language",
          "projectId",
          "userId",
          "wordcounts"
        ],
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "The date for which statistics were collected",
            "format": "date-time"
          },
          "userId": {
            "type": "string",
            "description": "User ID"
          },
          "accountId": {
            "type": "string",
            "description": "The account in which the project was created",
            "format": "uuid"
          },
          "vendorAccountId": {
            "type": "string",
            "description": "Vendor account, if the vendor is assigned and the translation was performed by the user of their account",
            "format": "uuid",
            "nullable": true
          },
          "externalTag": {
            "type": "string",
            "description": "External system tag",
            "nullable": true
          },
          "stageType": {
            "$ref": "#/components/schemas/StageType"
          },
          "projectId": {
            "type": "string",
            "description": "Project ID",
            "format": "uuid"
          },
          "documentId": {
            "minLength": 1,
            "type": "string",
            "description": "Document ID"
          },
          "language": {
            "minLength": 1,
            "type": "string",
            "description": "Target language"
          },
          "jobId": {
            "type": "string",
            "description": "Job ID, if a job was created",
            "nullable": true
          },
          "wordcounts": {
            "$ref": "#/components/schemas/SegmentConfirmationStatisticsWordcountsModel"
          },
          "changeStamp": {
            "type": "string",
            "description": "Change stamp",
            "format": "uuid"
          },
          "isConfirmedByPretranslate": {
            "type": "boolean",
            "description": "Statistics for segments confirmed by pre-translation"
          }
        },
        "additionalProperties": false,
        "description": "Item (record) model of segment acknowledgment statistics"
      },
      "VendorAssignmentModel": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "Account ID",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Agency/company name",
            "nullable": true
          },
          "canUnassign": {
            "type": "boolean",
            "description": "Specifies whether the assignment can be removed"
          },
          "rate": {
            "type": "number",
            "description": "Rate per word",
            "format": "double",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/VendorAssignmentStatus"
          }
        },
        "additionalProperties": false,
        "description": "Information about the agency/company assigned to the task Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskModel"
      },
      "VendorAssignmentRequestModel": {
        "type": "object",
        "properties": {
          "shouldAssignInShortlistStatus": {
            "type": "boolean",
            "description": "Specifies whether the vendor must be assigned with the Smartcat.AppIntegrations.Contracts.ProjectTask.Enums.VendorAssignmentStatus.Shortlisted status"
          },
          "vendorAccountId": {
            "type": "string",
            "description": "Vendor account ID",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Model for inviting a vendor to the task"
      },
      "VendorAssignmentStatus": {
        "enum": [
          "shortlisted",
          "inProgress"
        ],
        "type": "string",
        "description": "Vendor assignment status",
        "format": "int32"
      },
      "VendorModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Company name",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Custom fields",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Vendor model"
      },
      "VendorProjectCostModel": {
        "type": "object",
        "properties": {
          "vendorAccountId": {
            "type": "string",
            "description": "Vendor account ID",
            "format": "uuid"
          },
          "vendorAccountName": {
            "type": "string",
            "description": "Vendor account name",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "description": "Vendor cost",
            "format": "double",
            "nullable": true
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VendorServiceModel"
            },
            "description": "Vendor services",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Vendor cost model"
      },
      "VendorServiceModel": {
        "type": "object",
        "properties": {
          "unitCount": {
            "type": "number",
            "description": "The unit count for a vendor service",
            "format": "double",
            "nullable": true
          },
          "effectiveUnitCount": {
            "type": "number",
            "description": "Effective unit count",
            "format": "double",
            "nullable": true
          },
          "unitType": {
            "$ref": "#/components/schemas/WorkUnitType"
          }
        },
        "additionalProperties": false,
        "description": "Vendor service model"
      },
      "WizardType": {
        "enum": [
          "smartcatAutomaticProject",
          "smartcatCustomProject",
          "smartcatWebsiteProject",
          "smartcatIntegrationProject",
          "smartcatForDevelopersProject",
          "smartcatLqaProject",
          "smartcatCourseProject",
          "smartcatVideoAndSubtitles",
          "smartcatCourseGeneration",
          "smartcatImages",
          "projectTemplate",
          "serviceTemplate",
          "integrationConnection",
          "articulateCourseProject",
          "tikTokVideoTranslator"
        ],
        "type": "string",
        "description": "Wizard types",
        "format": "int32"
      },
      "WorkUnitType": {
        "enum": [
          "char",
          "word",
          "page",
          "hour",
          "minute",
          "document",
          "service",
          "day",
          "month"
        ],
        "type": "string",
        "description": "Linguist's work unit",
        "format": "int32"
      },
      "WorkflowStageInDocumentModel": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "nullable": true
          },
          "languageId": {
            "type": "integer",
            "format": "int32"
          },
          "workflowStageId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "WorkflowStageStatus": {
        "enum": [
          "notAssigned",
          "assigned",
          "inProgress",
          "completed"
        ],
        "type": "string",
        "description": "Workflow stage status",
        "format": "int32"
      }
    }
  }
}