# AUTOGENERATED. DO NOT EDIT.
# Bundled at 2026-03-03T16:53:11.833Z
openapi: "3.0.0"
info:
  title: "MotaWord API"
  description: "Use MotaWord API to post and track your translation projects."
  version: "1.0"
  x-cli-name: "motaword"
  x-cli-description: "Use MotaWord CLI to interact with your MotaWord account in many ways to manage your translation and localization needs. Visit motaword.com/developer for details."
security:
  - mwoAuth:
      - "default"
x-cli-cmd-groups:
  async:
    short: "Manage async operations"
    long: "Manage async operations"
  token:
    short: "Manage token operations"
    long: "Manage token operations"
  blog:
    short: "Manage blog articles"
    long: "Manage blog articles"
  clients:
    short: "Manage client account"
    long: "Manage client account"
  corporates:
    short: "Manage corporate account"
    long: "Manage corporate account"
    parent: "clients"
  documents:
    short: "Manage documents"
    long: "Manage documents"
  glossaries:
    short: "Manage glossaries"
    long: "Manage glossaries"
  styleguides:
    short: "Manage style guides"
    long: "Manage style guides"
  projects:
    short: "Manage projects"
    long: "Manage projects"
  activities:
    short: "Manage activities"
    long: "Manage activities"
    parent: "projects"
  translations:
    short: "Manage translations"
    long: "Manage translations"
    parent: "projects"
  project-documents:
    short: "Manage project source documents"
    long: "Manage project source documents"
    parent: "projects"
  reports:
    short: "Manage reports"
    long: "Manage reports"
  search:
    short: "Manage search operations"
    long: "Manage search operations"
  static:
    short: "Manage static endpoints"
    long: "Manage static endpoints"
  stats:
    short: "Manage stats"
    long: "Manage stats"
  strings:
    short: "Manage strings"
    long: "Manage strings"
  users:
    short: "Manage users"
    long: "Manage users"
  vendors:
    short: "Manage vendors"
    long: "Manage vendors"
    parent: "users"
  webhooks:
    short: "Manage webhooks"
    long: "Manage webhooks"
  continuous-projects:
    short: "Manage your continuous projects"
    long: "Manage your continuous localization or translation projects"
paths:
  /token:
    post:
      summary: "Retrieve an access token"
      description: "MotaWord API is using OAuth2 procedures when authenticating or authorizing your API call.\n"
      operationId: "getAccessToken"
      x-cli-cmd-group: "auth"
      tags:
        - "Auth"
      security:
        - basicAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TokenRequest"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/TokenRequest"
      responses:
        200:
          description: "Authentication response"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Token"
        default:
          description: "Authentication error - for vendor auth, it will also fail if their account is not approved yet. In that case, the error response will include \"account_status\" key."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TokenError"
  /oauth/token:
    post:
      summary: "Retrieve an access token"
      description: "MotaWord API is using OAuth2 procedures when authenticating or authorizing your API call.\n"
      operationId: "getOAuthAccessToken"
      x-cli-cmd-group: "auth"
      tags:
        - "Auth"
      security:
        - basicAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TokenRequest"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/TokenRequest"
      responses:
        200:
          description: "Authentication response"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Token"
        default:
          description: "Authentication error - for vendor auth, it will also fail if their account is not approved yet. In that case, the error response will include \"account_status\" key."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TokenError"
  /languages:
    get:
      summary: "List of supported languages"
      description: "Get a list of supported languages"
      operationId: "getLanguages"
      security: []
      responses:
        200:
          description: "A list of supported languages"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Language"
      x-cli-cmd-group: "static"
      tags:
        - "Static"
    post:
      summary: "Convert a language code to MotaWord supported code"
      description: "Convert a language code to MotaWord supported code"
      operationId: "convertLanguageCode"
      x-cli-cmd-group: "static"
      tags:
        - "Static"
      requestBody:
        description: "code is required"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Language"
      responses:
        200:
          description: "Converted language code"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Language"
        406:
          description: "Language code was converted, but MotaWord does not support this language."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Language"
  /swagger:
    get:
      summary: "OpenAPI YAML representation of our API"
      description: "Get Swagger YAML"
      operationId: "getSwaggerYaml"
      responses:
        200:
          description: "Swagger YAML"
          content:
            text/yaml:
              schema:
                type: "string"
      x-cli-cmd-group: "static"
      tags:
        - "Static"
  /formats:
    get:
      summary: "List of supported file formats"
      description: "Get a list of supported formats for documents, style guides and extensions.\n"
      operationId: "getFormats"
      security: []
      responses:
        200:
          description: "A list of supported formats"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Formats"
      x-cli-cmd-group: "static"
      tags:
        - "Static"
  /password:
    post:
      summary: "Update your account password"
      description: "Password should contain at least one uppercase, lowercase character and one number"
      operationId: "updatePassword"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PasswordUpdateContent"
      responses:
        200:
          description: "Successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /payment:
    get:
      summary: "View your payment and billing info"
      description: "Returns billing and saved credit card information for user, and their corporate account if present & allowed."
      operationId: "getPaymentInfo"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      responses:
        200:
          description: "Returns billing and saved card information for user, and their corporate if present."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PaymentInfo"
        404:
          description: "UserNotFound UnauthorizedUser"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Update payment info"
      description: "Update your billing and saved credit card information"
      operationId: "updatePaymentInfo"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdatePaymentInfo"
      responses:
        200:
          description: "Successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PaymentInfo"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /payment/reset-corporate-payment-code:
    post:
      summary: "Reset payment code"
      description: "Reset your corporate account's payment code to bypass credit card payment. This will invalidate your current payment code and your users should be aware of this change while ordering translations."
      operationId: "resetCorporatePaymentCode"
      x-cli-cmd-group: "payment"
      tags:
        - "Payment"
      responses:
        200:
          description: "Credit card content"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreditCard"
        404:
          description: "UserNotFound UnauthorizedUser MissingCorporateAccount"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /payment/toggle-corporate-auto-charge:
    post:
      summary: "Manage automatic charges on your credit card"
      description: "Toggle (enable/disable) automatic charges on the credit card on file."
      operationId: "toggleCorporateAutoCharge"
      x-cli-cmd-group: "payment"
      tags:
        - "Payment"
      responses:
        200:
          description: "Successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "UserNotFound UnauthorizedUser MissingCorporateAccount"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /payment/{cardId}:
    get:
      summary: "View saved credit card"
      operationId: "getCreditCard"
      parameters:
        - name: "cardId"
          in: "path"
          description: "Credit Card ID"
          required: true
          schema:
            type: "integer"
            format: "int64"
          example: 4242424242424242
      x-cli-cmd-group: "payment"
      tags:
        - "Payment"
      responses:
        200:
          description: "Credit card content"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreditCard"
        404:
          description: "MissingCreditCard"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /payment/{cardId}/reset-payment-code:
    post:
      summary: "Reset credit card payment code"
      description: "Reset the payment code used to bypass credit card payment. This will invalidate your current payment code and your users should be aware of this change while ordering translations."
      operationId: "resetCardPaymentCode"
      parameters:
        - name: "cardId"
          in: "path"
          description: "Credit Card ID"
          required: true
          schema:
            type: "integer"
            format: "int64"
          example: 4242424242424242
      x-cli-cmd-group: "payment"
      tags:
        - "Payment"
      responses:
        200:
          description: "Credit card content"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreditCard"
        404:
          description: "UserNotFound MissingCorporateAccount MissingParameter MissingCreditCard UnauthorizedUser"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /payment/{cardId}/delete:
    delete:
      summary: "Delete credit card"
      operationId: "deleteCreditCard"
      parameters:
        - name: "cardId"
          in: "path"
          description: "Credit Card ID"
          required: true
          schema:
            type: "integer"
            format: "int64"
          example: 4242424242424242
      x-cli-cmd-group: "payment"
      tags:
        - "Payment"
      responses:
        200:
          description: "Successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "UserNotFound MissingCorporateAccount MissingParameter MissingCreditCard UnauthorizedUser"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /delete-account:
    delete:
      summary: "Delete your account"
      description: "Delete your MotaWord account. Be careful; once deleted, you will not have access to MotaWord via API or your dashboards."
      operationId: "deleteAccount"
      responses:
        200:
          description: "Successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
      x-cli-cmd-group: "users"
      tags:
        - "User"
  /freeze-account:
    post:
      summary: "Freeze account"
      description: "Freeze your account temporarily, especially to stop receiving project notifications."
      operationId: "freezeAccount"
      responses:
        200:
          description: "Successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        304:
          description: "Account is already frozen for notifications"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
      x-cli-cmd-group: "users"
      tags:
        - "User"
  /unfreeze-account:
    post:
      summary: "Defreeze your account"
      description: "Reactive your account to start receiving notifications."
      operationId: "unfreezeAccount"
      responses:
        200:
          description: "Successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        304:
          description: "Account is already unfrozen for notifications"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
      x-cli-cmd-group: "users"
      tags:
        - "User"
  /me:
    get:
      summary: "View your account info"
      description: "Get your user information, including client, corporate account and vendor account information."
      operationId: "getMe"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      responses:
        200:
          description: "User summary"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Update your account info"
      operationId: "updateMe"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserUpdateContent"
      responses:
        200:
          description: "User info"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
        400:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /users/tags:
    get:
      summary: "Returns all vendor tags for vendors filter"
      description: "Returns all vendor tags for vendors filter"
      operationId: "getAllVendorTags"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      responses:
        200:
          description: "Successful response tag list"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/VendorTag"
  /users/vendor-groups:
    get:
      summary: "Get Vendor Groups"
      description: "Retrieve a list of vendor groups."
      operationId: "getAllVendorGroups"
      tags:
        - "User"
      responses:
        200:
          description: "Successful response"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VendorGroupList"
  /users/filter:
    post:
      summary: "Filter vendors based on provided parameters"
      description: "Get a list of vendors available for the criteria given"
      operationId: "getFilteredVendors"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      parameters:
        - name: "page"
          in: "query"
          description: "The page number"
          required: false
          schema:
            type: "integer"
        - name: "per_page"
          in: "query"
          description: "The number of items per page"
          required: false
          schema:
            type: "integer"
        - name: "order_by"
          in: "query"
          description: "The field to order the results by"
          required: false
          schema:
            type: "string"
        - name: "order"
          in: "query"
          description: "The order to sort the results by (ascending or descending)"
          required: false
          schema:
            type: "string"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/FilterVendorRequest"
      responses:
        200:
          description: "Successful response User List or Downloads List of Filtered Vendors if given is_export true"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserList"
  /users/filter/download:
    post:
      summary: "Filter vendors based on provided parameters and downlaod it"
      description: "Download a list of vendors available for the criteria given"
      operationId: "downloadFilteredVendors"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      parameters:
        - name: "page"
          in: "query"
          description: "The page number"
          required: false
          schema:
            type: "integer"
        - name: "per_page"
          in: "query"
          description: "The number of items per page"
          required: false
          schema:
            type: "integer"
        - name: "order_by"
          in: "query"
          description: "The field to order the results by"
          required: false
          schema:
            type: "string"
        - name: "order"
          in: "query"
          description: "The order to sort the results by (ascending or descending)"
          required: false
          schema:
            type: "string"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/FilterVendorRequest"
      responses:
        200:
          description: "Successful Downloads List of Filtered Vendors if given is_export true"
          content:
            application/octet-stream:
              schema:
                type: "string"
                format: "binary"
  /stats:
    get:
      summary: "View your account statistics"
      description: "View your client and vendor statistics."
      operationId: "getStats"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      responses:
        200:
          description: "Client and vendor statistics for your account"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Stats"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /stats/projects:
    get:
      summary: "View your project statistics"
      operationId: "getProjectStats"
      x-cli-cmd-group: "stats"
      tags:
        - "Stats"
      responses:
        200:
          description: "Project statistics for your account"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientProjectStats"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /stats/strings:
    get:
      summary: "View your translation statistics"
      operationId: "getStringStats"
      x-cli-cmd-group: "stats"
      tags:
        - "Stats"
      responses:
        200:
          description: "Translation statistics for your account"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientStringStats"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /stats/popular-pairs:
    get:
      summary: "View your popular language pairs"
      operationId: "getPopularPairs"
      x-cli-cmd-group: "stats"
      tags:
        - "Stats"
      responses:
        200:
          description: "Your most ordered language pairs"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PopularLanguagePairs"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /reports/users:
    post:
      summary: "Company users report"
      description: "View translation reports for each user under your company account. You need the permission to view users in your company."
      operationId: "getUsersReport"
      x-cli-cmd-group: "reports"
      tags:
        - "Report"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ReportFilter"
      responses:
        200:
          description: "User stats for client and vendors"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UsersReport"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /reports/language-pairs:
    post:
      summary: "Language pairs report"
      description: "View translation reports for each language pair with translations under your account. You can view company-wide language pairs if you have the user permission."
      operationId: "getLanguagePairsReport"
      x-cli-cmd-group: "reports"
      tags:
        - "Report"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ReportFilter"
      responses:
        200:
          description: "Language pairs stats for client and vendors"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LanguagePairsReport"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /reports/projects:
    post:
      summary: "Projects report"
      description: "View projects under your account, with advanced filtering. You can view company-wide projects if you have the user permission."
      operationId: "getProjectsReport"
      x-cli-cmd-group: "reports"
      tags:
        - "Report"
      parameters:
        - in: "query"
          name: "with[]"
          required: false
          schema:
            $ref: "#/components/schemas/EnrichProjectWith"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ReportFilter"
      responses:
        200:
          description: "User stats for client and vendors"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProjectList"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /reports/filter:
    post:
      summary: "Returns available options for selected timeframe."
      operationId: "getFilterContents"
      x-cli-cmd-group: "reports"
      tags:
        - "Report"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/FilterDates"
      responses:
        200:
          description: "Filter contents"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/FilterContents"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /earnings:
    get:
      summary: "View your vendor earnings"
      description: "View your vendor earnings from your translation activites. Includes real-time earnings from ongoing projects, and fixed earnings from completed projects, as well as total earnings and string edits."
      operationId: "getEarnings"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      responses:
        200:
          description: "Earnings for vendors"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Earnings"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /responsivity:
    get:
      summary: "View your vendor responsiveness"
      description: "View your statistical analysis of responsiveness to our translation projects, invitations, notifications and such."
      operationId: "getResponsivity"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      parameters:
        - name: "period"
          description: "Time period to calculate your responsiveness"
          in: "query"
          schema:
            type: "string"
            default: "monthly"
            enum:
              - "monthly"
              - "weekly"
      responses:
        200:
          description: "Vendor responsivity stats"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResponsivityList"
        400:
          description: "VendorNotFound - this is not a vendor user account"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /profile-picture:
    post:
      summary: "Upload profile picture"
      description: "Upload a profile picture on your account. This is used where your profile is mentioned throughout the platform. Your picture is not used publicly."
      operationId: "uploadProfilePicture"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProfilePictureUpload"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/ProfilePictureUpload"
      responses:
        200:
          description: "Successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        400:
          description: "Email already exists"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /permissions:
    get:
      summary: "View your permissions"
      description: "View a list of permissions that your user account is authorized for, configured either by default, or by your account administator."
      operationId: "getPermissions"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      responses:
        200:
          description: "List of permission strings"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PermissionList"
  /permissions/{token}:
    post:
      summary: "Add object permission to the user, defined and authorized by token"
      description: "Add object permission to the user, defined and authorized by token"
      operationId: "setUserPermission"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      parameters:
        - in: "path"
          name: "token"
          required: true
          description: "Permission Token"
          schema:
            type: "string"
      responses:
        200:
          description: "Permission Detail"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PermissionDetail"
        404:
          description: "UserNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /user-groups:
    get:
      summary: "View your user groups"
      description: "View the user groups that your user account belongs to. This is typically configured by your account administator's dashboard."
      operationId: "getUserGroups"
      x-cli-cmd-group: "users"
      tags:
        - "User"
      responses:
        200:
          description: "List of user groups"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserGroupList"
  /documents/subjects:
    get:
      summary: "Get a list of subjects of projects"
      description: "Get a list of subjects of projects"
      operationId: "getAllDocumentSubjects"
      x-cli-cmd-group: "documents"
      tags:
        - "Document"
      responses:
        200:
          description: "List of subjects of all projects."
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DocumentSubjects"
  /documents:
    get:
      summary: "View your documents"
      description: "View a list of files and documents that you have translations for. This endpoint lets you view your MotaWord account as a multilingual translated file repository, without needing to go through your projects to interact with files in them."
      operationId: "getDocuments"
      x-cli-cmd-group: "documents"
      tags:
        - "Document"
      parameters:
        - in: "query"
          name: "recent"
          description: "When true, this will return the most 4 recent active documents."
          required: false
          schema:
            type: "boolean"
            default: 0
        - in: "query"
          name: "search"
          required: false
          schema:
            type: "string"
        - in: "query"
          name: "type_filter"
          required: false
          schema:
            type: "string"
            default: "ALL"
            enum:
              - "ALL"
              - "TEXT_DOCUMENTS"
              - "PRESENTATIONS"
              - "SPREADSHEETS"
              - "PDFS"
              - "IMAGES"
              - "SUBTITLES"
              - "DESIGNS"
              - "LOCALIZATION"
              - "WEB"
              - "STYLE_GUIDES"
              - "GLOSSARIES"
        - name: "language_code"
          in: "query"
          description: "searches in source language of documents, in source and target languages of document's quote"
          required: false
          schema:
            type: "string"
        - in: "query"
          name: "page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 1
        - in: "query"
          name: "per_page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 10
        - in: "query"
          name: "order_by"
          required: false
          schema:
            type: "string"
            enum:
              - "id"
              - "updated_at"
              - "created_at"
              - "name"
            default: "updated_at"
        - in: "query"
          name: "order_type"
          required: false
          schema:
            $ref: "#/components/schemas/ListOrderType"
            default: "desc"
        - in: "query"
          name: "with[]"
          required: false
          description: "Attach further information. Possible values 'preview' to fetch temporary preview URLs. This is NOT recommended to be used with list calls. Only use with[]=preview for single document/style guide calls."
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "preview"
                - "editors"
      responses:
        200:
          description: "Document list"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DocumentList"
  /documents/{documentId}:
    get:
      summary: "View a single document"
      description: "View a single document from your MotaWord account with its translation info."
      operationId: "getDocument"
      x-cli-cmd-group: "documents"
      tags:
        - "Document"
      parameters:
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID or filename"
          schema:
            type: "string"
          example: "179469"
      responses:
        200:
          description: "Document"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProjectDocument"
  /documents/{documentId}/progress:
    get:
      summary: "View a document translation progress"
      description: "View the translation or proofreading progress of a document in your account. You can also track the progress of a document under the project that it was ordered with."
      operationId: "getDocumentProgress"
      x-cli-cmd-group: "documents"
      tags:
        - "Document"
      parameters:
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID"
          schema:
            type: "number"
          example: 179469
      responses:
        200:
          description: "Progress information"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Progress"
        404:
          description: "DocumentNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects:
    get:
      summary: "View your translation projects"
      description: "View the translation projects ordered in your account. If you have the related permission (configured by your account administrator), you can view the projects of your colleagues under the same company account."
      operationId: "getProjects"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "query"
          name: "page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 1
        - in: "query"
          name: "per_page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 10
        - in: "query"
          name: "status[]"
          required: false
          description: "Filter projects by status. Accepts multiple statuses. Possible values 'pending', 'started', 'completed'"
          schema:
            type: "array"
            items:
              $ref: "#/components/schemas/ProjectStatus"
              description: "progress-related project status enums are not supported, such as \"translated\", \"proofread\"."
        - in: "query"
          deprecated: true
          description: "deprecated. use `status[]` param."
          name: "with_pending"
          required: false
          schema:
            type: "boolean"
            default: true
        - in: "query"
          deprecated: true
          description: "deprecated. use `status[]` param."
          name: "with_started"
          required: false
          schema:
            type: "boolean"
            default: true
        - in: "query"
          deprecated: true
          description: "deprecated. use `status[]` param."
          name: "with_completed"
          required: false
          schema:
            type: "boolean"
            default: true
        - in: "query"
          name: "order_by"
          required: false
          schema:
            type: "string"
            enum:
              - "id"
              - "status"
              - "delivery"
              - "price"
            default: "id"
        - in: "query"
          name: "order_type"
          required: false
          schema:
            $ref: "#/components/schemas/ListOrderType"
            default: "desc"
        - in: "query"
          name: "with[]"
          required: false
          description: "Include detailed information. Possible values 'client', 'vendor', 'documents'."
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "client"
                - "vendor"
                - "documents"
                - "receipt"
                - "score"
                - "preview"
                - "editors"
                - "delay"
                - "notes"
                - "cxml"
      responses:
        200:
          description: "Project list"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProjectList"
    post:
      summary: "Create a new project"
      description: "Create a new translation project. Projects are not launched (you are not charged) until you `/launch` the created project."
      operationId: "createProject"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "query"
          name: "with[]"
          required: false
          description: "Include detailed information. Possible values 'client', 'vendor', 'documents'."
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "client"
                - "vendor"
                - "documents"
                - "delay"
                - "notes"
                - "cxml"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NewProject"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/NewProject"
      responses:
        200:
          description: "Newly created project"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Project"
        400:
          description: "FileTooLarge FileTooSmall FileWasAlreadyUploaded"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        405:
          description: "UnsupportedDocumentFormat UnsupportedStyleGuideFormat UnsupportedGlossaryFormat"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        406:
          description: "UnsupportedLanguage TooManyGlossaries ProjectAlreadyHasGlossary"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        500:
          description: "ProjectInsertFailed"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/permissions:
    get:
      summary: "Get available permissions"
      description: "Retrieve a list of available permissions for projects. This can be used to show a list of permissions to give to a user. These are not actual permissions given to the user, but a default list of available permissions."
      operationId: "getAvailableProjectPermissions"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "query"
          name: "types[]"
          required: false
          description: "The types of permissions to retrieve. Possible values are 'quotes', 'quote_file', etc."
          schema:
            type: "array"
            items:
              type: "string"
      responses:
        200:
          description: "Permissions list"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AvailablePermission"
        404:
          description: "PermissionsNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/permissions:
    get:
      summary: "Get a project's permissions"
      description: "Retrieves a list of permissions associated with a specific project."
      operationId: "getProjectSharePermissions"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "The ID of the project whose permissions are being retrieved"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "List of project permissions"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SharePermissionList"
        404:
          description: "Project not found"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Add permissions to a project"
      description: "Allows adding new permissions to a specific project."
      operationId: "addProjectSharePermissions"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "The ID of the project whose permissions are being retrieved"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        description: "A list of permissions to add to the project."
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ShareAddPermissionList"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/ShareAddPermissionList"
      responses:
        200:
          description: "Permissions successfully added"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SharePermissionList"
        404:
          description: "Project not found"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/permissions/{permissionId}:
    put:
      summary: "Update a project's permission"
      description: "Updates an existing permission for a specific project."
      operationId: "updateProjectSharePermissions"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "The ID of the project whose permissions are being retrieved"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "permissionId"
          required: true
          description: "The ID of the permission to update."
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        description: "The permission data to be updated."
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PermissionDetail"
      responses:
        200:
          description: "Permission successfully updated"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PermissionDetail"
        404:
          description: "Project or permission not found"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/share/permission:
    post:
      summary: "Check and authorize user"
      description: "Checks a user's permissions based on a given project ID and token, then authorizes the user if applicable. The user ID is provided in the request body."
      operationId: "checkAndAuthorizeUser"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AuthorizeDetail"
      responses:
        200:
          description: "User is authorized"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PermissionDetail"
        400:
          description: "Bad Request (missing or invalid userId)"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        401:
          description: "Unauthorized"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "Project not found"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}:
    get:
      summary: "View a translation project"
      description: "View the details of a translation project in your account."
      operationId: "getProject"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "p"
          required: false
          description: "Your pass key for the project. This lets you share your quote payment page publicly."
          schema:
            type: "string"
        - in: "query"
          name: "with[]"
          required: false
          description: "Include detailed information. Possible values 'client', 'vendor', 'score'"
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "client"
                - "vendor"
                - "score"
                - "documents"
                - "receipt"
                - "permissions"
                - "delay"
                - "notes"
                - "cxml"
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Project model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Project"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    put:
      summary: "Update project info and settings"
      operationId: "updateProject"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "with[]"
          required: false
          description: "Include detailed information. Possible values 'client', 'vendor', 'documents'."
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "client"
                - "vendor"
                - "documents"
                - "delay"
                - "notes"
                - "cxml"
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProjectUpdate"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/ProjectUpdate"
      responses:
        200:
          description: "Updated project"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Project"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        406:
          description: "UnsupportedLanguage"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    delete:
      summary: "Delete your translation project"
      description: "If you haven't launched your translation project yet, we will delete it. If MotaWord already started working on your project, we will cancel the project and refund the volume that we haven't worked on yet."
      operationId: "deleteProject"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "reason"
          required: false
          description: "Reason for canceling the project"
          schema:
            type: "string"
          example: "Client requested cancellation"
      responses:
        200:
          description: "Project canceled successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/webhooks:
    get:
      summary: "View project webhooks"
      description: "This endpoint returns Project entity which contains `callback_url` field for webhook URL. Currently projects can have only 1 webhook registered."
      operationId: "getProjectWebhooks"
      x-cli-cmd-group: "webhooks"
      tags:
        - "Project Webhooks"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Project model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Project"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Update project webhook"
      description: "Update project webhook URL"
      operationId: "postProjectWebhook"
      x-cli-cmd-group: "webhooks"
      tags:
        - "Project Webhooks"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Webhook"
      responses:
        200:
          description: "Updated project"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Project"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    put:
      summary: "Update project webhook"
      description: "Update project webhook URL"
      operationId: "updateProjectWebhook"
      x-cli-cmd-group: "webhooks"
      tags:
        - "Project Webhooks"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Webhook"
      responses:
        200:
          description: "Updated project"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Project"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    delete:
      summary: "Delete project webhooks"
      description: "Delete project webhooks. Projects currently support registering only 1 webhook. This endpoint deletes the previously registered webhook."
      operationId: "deleteProjectWebhook"
      x-cli-cmd-group: "webhooks"
      tags:
        - "Project Webhooks"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Project webhook deleted successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/vendor:
    get:
      summary: "List projects as a vendor"
      description: "Get a list of projects that are available to you to work on as a vendor. This is not a list of projects that you ordered as a customer."
      operationId: "getVendorProjects"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "query"
          name: "joined"
          required: false
          description: "Return only projects that this user has already joined"
          schema:
            type: "boolean"
        - in: "query"
          name: "completed"
          required: false
          description: "Return only projects that have been completed. When `true`, this makes `joined` true as well."
          schema:
            type: "boolean"
        - in: "query"
          name: "page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 1
        - in: "query"
          name: "per_page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 10
      responses:
        200:
          description: "Vendor project list"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProjectList"
        400:
          description: "VendorNotFound - this is not a vendor user account"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/launch:
    post:
      summary: "Launch your translation project"
      description: "Launch your translation project so MotaWord can actually start working on your translation."
      operationId: "launchProject"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProjectPayment"
      responses:
        200:
          description: "Project launched successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProjectLaunchResponse"
        400:
          description: "MissingPaymentCode MissingCorporateAccount MissingPaymentMethod"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        401:
          description: "CorporateAccountNotAllowedForApiPayment ApiClientMissingPaymentInformation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/cancel:
    post:
      summary: "Cancel your translation project"
      description: "If you haven't launched your translation project yet, we will delete it. If MotaWord already started working on your project, we will cancel the project and refund the volume that we haven't worked on yet."
      operationId: "cancelProject"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CancelProjectRequest"
      responses:
        200:
          description: "Project canceled successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/reports:
    post:
      summary: "Submit feedback report for a project"
      operationId: "submitProjectReports"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ReportContent"
      responses:
        200:
          description: "Report submitted successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        400:
          description: "MissingMessage"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/progress:
    get:
      summary: "View progress of a project"
      description: "Monitor the translation progress of an already launched project in real-time."
      operationId: "getProgress"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "raw"
          description: "This will return a more raw progress information for translation and proofreading. For instance, when completed, we will return 100% for both tasks by default, whereas their actual progress may be lower than 100%."
          schema:
            type: "boolean"
            default: false
      responses:
        200:
          description: "Progress information"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Progress"
        402:
          description: "ProjectNotLaunchedYet"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/deliver:
    post:
      summary: "Deliver project"
      description: "Deliver project to the owner of the project. You can also download your translations in `/package` and `/download` endpoints."
      operationId: "deliverProject"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Operation started successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/email-quote:
    post:
      summary: "Send a quote email"
      description: "Send a quote email"
      operationId: "sendQuoteEmail"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Email sent successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/package:
    post:
      summary: "Package your translated project"
      description: "Package the translations in your project, prepare translated documents and make it ready to be downloaded. Once packaged, you can download your translated project."
      operationId: "package"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "async"
          description: "If you want to package and download the translation synchronously, mark this parameter as '0'. It will package the translation and then return the packaged file in the response, identical to /download call after an asynchronous /package call."
          schema:
            type: "integer"
            format: "int64"
            default: 0
      responses:
        200:
          description: "Packaged translation streamed."
          content:
            application/octet-stream:
              schema:
                type: "string"
                format: "binary"
        402:
          description: "ProjectNotLaunchedYet"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "TranslationPackageNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/package/{language}:
    post:
      summary: "Package your translated project language"
      description: "Package the translations in your project for a specific target language, prepare translated documents and make it ready to be downloaded. Once packaged, you can download your translated project in this target language."
      operationId: "packageLanguage"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "language"
          required: true
          description: "Language code. You can package the translation of only a specific language."
          schema:
            type: "string"
          example: "en-US"
        - in: "query"
          name: "async"
          description: "If you want to package and download the translation synchronously, mark this parameter as '0'. It will package the translation and then return the packaged file in the response, identical to /download call after an asynchronous /package call."
          schema:
            type: "integer"
            format: "int64"
            default: 0
      responses:
        200:
          description: "Packaging status and tracking code. With the package key, you can track the progress of translation packaging.Also packaged translation streamed."
          content:
            application/octet-stream:
              schema:
                type: "string"
                format: "binary"
            application/json:
              schema:
                $ref: "#/components/schemas/Package"
        402:
          description: "ProjectNotLaunchedYet"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "TranslationPackageNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/package/check:
    get:
      summary: "Track translation packaging status"
      description: "Track the packaging status of your translations, by using the `key` from packaging request. Once packaging is completed, you can download your translations via `/download` endpoints."
      operationId: "trackPackage"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "key"
          description: "This is the package tracking key provided in the response of a /package call."
          schema:
            type: "string"
      responses:
        200:
          description: "Current status of packaging process."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PackageStatus"
        402:
          description: "ProjectNotLaunchedYet"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "PackagingStatusMissing"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/download:
    get:
      summary: "Download your translated project"
      description: "Download the latest translation package. You must have requested a `/package` call beforehand and wait until the packaging status is 'completed'."
      operationId: "download"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Translation package streamed. The streamed file is always a ZIP file, except when the API client is configured for Drupal and Wordpress."
          content:
            application/octet-stream:
              schema:
                type: "string"
                format: "binary"
        402:
          description: "ProjectNotLaunchedYet"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "TranslationPackageNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/download/{language}:
    get:
      summary: "Download your translated project language"
      description: "Download the latest translation package for your target language. You must have requested a `/package` call beforehand and wait until the packaging status is 'completed'."
      operationId: "downloadLanguage"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "language"
          required: true
          description: "Language code. You can download the translation of only a specific language."
          schema:
            type: "string"
          example: "en-US"
      responses:
        200:
          description: "Translation package streamed. The streamed file is always a ZIP file, except when the API client is configured for Drupal and Wordpress."
          content:
            application/octet-stream:
              schema:
                type: "string"
                format: "binary"
        402:
          description: "ProjectNotLaunchedYet"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "TranslationPackageNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/translate/{targetLanguage}:
    post:
      summary: "Instantly translate your content"
      description: "Instantly translate your content with your existing TM and MT resources for regular translation projects."
      operationId: "translateProject"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "targetLanguage"
          required: true
          description: "Target language that you want to instantly translate your content into. By default, it's all of project's target languages."
          schema:
            type: "string"
          example: "en-US"
        - in: "query"
          name: "sync"
          required: false
          description: "When given, we will process your request in our persistent flow. This is much slower, but ensures translation persistence in all of our infrastructure."
          schema:
            type: "boolean"
            default: 0
        - in: "query"
          name: "mtEnabled"
          required: false
          description: "Enable or disable machine translation. When not specified, the default MT settings for the project will be used."
          schema:
            type: "boolean"
        - in: "query"
          name: "returnObjectWithBase64"
          required: false
          description: "When set to true, skips the single binary download logic and returns the response in JSON format instead of downloading the file directly."
          schema:
            type: "boolean"
            default: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/InstantTranslationRequest"
      responses:
        200:
          description: "Instant translation result. It may return a list of translated strings, or a list of translated files."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InstantTranslationResult"
        402:
          description: "ProjectNotLaunchedYet | ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        422:
          description: "UnsupportedLanguage"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/strings:
    get:
      summary: "View project strings and translations"
      description: "View the strings and their translations in your translation project, for all target languages. The list of translations is live if your project is not completed yet. If you need the translated version of your source document/file, then you need to use package and download endpoints."
      operationId: "getProjectStrings"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Response for strings and their translations"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StringList"
  /projects/{projectId}/strings/{language}:
    get:
      summary: "View strings and translations for target language"
      description: "View the strings and their translations in your translation project for the specified target language. The list of translations is live if your project is not completed yet. If you need the translated version of your source document/file, then you need to use package and download endpoints."
      operationId: "getProjectStringsForLanguage"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "language"
          required: true
          description: "Target language code"
          schema:
            type: "string"
          example: "en-US"
      responses:
        200:
          description: "Response for strings and their translations"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StringList"
  /projects/{projectId}/strings/package:
    post:
      summary: "Download project translation memory"
      description: "Package and download project translation memory in TMX format"
      operationId: "packageProjectTranslationMemory"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "async"
          description: "If you want to package and download the translation memory synchronously, mark this parameter as '0'. It will package the translation memory and then return the packaged file in the response, identical to async/download call after an asynchronous /package call."
          schema:
            type: "integer"
            format: "int64"
            default: 0
        - in: "query"
          name: "format"
          required: false
          description: "Translation Memory file format"
          schema:
            type: "string"
            default: "tmx"
      responses:
        200:
          description: "Response in TMX or async request"
          content:
            application/xml:
              schema:
                type: "string"
                format: "binary"
            application/json:
              schema:
                $ref: "#/components/schemas/AsyncOperationStatus"
  /projects/{projectId}/strings/package/status:
    get:
      summary: "Check translation memory packaging status"
      description: "Check translation memory packaging status for async packaging requests, using the key returned from strings/package call."
      operationId: "packageProjectTranslationMemoryStatus"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - name: "async_request_key"
          in: "query"
          description: "Async operation key"
          required: true
          schema:
            type: "string"
          example: "f0db2468-6b77-41a4-bafe-70157bc166ad"
      responses:
        200:
          description: "Async operation status. Use the key to query status of this operation."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AsyncOperationStatus"
  /projects/{projectId}/strings/{languageCode}/package:
    post:
      summary: "Download language-specific project translation memory"
      description: "Package and download project translation memory in TMX format for a specific target language."
      operationId: "packageProjectTranslationMemoryForLanguage"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "languageCode"
          required: true
          description: "Language Code"
          schema:
            type: "string"
          example: "en-US"
        - in: "query"
          name: "async"
          description: "If you want to package and download the translation memory synchronously, mark this parameter as '0'. It will package the translation memory and then return the packaged file in the response, identical to async/download call after an asynchronous /package call."
          schema:
            type: "integer"
            format: "int64"
            default: 0
        - in: "query"
          name: "format"
          required: false
          description: "Translation Memory file format"
          schema:
            type: "string"
            default: "tmx"
      responses:
        200:
          description: "Response in TMX or async request"
          content:
            application/xml:
              schema:
                type: "string"
                format: "binary"
            application/json:
              schema:
                $ref: "#/components/schemas/AsyncOperationStatus"
  /projects/{projectId}/strings/{languageCode}/package/status:
    get:
      summary: "Check language-specific translation memory packaging status"
      description: "Check translation memory packaging status for async packaging requests, using the key returned from strings/package call."
      operationId: "packageProjectTranslationMemoryForLanguageStatus"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "languageCode"
          required: true
          description: "Language Code"
          schema:
            type: "string"
          example: "en-US"
        - name: "async_request_key"
          in: "query"
          description: "Async operation key"
          required: true
          schema:
            type: "string"
          example: "f0db2468-6b77-41a4-bafe-70157bc166ad"
      responses:
        200:
          description: "Async operation status. Use the key to query status of this operation."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AsyncOperationStatus"
  /strings:
    get:
      summary: "View account strings (translation memory)"
      description: "Get a list of all strings and their translations under your account, from all projects. This is your MotaWord translation memory. If you have the related permission, this endpoint will also return strings from your company account."
      operationId: "getStrings"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "query"
          name: "source_language"
          required: false
          description: "Source Language Code"
          schema:
            type: "string"
        - in: "query"
          name: "page"
          required: false
          description: "Requested page"
          schema:
            type: "integer"
            format: "int64"
            default: 0
      responses:
        200:
          description: "List of strings in JSON"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientStrings"
    put:
      summary: "Update string translation"
      description: "Update the translation of a string from your account strings/translation memory."
      operationId: "updateTranslationMemoryUnit"
      tags:
        - "Strings"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TranslationMemoryUnit"
      responses:
        200:
          description: "Translation updated by adding new translation memory unit"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        400:
          description: "Corporate id, source language, target language, source string or target string is not provided"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "Source language or target language is not found"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        500:
          description: "Something went wrong and translation unit is not updated"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /strings/{languageCode}/package:
    post:
      summary: "Download account translation memory"
      description: "Package and download account translation memory in TMX format. If you have the related permission, this will also download your company translation memory."
      operationId: "packageUserTranslationMemory"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "languageCode"
          required: true
          description: "Source Language Code"
          schema:
            type: "string"
          example: "en-US"
        - in: "query"
          name: "async"
          description: "If you want to package and download the translation memory synchronously, mark this parameter as '0'. It will package the translation memory and then return the packaged file in the response, identical to async/download call after an asynchronous /package call."
          schema:
            type: "integer"
            format: "int64"
            default: 0
        - in: "query"
          name: "email"
          description: "If you don't need us to email the TMX, set this to '0'. Default is 1."
          schema:
            type: "integer"
            format: "int64"
            default: 1
      responses:
        200:
          description: "Response in TMX or async request"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AsyncOperationStatus"
            application/xml:
              schema:
                type: "string"
                format: "binary"
  /strings/{languageCode}/package/status:
    get:
      summary: "Check account translation memory packaging status"
      description: "Check translation memory packaging status for async packaging requests, using the key returned from strings/package call."
      operationId: "packageUserTranslationMemoryForLanguageStatus"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "languageCode"
          required: true
          description: "Language Code"
          schema:
            type: "string"
          example: "en-US"
        - name: "async_request_key"
          in: "query"
          description: "Async operation key"
          required: true
          schema:
            type: "string"
          example: "f0db2468-6b77-41a4-bafe-70157bc166ad"
      responses:
        200:
          description: "Async operation status. Use the key to query status of this operation."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AsyncOperationStatus"
  /projects/{id}/invoice:
    get:
      summary: "View project invoice"
      description: "View your invoice details for your translation project."
      operationId: "getInvoice"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Invoice"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Invoice"
        404:
          description: "ProjectNotFound or InvoiceNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/invoice.pdf:
    get:
      summary: "Download project invoice (PDF)"
      description: "Download your project invoice as PDF. Your invoice may be in \"unpaid\" status, in which case youn can see the payment instructions in the PDF file."
      operationId: "downloadPdfInvoice"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Invoice"
          content:
            application/pdf:
              schema:
                type: "string"
                format: "binary"
        404:
          description: "ProjectNotFound or InvoiceNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{id}/invoice.html:
    get:
      summary: "Download project invoice (HTML)"
      description: "Download your project invoice as HTML. This is useful when you want to show your users the invoice in a webpage."
      operationId: "downloadHtmlInvoice"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Invoice"
          content:
            text/html:
              schema:
                type: "string"
        404:
          description: "ProjectNotFound or InvoiceNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/documents:
    get:
      summary: "View project source documents"
      description: "Get a list of source files you uploaded to be translated in your project."
      operationId: "getProjectDocuments"
      x-cli-cmd-group: "project-documents"
      tags:
        - "Project Document"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "with[]"
          required: false
          description: "Attach further information. Possible values 'preview' to fetch temporary preview URLs. This is NOT recommended to be used with list calls. Only use with[]=preview for single document/style guide calls."
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "preview"
                - "editors"
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "A list of document models"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DocumentList"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Upload a new document"
      description: "Upload a new document"
      operationId: "createProjectDocument"
      x-cli-cmd-group: "project-documents"
      tags:
        - "Project Document"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DocumentUpdates"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/DocumentUpdates"
      responses:
        200:
          description: "A list of successfully added new documents."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DocumentList"
        400:
          description: "FileTooLarge FileTooSmall FileWasAlreadyUploaded"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        405:
          description: "UnsupportedDocumentFormat"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        406:
          description: "InvalidDocumentScheme"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/documents/{documentId}:
    get:
      summary: "View a project source document"
      description: "View the details of a source file you uploaded to be translated in your project."
      operationId: "getProjectDocument"
      x-cli-cmd-group: "project-documents"
      tags:
        - "Project Document"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
        - in: "query"
          name: "with[]"
          required: false
          description: "Attach further information. Possible values 'preview' to fetch temporary preview URLs. This is NOT recommended to be used with list calls. Only use with[]=preview for single document/style guide calls."
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "preview"
                - "editors"
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Document model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Document"
        404:
          description: "DocumentNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Update the document."
      description: "Update the document. File name and contents will replaced with the new one."
      operationId: "updateProjectDocument"
      x-cli-cmd-group: "project-documents"
      tags:
        - "Project Document"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DocumentUploadRequest"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/DocumentUploadRequest"
      responses:
        200:
          description: "Updated document model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Document"
        400:
          description: "FileTooLarge FileTooSmall FileWasAlreadyUploaded"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "DocumentNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        405:
          description: "UnsupportedDocumentFormat"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        406:
          description: "InvalidDocumentScheme"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    delete:
      summary: "Delete the document"
      description: "Delete the document"
      operationId: "deleteProjectDocument"
      x-cli-cmd-group: "project-documents"
      tags:
        - "Project Document"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Document deleted successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "DocumentNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/documents/delete:
    post:
      summary: "Delete multiple documents"
      description: "Delete multiple documents in the project. Returns detailed information about successful and failed deletions."
      operationId: "deleteMultipleProjectDocuments"
      x-cli-cmd-group: "project-documents"
      tags:
        - "Project Document"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        description: "An array of document IDs to be deleted"
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DocumentIDList"
      responses:
        200:
          description: "Partial success - Some documents deleted successfully, some failed."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/FileDeleteStatus"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/documents/{documentId}/download:
    get:
      summary: "Download a project source document"
      description: "Download an actual source file you uploaded to be translated in your project."
      operationId: "downloadProjectDocument"
      x-cli-cmd-group: "project-documents"
      tags:
        - "Project Document"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
      responses:
        200:
          description: "Document streamed"
          content:
            application/json:
              schema:
                type: "string"
        404:
          description: "DocumentNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/documents/{documentId}/translate/{targetLanguage}:
    post:
      summary: "Instantly translate your document"
      description: "Instantly translate your document with your existing TM and MT resources for regular translation projects."
      operationId: "translateDocument"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
        - in: "path"
          name: "targetLanguage"
          required: true
          description: "Target language that you want to instantly translate your content into. By default, it's all of project's target languages."
          schema:
            type: "string"
          example: "en-US"
        - in: "query"
          name: "sync"
          required: false
          description: "When given, we will process your request in our persistent flow. This is much slower, but ensures translation persistence in all of our infrastructure."
          schema:
            type: "boolean"
            default: 0
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/InstantTranslationRequest"
      responses:
        200:
          description: "Instant translation result. It may return a list of translated strings, or a list of translated files."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InstantTranslationResult"
        402:
          description: "ProjectNotLaunchedYet | ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        422:
          description: "UnsupportedLanguage"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/documents/{documentId}/translations:
    get:
      summary: "View strings and translations of a document"
      description: "View the strings and their translations in your translation project for the specified source document. The list of translations is live if your project is not completed yet. If you need the translated version of your source document/file, then you need to use package and download endpoints."
      operationId: "getDocumentTranslations"
      x-cli-cmd-group: "translations"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
      responses:
        200:
          description: "Response for strings and their translations"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StringList"
  /projects/{projectId}/documents/{documentId}/translations/{language}:
    get:
      summary: "View strings and translations of a document for target language"
      description: "View the strings and their translations in the given target language for the specified source document. The list of translations is live if your project is not completed yet. If you need the translated version of your source document/file, then you need to use package and download endpoints."
      operationId: "getDocumentTranslationsForLanguage"
      x-cli-cmd-group: "translations"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
        - in: "path"
          name: "language"
          description: "Target language code."
          required: true
          schema:
            type: "string"
          example: "en-US"
      responses:
        200:
          description: "Response for strings and their translations"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StringList"
  /projects/{projectId}/documents/{documentId}/translations/download/{language}:
    get:
      summary: "Download translated document"
      description: "Download translated document in the given target language."
      operationId: "downloadTranslatedDocumentForLanguage"
      x-cli-cmd-group: "project-documents"
      tags:
        - "Project Document"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
        - in: "path"
          name: "language"
          description: "Target language code."
          required: true
          schema:
            type: "string"
          example: "en-US"
        - in: "query"
          name: "certified"
          description: "Download certified translation"
          required: false
          schema:
            type: "boolean"
            default: 0
      responses:
        200:
          description: "File"
          content:
            application/octet-stream:
              schema:
                type: "string"
                format: "binary"
        404:
          description: "DocumentNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/style_guides:
    get:
      summary: "List global style guides compatible with this project"
      description: "List global style guides compatible with this project"
      operationId: "getProjectGlobalStyleGuides"
      x-cli-cmd-group: "style-guides"
      tags:
        - "StyleGuide"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 1
        - in: "query"
          name: "per_page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 10
        - in: "query"
          name: "user_id"
          required: false
          description: "Filter by user ID (requires VIEW_PLATFORM_PROJECTS permission)"
          schema:
            type: "integer"
            format: "int64"
          example: 123
        - in: "query"
          name: "corporate_id"
          required: false
          description: "Filter by corporate ID (requires VIEW_PLATFORM_PROJECTS permission)"
          schema:
            type: "integer"
            format: "int64"
          example: 456
        - in: "query"
          name: "language_code"
          required: false
          description: "Filter by language code (available to all users)"
          schema:
            type: "string"
          example: "en-US"
        - in: "query"
          name: "search"
          required: false
          description: "Search for text within style guide content (available to all users)"
          schema:
            type: "string"
          example: "terminology"
      responses:
        200:
          description: "List of style guides"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StyleGuides"
  /projects/{projectId}/styleguides:
    get:
      summary: "View style guides"
      description: "View a list of style guides in your project."
      operationId: "getProjectStyleGuides"
      x-cli-cmd-group: "styleguides"
      tags:
        - "Style Guide"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "with[]"
          required: false
          description: "Attach further information. Possible values 'preview' to fetch temporary preview URLs, 'content' to include file text content. This is NOT recommended to be used with list calls. Only use with[]=preview for single document/style guide calls."
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "preview"
                - "content"
        - in: "query"
          name: "type"
          required: false
          description: "Type of style guide files to retrieve. Defaults to 'styleguide'."
          schema:
            type: "string"
            default: "styleguide"
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "A list of style guide models"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StyleGuideList"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Upload a new style guide"
      description: "Upload a new style guide"
      operationId: "createProjectStyleGuide"
      x-cli-cmd-group: "styleguides"
      tags:
        - "Style Guide"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/StyleGuideUploadRequest"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/StyleGuideUploadRequest"
      responses:
        200:
          description: "Newly created style guide model or a list of new style guide models"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StyleGuideList"
        400:
          description: "FileTooLarge"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        405:
          description: "UnsupportedStyleGuideFormat"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/styleguides/{styleGuideId}:
    get:
      summary: "View a style guide"
      description: "View the details of a style guide uploaded to a project"
      operationId: "getProjectStyleGuide"
      x-cli-cmd-group: "styleguides"
      tags:
        - "Style Guide"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "styleGuideId"
          required: true
          description: "Style Guide ID"
          schema:
            type: "integer"
            format: "int64"
          example: 13959
        - in: "query"
          name: "with[]"
          required: false
          description: "Attach further information. Possible values 'preview' to fetch temporary preview URLs. This is NOT recommended to be used with list calls. Only use with[]=preview for single document/style guide calls."
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "preview"
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Style guide model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Document"
        404:
          description: "StyleGuideNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    put:
      summary: "Update a style guide"
      description: "Update the existing style guide in the project. Public users are allowed to have only 1 style guide per project and file name and contents will replaced with the new style guide that you are uploading via this endpoint."
      operationId: "updateProjectStyleGuide"
      x-cli-cmd-group: "styleguides"
      tags:
        - "Style Guide"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "styleGuideId"
          required: true
          description: "Style guide ID"
          schema:
            type: "integer"
            format: "int64"
          example: 13959
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/StyleGuideUploadRequest"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/StyleGuideUploadRequest"
      responses:
        200:
          description: "Updated style guide model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Document"
        400:
          description: "FileTooLarge"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "StyleGuideNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        405:
          description: "UnsupportedStyleGuideFormat"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    delete:
      summary: "Delete a style guide"
      description: "Delete the existing style guide from the project."
      operationId: "deleteProjectStyleGuide"
      x-cli-cmd-group: "styleguides"
      tags:
        - "Style Guide"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "styleGuideId"
          required: true
          description: "Style Guide ID"
          schema:
            type: "integer"
            format: "int64"
          example: 13959
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Style guide deleted successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "StyleGuideNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/styleguides/{styleGuideId}/download:
    get:
      summary: "Download a style guide"
      description: "Download a previously uploaded style guide file."
      operationId: "downloadProjectStyleGuide"
      x-cli-cmd-group: "styleguides"
      tags:
        - "Style Guide"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "styleGuideId"
          required: true
          description: "Style Guide ID"
          schema:
            type: "integer"
            format: "int64"
          example: 13959
      responses:
        200:
          description: "Style guide streamed"
          content:
            application/json:
              schema:
                type: "string"
        404:
          description: "StyleGuideNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/glossaries:
    get:
      summary: "View glossaries"
      description: "View a list of glossaries previously uploaded to the project."
      operationId: "getProjectGlossaries"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
        - in: "query"
          name: "with[]"
          required: false
          description: "Include detailed information. Possible values 'analysis'."
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "analysis"
      responses:
        200:
          description: "A list of glossary models"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GlossaryList"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Upload a glossary file"
      description: "Upload a new glossary file to your project to be used during translation. Glossaries can be CSV or TBX files."
      operationId: "createProjectGlossary"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
        - in: "query"
          name: "with[]"
          required: false
          description: "Include detailed information. Possible values 'analysis'."
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "analysis"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GlossaryUploadRequest"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/GlossaryUploadRequest"
      responses:
        200:
          description: "Newly created glossary model or a list of new glossary models"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GlossaryList"
        400:
          description: "FileTooLarge"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        405:
          description: "UnsupportedGlossaryFormat"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        406:
          description: "ProjectAlreadyHasGlossary"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/glossaries/{glossaryId}:
    get:
      summary: "View a glossary"
      description: "View the details of a glossary file uploaded to a project."
      operationId: "getProjectGlossary"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "glossaryId"
          required: true
          description: "Glossary ID"
          schema:
            type: "integer"
            format: "int64"
          example: 1411
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Glossary model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Glossary"
        404:
          description: "GlossaryNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    put:
      summary: "Update a glossary"
      description: "Update the existing glossary file in the project. Public users are allowed to have only 1 glossary per project and file name and contents will replaced with the new glossary file that you are uploading via this endpoint."
      operationId: "updateProjectGlossary"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "glossaryId"
          required: true
          description: "Glossary ID"
          schema:
            type: "integer"
            format: "int64"
          example: 1411
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GlossaryUploadRequest"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/GlossaryUploadRequest"
      responses:
        200:
          description: "Updated glossary model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Glossary"
        400:
          description: "FileTooLarge"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "GlossaryNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        405:
          description: "UnsupportedGlossaryFormat"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    delete:
      summary: "Delete a glossary"
      description: "Delete the existing glossary from the project."
      operationId: "deleteProjectGlossary"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "glossaryId"
          required: true
          description: "Glossary ID"
          schema:
            type: "integer"
            format: "int64"
          example: 1411
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Glossary deleted successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "GlossaryNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/glossaries/{glossaryId}/download:
    get:
      summary: "Download a glossary"
      description: "Download a previously uploaded glossary file."
      operationId: "downloadProjectGlossary"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "glossaryId"
          required: true
          description: "Glossary ID"
          schema:
            type: "integer"
            format: "int64"
          example: 1411
      responses:
        200:
          description: "Glossary streamed"
          content:
            application/json:
              schema:
                type: "string"
        404:
          description: "GlossaryNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /glossaries/{glossaryId}/entries:
    get:
      summary: "View glossary entries"
      description: "View the details of a glossary entries uploaded to a project."
      operationId: "getGlossaryEntries"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      parameters:
        - in: "path"
          name: "glossaryId"
          required: true
          description: "Glossary ID"
          schema:
            oneOf:
              - type: "integer"
                format: "int64"
              - type: "string"
          example: 1411
        - in: "query"
          name: "search"
          required: false
          schema:
            type: "string"
        - in: "query"
          name: "page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 1
        - in: "query"
          name: "per_page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 10
      responses:
        200:
          description: "Glossary model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GlossaryEntryList"
        404:
          description: "GlossaryNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Update glossary entries"
      description: "Update the existing glossary entries in the project. Public users are allowed to have only 1 glossary per project and file name and contents will replaced with the new glossary entries that you are uploading via this endpoint."
      operationId: "updateGlossaryEntries"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      parameters:
        - in: "path"
          name: "glossaryId"
          required: true
          description: "Glossary ID"
          schema:
            oneOf:
              - type: "integer"
                format: "int64"
              - type: "string"
          example: 1411
      requestBody:
        content:
          application/json:
            schema:
              type: "array"
              items:
                $ref: "#/components/schemas/GlossaryEntry"
          multipart/form-data:
            schema:
              type: "array"
              items:
                $ref: "#/components/schemas/GlossaryEntry"
      responses:
        200:
          description: "Updated glossary model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GlossaryEntryList"
        400:
          description: "FileTooLarge"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "GlossaryNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        405:
          description: "UnsupportedGlossaryFormat"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /glossaries/{glossaryId}/entries/{entryId}:
    delete:
      summary: "Delete glossary entry"
      description: "Delete the existing glossary entry from the project."
      operationId: "deleteGlossaryEntry"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      parameters:
        - in: "path"
          name: "glossaryId"
          required: true
          description: "Glossary ID"
          schema:
            oneOf:
              - type: "integer"
                format: "int64"
              - type: "string"
          example: 1411
        - in: "path"
          name: "entryId"
          required: true
          description: "Entry ID"
          schema:
            type: "integer"
            format: "int64"
          example: 62650
      responses:
        200:
          description: "Glossary entry deleted successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "GlossaryNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        409:
          description: "ProjectAlreadyStarted"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /glossaries/{glossaryId}/import:
    post:
      summary: "Import glossary files"
      description: "Import one or multiple glossary files to the specified glossary."
      operationId: "importGlossary"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      parameters:
        - in: "path"
          name: "glossaryId"
          required: true
          description: "Glossary ID or \"default\" for the default glossary"
          schema:
            oneOf:
              - type: "integer"
                format: "int64"
              - type: "string"
          example: 1411
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/GlossaryImportRequest"
      responses:
        200:
          description: "Glossary files imported successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GlossaryImportResponse"
        400:
          description: "MissingParameter or TMSGlossaryUploadFailed"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "GlossaryNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/{projectId}/activities:
    get:
      summary: "Monitor project activities"
      description: "Get a list of activities in the project"
      operationId: "getActivities"
      x-cli-cmd-group: "activities"
      tags:
        - "Activity"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "A list of activity models"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActivityList"
        401:
          description: "UnauthorizedUser"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Insert a new activity for the project"
      description: "Insert a new activity for the project"
      operationId: "addActivity"
      x-cli-cmd-group: "activities"
      tags:
        - "Activity"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Activity"
      responses:
        200:
          description: "Newly created activity"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Activity"
        400:
          description: "Missing Parameter"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        401:
          description: "UnauthorizedUser"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /styleguide:
    get:
      summary: "Download account style guide"
      description: "Download your account's global style guide. This endpoint is available only for corporate account customers. This style guide will be automatically attached to each new project under your account."
      operationId: "downloadGlobalStyleGuide"
      x-cli-cmd-group: "styleguides"
      tags:
        - "Style Guide"
      responses:
        200:
          description: "Style guide file streamed."
          content:
            application/json:
              schema:
                type: "string"
        404:
          description: "StyleGuideNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Create or update the account style guide"
      description: "Update your corporate account's global style guide. This endpoint is available only for corporate account customers. This style guide will be automatically attached to each new project under your account."
      operationId: "updateGlobalStyleGuide"
      x-cli-cmd-group: "styleguides"
      tags:
        - "Style Guide"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AccountStyleGuideUploadRequest"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/AccountStyleGuideUploadRequest"
      responses:
        200:
          description: "Successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        400:
          description: "FileTooLarge FileTooSmall NoFileUploaded MissingCorporateAccount"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        405:
          description: "UnsupportedStyleGuideFormat"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /glossary:
    get:
      summary: "Download account glossary."
      description: "Download your corporate account's global glossary. This endpoint is available only for corporate account customers. This glossary will be automatically attached to each new project under your account."
      operationId: "downloadGlobalGlossary"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      responses:
        200:
          description: "Glossary file streamed."
          content:
            application/json:
              schema:
                type: "string"
        404:
          description: "GlossaryNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Create or update the account glossary"
      description: "Update your corporate account's global glossary. This endpoint is available only for corporate account customers. This glossary will be automatically attached to each new project under your account."
      operationId: "updateGlobalGlossary"
      x-cli-cmd-group: "glossaries"
      tags:
        - "Glossary"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AccountGlossaryUploadRequest"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/AccountGlossaryUploadRequest"
      responses:
        200:
          description: "Successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        400:
          description: "FileTooLarge FileTooSmall NoFileUploaded"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        405:
          description: "UnsupportedGlossaryFormat"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /search:
    get:
      summary: "Search everything in your account"
      description: "Search through everything in your account, from projects to documents, from source strings to translations..."
      operationId: "searchEverywhere"
      x-cli-cmd-group: "search"
      tags:
        - "Search"
      parameters:
        - name: "query"
          in: "query"
          description: "Search query term"
          required: true
          schema:
            type: "string"
          example: "en-US"
        - name: "include[]"
          in: "query"
          description: "Search in these entities. Current oprions are projects, documents, strings. Can be multiple. When not provided, we'll search through all entities."
          required: false
          schema:
            type: "array"
            items:
              type: "string"
              enum:
                - "projects"
                - "documents"
                - "strings"
        - in: "query"
          name: "page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 1
        - in: "query"
          name: "per_page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 10
      responses:
        200:
          description: "Search result for multiple entities and paging"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchEverywhereResult"
  /async/download:
    get:
      summary: "Download result of an async operation"
      description: "Download the result of an async operation that you have requested in other endpoints."
      operationId: "downloadAsync"
      x-cli-cmd-group: "async"
      tags:
        - "Async"
      parameters:
        - name: "async_request_key"
          in: "query"
          description: "Async operation key"
          required: true
          schema:
            type: "string"
          example: "f0db2468-6b77-41a4-bafe-70157bc166ad"
      responses:
        200:
          description: "File"
          content:
            application/octet-stream:
              schema:
                type: "string"
                format: "binary"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects:
    get:
      summary: "View continuous projects"
      description: "View a list of continuous projects under your account. Continuous projects are those that are constantly updated, such as a CI/CD project, software project, website translation and such."
      operationId: "getContinuousProjects"
      x-cli-cmd-group: "continuous-projects"
      x-cli-aliases:
        - "list"
      tags:
        - "ContinuousProject"
      parameters:
        - name: "type"
          description: "Type of continuous project."
          in: "query"
          required: false
          schema:
            type: "string"
            default: "active"
            nullable: true
            enum:
              - "active"
      responses:
        200:
          description: "Newly created continuous project"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProjectsList"
    post:
      summary: "Create a continuous project"
      description: "Create a new continuous project for your software, website, CI/CD translation needs."
      operationId: "createContinuousProject"
      x-cli-cmd-group: "continuous-projects"
      x-cli-aliases:
        - "create"
      tags:
        - "ContinuousProject"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ContinuousProject"
      responses:
        200:
          description: "Newly created continuous project"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProject"
  /continuous_projects/filter:
    post:
      summary: "Filter continuous projects"
      description: "Filter continuous projects based on specific criteria such as subscription ID."
      operationId: "filterContinuousProjects"
      x-cli-cmd-group: "continuous-projects"
      x-cli-aliases:
        - "filter"
      security:
        - mwoAuth:
            - "privileged"
      tags:
        - "ContinuousProject"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: "object"
              properties:
                subscription_id:
                  type: "string"
                  description: "Filter projects by subscription ID"
                  example: "sub_123456789"
              additionalProperties: false
      responses:
        200:
          description: "Filtered continuous project"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProject"
        400:
          description: "Missing or invalid filter parameters"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "No project found with the given filter criteria"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects/{id}:
    get:
      summary: "View a continuous project"
      description: "View the details of a continuous project."
      operationId: "getContinuousProject"
      x-cli-cmd-group: "continuous-projects"
      x-cli-aliases:
        - "get"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Continuous Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "ContinuousProject model"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProject"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Update a continuous project"
      description: "Update the details and settings of continuous project."
      operationId: "updateContinuousProject"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ContinuousProjectUpdateContent"
      responses:
        200:
          description: "Update continuous project operation status"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProject"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    delete:
      summary: "Delete a continuous project"
      description: "Delete an existing continuous project. Your project will be cancelled, and you will still be charged for the amount of translations we have done for you so far."
      operationId: "deleteContinuousProject"
      x-cli-cmd-group: "continuous-projects"
      x-cli-aliases:
        - "delete"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Continuous project deleted successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects/{projectId}/documents:
    get:
      summary: "View continuous documents"
      description: "View the documents under this continuous project"
      operationId: "getContinuousProjectDocuments"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "filterByLanguage"
          required: false
          schema:
            type: "string"
      responses:
        200:
          description: "A list of continuous project document models"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProjectDocumentList"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Add a new document to your continuous project"
      description: "Add a new document to your continuous project. If the name already exists, it will update the existing document. In most scenarios, this operation will also trigger auto-translation of your document, via MT and/or TM."
      operationId: "addDocument"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddOrUpdateDocumentRequest"
      responses:
        200:
          description: "The newly added continuous project document object."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProjectDocument"
  /continuous_projects/{projectId}/progress:
    get:
      summary: "Monitor progress and status of a continous project"
      description: "Monitor the translation progress of an ongoing continuous project in real-time."
      operationId: "getContinuousProjectProgress"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "filterByLanguage"
          required: false
          schema:
            type: "string"
      responses:
        200:
          description: "Progress information"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProjectProgress"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects/{projectId}/strings:
    get:
      summary: "View strings and translations in continuous project"
      description: "View the strings and their translations in your continuous translation project, for all target languages. If you need the translated version of your source document/file, then you need to use package and download endpoints."
      operationId: "getContinuousProjectStrings"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Response for strings and their translations"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StringList"
  /continuous_projects/{projectId}/strings/cached:
    get:
      summary: "View cached strings translations in continuous project"
      description: "MotaWord caches your account intensively (and in a smart way) in real-time translation environments. This endpoint will return the currently cached strings and translations in your continuous translation project."
      operationId: "getTranslationCache"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "flatten"
          required: false
          description: "Flatten cache results and ignore document keys"
          schema:
            type: "boolean"
            default: 1
      responses:
        200:
          description: "Response for strings and their translations"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProjectCache"
    delete:
      summary: "Clear translation cache"
      description: "Clear/delete continuous project translation cache."
      operationId: "clearTranslationCache"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "locale"
          required: false
          description: "Locale"
          schema:
            type: "string"
        - in: "query"
          name: "file_id"
          required: false
          description: "Continuous Project File ID"
          schema:
            type: "integer"
            format: "int64"
      responses:
        200:
          description: "Operation response"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
  /continuous_projects/{projectId}/strings/recache-tms:
    post:
      summary: "Recache translations"
      description: "Recache translations for the continuous project."
      operationId: "recacheTranslations"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "locale"
          required: false
          description: "Locale"
          schema:
            type: "string"
        - in: "query"
          name: "file_id"
          required: false
          description: "Continuous Project File ID"
          schema:
            type: "integer"
            format: "int64"
      responses:
        200:
          description: "Operation response"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
  /continuous_projects/{projectId}/documents/{documentId}:
    get:
      summary: "View a continuous document"
      description: "View the details of a source document in continuous translation project."
      operationId: "getContinuousProjectDocument"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID/Name"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
      responses:
        200:
          description: "Progress information"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProjectDocument"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Update the document"
      description: "Update source document in your continuous project. In most scenarios, this operation will also trigger auto-translation of your document, via MT and/or TM."
      operationId: "updateDocument"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Continuous project document ID"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddOrUpdateDocumentRequest"
      responses:
        200:
          description: "The updated continuous project document object."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProjectDocument"
  /continuous_projects/{projectId}/documents/{documentId}/progress:
    get:
      summary: "Monitor progress of a continuous document"
      description: "Monitor the translation progress of a document in a continuous project in real-time."
      operationId: "getContinuousProjectDocumentProgress"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID/Name"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
        - in: "query"
          name: "filterByLanguage"
          required: false
          schema:
            type: "string"
      responses:
        200:
          description: "Progress information"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Progress"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects/{projectId}/documents/progress:
    post:
      summary: "Get continuous project document progress for multiple IDs"
      description: "Get continuous project document progress for multiple IDs"
      operationId: "postContinuousProjectDocumentProgress"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ContinuousProjectDocumentProgressBody"
      responses:
        200:
          description: "Progress information"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Progress"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects/{projectId}/documents/{documentId}/strings:
    get:
      summary: "View strings their translations in a continuous document"
      description: "View the strings from a document and their translations in your continuous translation project, for all target languages. If you need the translated version of your source document/file, then you need to use package and download endpoints."
      operationId: "getContinuousProjectFileStrings"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "documentId"
          required: true
          description: "Document ID/Name"
          schema:
            type: "integer"
            format: "int64"
          example: 179469
      responses:
        200:
          description: "Response for strings and their translations"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StringList"
  /continuous_projects/{projectId}/documents/strings:
    post:
      summary: "Get a list of strings and its translations in the project."
      operationId: "postContinuousProjectFileStrings"
      x-cli-cmd-group: "strings"
      tags:
        - "Strings"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ContinuousProjectDocumentStringsBody"
      responses:
        200:
          description: "Response for strings and their translations"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StringList"
  /continuous_projects/{projectId}/widgets:
    get:
      summary: "View Active widgets"
      description: "View a list of widgets in your Active project to be used in your website. Most website-specific configuration is provided via widgets."
      operationId: "getActiveWidgets"
      x-cli-cmd-group: "continuous-projects"
      x-cli-aliases:
        - "widgets"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "List of widgets"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActiveWidgetList"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Create a new Active widget"
      description: "Create a new widget for your Active project to be used in your website. Most website-specific configuration is provided via widgets. This does not create a new Active project, just a separate widget."
      operationId: "createActiveWidget"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ActiveWidget"
      responses:
        200:
          description: "Updated widget details"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActiveWidget"
        404:
          description: "ProjectNotFound | ActiveWidgetNotFound | UnauthorizedUser"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects/{projectId}/widgets/{widgetId}:
    get:
      summary: "View an Active widget"
      description: "View the details of an Active widget to be used in your website. Most website-specific configuration is provided via widgets."
      operationId: "getActiveWidget"
      x-cli-cmd-group: "continuous-projects"
      x-cli-aliases:
        - "widget"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "widgetId"
          required: true
          description: "Active widget ID belonging to this Continuous Project"
          schema:
            type: "integer"
            format: "int64"
          example: 236
      responses:
        200:
          description: "Active widget details"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActiveWidget"
        404:
          description: "ProjectNotFound | ActiveWidgetNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Update Active widget settings."
      description: "Update Active widget settings."
      operationId: "updateActiveWidget"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "widgetId"
          required: true
          description: "Active widget ID belonging to this Continuous Project"
          schema:
            type: "integer"
            format: "int64"
          example: 236
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ActiveWidget"
      responses:
        200:
          description: "Updated widget details"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActiveWidget"
        404:
          description: "ProjectNotFound | ActiveWidgetNotFound | UnauthorizedUser"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    delete:
      summary: "Delete a single widget for this Active project"
      description: "Delete a single widget for this Active project"
      operationId: "deleteActiveWidget"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "widgetId"
          required: true
          description: "Active widget ID belonging to this Continuous Project"
          schema:
            type: "integer"
            format: "int64"
          example: 236
      responses:
        200:
          description: "Delete operation result"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "ProjectNotFound | ActiveWidgetNotFound | UnauthorizedUser"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects/{projectId}/widgets/{widgetId}/reset-token:
    post:
      summary: "Reset Active widget token"
      description: "Reset the public token used with your Active widget. This token is used when communicating from your environment to MotaWord systems for translation, analytics and meta."
      operationId: "resetActiveWidgetToken"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Continuous Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "widgetId"
          required: true
          description: "Active widget ID belonging to this Continuous Project"
          schema:
            type: "integer"
            format: "int64"
          example: 236
      responses:
        200:
          description: "Updated widget details"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActiveWidget"
        404:
          description: "ProjectNotFound | ActiveWidgetNotFound | UnauthorizedUser"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects/{id}/translate/{targetLanguage}:
    post:
      summary: "Instantly translate your content"
      description: "Instantly translate your content with your existing TM and MT resources. This is the primary endpoint to translate your files and content on the fly, especially in CI/CD environments. This is a complex endpoint that is configured in your Active or Continuous Project dashboards. For instance, you can configure whether to use your TM, or translate missing strings via MT and then post-edit those new translations. There are various scenarios you can establish via a set of configurations."
      operationId: "translate"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "path"
          name: "targetLanguage"
          required: true
          description: "Target language that you want to instantly translate your file into."
          schema:
            type: "string"
          example: "en-US"
        - in: "query"
          name: "sync"
          required: false
          description: "When given, we will process your request in our persistent flow. This is much slower, but ensures translation persistence in all of our infrastructure."
          schema:
            type: "boolean"
            default: 0
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/InstantTranslationRequest"
      responses:
        200:
          description: "Instant translation result. It may return a list of translated strings, or a list of translated files."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InstantTranslationResult"
  /continuous_projects/{projectId}/invoices:
    get:
      summary: "Invoices of a continuous project"
      description: "Get real-time access to a continuous project's invoices."
      operationId: "getContinuousProjectInvoices"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "projectId"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Invoices List"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContinuousProjectInvoices"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects/{id}/subscription:
    post:
      summary: "Create subscription for continuous project"
      description: "Create subscription for continuous project"
      operationId: "createSubscription"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Subscription"
      responses:
        200:
          description: "Newly created continuous project subscription"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Subscription"
        400:
          description: "MissingParameter"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    put:
      summary: "Update subscription for continuous project"
      description: "Update subscription for continuous project"
      operationId: "updateSubscription"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Subscription"
      responses:
        200:
          description: "Updated continuous project subscription"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Subscription"
        400:
          description: "MissingParameter"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    delete:
      summary: "Delete subscription for continuous project"
      description: "Delete subscription for continuous project"
      operationId: "deleteSubscription"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Delete continuous project subscription"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Subscription"
        400:
          description: "MissingParameter"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    get:
      summary: "Get subscription for continuous project"
      description: "Get subscription for continuous project"
      operationId: "getSubscription"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Get continuous project subscription"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Subscription"
        400:
          description: "MissingParameter"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /continuous_projects/{id}/subscription/payment:
    put:
      summary: "Update subscription payment method for continuous project"
      description: "Update subscription payment method for continuous project"
      operationId: "updateSubscriptionPaymentMethod"
      x-cli-cmd-group: "continuous-projects"
      tags:
        - "ContinuousProject"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Continuous project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Subscription"
      responses:
        200:
          description: "Updated continuous project subscription"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Subscription"
        400:
          description: "MissingParameter"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /corporate:
    get:
      summary: "View your corporate account"
      description: "View the details of the corporate account that your user account belongs to."
      operationId: "getCorporate"
      x-cli-cmd-group: "corporates"
      tags:
        - "Corporate"
      responses:
        200:
          description: "Corporate account details"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CorporateAccount"
  /corporate/users:
    get:
      summary: "View users"
      description: "View a list of users under your corporate account. This endpoint will only return information if your user account is permitted to view corporate account users, configured by your administrator."
      operationId: "getCorporateUsers"
      x-cli-cmd-group: "corporates"
      tags:
        - "Corporate"
      responses:
        200:
          description: "User list"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserList"
    post:
      summary: "Create or update a user"
      description: "Create or update a user under your corporate account. This endpoint requires permissions for corporate user management, configured by your administrator."
      operationId: "saveCorporateUser"
      x-cli-cmd-group: "corporates"
      tags:
        - "Corporate"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserUpdateContent"
      responses:
        200:
          description: "Created or updated user"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
  /corporate/user-groups:
    get:
      summary: "View user groups"
      description: "View a list of user groups under my corporate account. User groups are a part of our RBAC implementation and can be used to configure complex permission scenarios."
      operationId: "getCorporateUserGroups"
      x-cli-cmd-group: "corporates"
      tags:
        - "Corporate"
      responses:
        200:
          description: "User group list"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserGroupList"
    post:
      summary: "Create or update a corporate user group"
      description: "Create or update a corporate user group"
      operationId: "saveCorporateUserGroup"
      x-cli-cmd-group: "corporates"
      tags:
        - "Corporate"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserGroup"
      responses:
        200:
          description: "User group list"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserGroup"
  /corporate/permissions:
    get:
      summary: "View available permissions"
      description: "View a list of available permissions for your corporate account. They are used when assigning permissions to your corporate users."
      operationId: "getAvailableCorporatePermissions"
      x-cli-cmd-group: "corporates"
      tags:
        - "Corporate"
      responses:
        200:
          description: "List of permission strings"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PermissionList"
  /corporates/all:
    get:
      summary: "Get a list of corporate accounts"
      description: "Get a list of corporate accounts"
      operationId: "getCorporatesList"
      x-cli-cmd-group: "corporates"
      tags:
        - "Corporate"
      responses:
        200:
          description: "Corporate account list"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/CorporateAccount"
  /reports/qa:
    post:
      summary: "Generate a QA report for given filter"
      description: "Generate a QA report for given filter"
      operationId: "generateQAReport"
      tags:
        - "Report"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/QaFilter"
      responses:
        200:
          description: "List of QA entries"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/QaWarnings"
        400:
          description: "MissingParameter"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /integrations/token:
    get:
      summary: "Generate a new access token for MotaWord's integrations service"
      description: "Generate a new access token for MotaWord's integrations service"
      operationId: "getIntegrationsToken"
      tags:
        - "Integrations"
      responses:
        200:
          description: "Token"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IntegrationsToken"
        403:
          description: "IntegrationsNotEnabled"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /integrations/readme/proxy/{slug}:
    get:
      summary: "Get slug document from docs.motaword for MotaWord's integrations service"
      description: "Get documentation"
      operationId: "getIntegrationDocument"
      tags:
        - "Integrations"
      parameters:
        - name: "slug"
          in: "path"
          required: true
          schema:
            type: "string"
          description: "The slug of the document to retrieve"
      responses:
        200:
          description: "Documentation retrieved successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IntegrationDocument"
        403:
          description: "IntegrationNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "IntegrationNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /surveys/{scope}/{type}:
    get:
      summary: "Get survey questions in given scope and type"
      description: "Get survey questions in given scope and type"
      operationId: "getQuestions"
      tags:
        - "Surveys"
      parameters:
        - in: "path"
          name: "scope"
          required: true
          description: "Scope"
          schema:
            type: "string"
          example: "vendor"
        - in: "path"
          name: "type"
          required: true
          description: "Type"
          schema:
            type: "string"
          example: "profile"
        - in: "query"
          name: "attach_answers_for_project"
          required: false
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
      responses:
        200:
          description: "Survey Questions"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SurveyQuestions"
        404:
          description: "SurveyQuestionsNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Post survey answers for scope and type"
      description: "Post survey answers for scope and type"
      operationId: "submitAnswers"
      tags:
        - "Surveys"
      parameters:
        - in: "path"
          name: "scope"
          required: true
          description: "Scope"
          schema:
            type: "string"
          example: "vendor"
        - in: "path"
          name: "type"
          required: true
          description: "Type"
          schema:
            type: "string"
          example: "profile"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SurveyAnswers"
      responses:
        200:
          description: "Survey Answers"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        500:
          description: "FailedToSubmitSurveyAnswers"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /projects/all:
    post:
      summary: "View all projects by filter"
      description: "View all translation projects according to the filter if you have the VIEW_PLATFORM_PROJECTS permission (configured by your account administrator)."
      operationId: "getAllProjects"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "query"
          name: "page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 1
        - in: "query"
          name: "per_page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 10
        - in: "query"
          name: "order_by"
          required: false
          schema:
            type: "string"
            enum:
              - "id"
              - "internalProjectId"
              - "client"
              - "corporate"
              - "word_count"
              - "delivery"
            default: "project_id"
        - in: "query"
          name: "order_type"
          required: false
          schema:
            $ref: "#/components/schemas/ListOrderType"
            default: "desc"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/QuoteFilter"
      responses:
        200:
          description: "Project list"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProjectList"
        404:
          description: "UnauthorizedUser"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /plans:
    get:
      summary: "Get the list of subscription plans"
      description: "Get the list of subscription plans"
      operationId: "getPlans"
      responses:
        200:
          description: "A list of subscription plans"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Plan"
      x-cli-cmd-group: "static"
      tags:
        - "Static"
  /projects/{id}/quote.pdf:
    get:
      summary: "Download Quote (PDF)"
      description: "Download your quote as PDF."
      operationId: "downloadPdfQuote"
      x-cli-cmd-group: "projects"
      tags:
        - "Project"
      parameters:
        - in: "path"
          name: "id"
          required: true
          description: "Project ID"
          schema:
            type: "integer"
            format: "int64"
          example: 74
        - in: "query"
          name: "guid"
          required: false
          description: "UI-led quote process GUID."
          schema:
            type: "string"
      responses:
        200:
          description: "Quote"
          content:
            application/pdf:
              schema:
                type: "string"
                format: "binary"
        404:
          description: "ProjectNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        500:
          description: "QuotePDFGenerationError"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /style_guides:
    get:
      summary: "List style guides"
      description: "List all style guides available to the user."
      operationId: "getStyleGuides"
      x-cli-cmd-group: "style-guides"
      tags:
        - "StyleGuide"
      parameters:
        - in: "query"
          name: "page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 1
        - in: "query"
          name: "per_page"
          required: false
          schema:
            type: "integer"
            format: "int64"
            default: 10
        - in: "query"
          name: "user_id"
          required: false
          description: "Filter by user ID (requires VIEW_PLATFORM_PROJECTS permission)"
          schema:
            type: "integer"
            format: "int64"
          example: 123
        - in: "query"
          name: "corporate_id"
          required: false
          description: "Filter by corporate ID (requires VIEW_PLATFORM_PROJECTS permission)"
          schema:
            type: "integer"
            format: "int64"
          example: 456
        - in: "query"
          name: "language_code"
          required: false
          description: "Filter by language code (available to all users)"
          schema:
            type: "string"
          example: "en-US"
        - in: "query"
          name: "search"
          required: false
          description: "Search for text within style guide content (available to all users)"
          schema:
            type: "string"
          example: "terminology"
      responses:
        200:
          description: "List of style guides"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StyleGuides"
    post:
      summary: "Create style guide"
      description: "Create a new style guide."
      operationId: "createStyleGuide"
      x-cli-cmd-group: "style-guides"
      tags:
        - "StyleGuide"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/StyleGuide"
      responses:
        201:
          description: "Style guide created successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StyleGuide"
        400:
          description: "BadRequest"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /style_guides/{styleGuideId}:
    get:
      summary: "Get style guide details"
      description: "Get the details of a specific style guide."
      operationId: "getStyleGuide"
      x-cli-cmd-group: "style-guides"
      tags:
        - "StyleGuide"
      parameters:
        - in: "path"
          name: "styleGuideId"
          required: true
          description: "Style Guide ID"
          schema:
            type: "integer"
            format: "int64"
          example: 123
      responses:
        200:
          description: "Style guide details"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StyleGuide"
        404:
          description: "StyleGuideNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: "Update style guide"
      description: "Update an existing style guide."
      operationId: "updateStyleGuide"
      x-cli-cmd-group: "style-guides"
      tags:
        - "StyleGuide"
      parameters:
        - in: "path"
          name: "styleGuideId"
          required: true
          description: "Style Guide ID"
          schema:
            type: "integer"
            format: "int64"
          example: 123
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/StyleGuide"
      responses:
        200:
          description: "Style guide updated successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StyleGuide"
        400:
          description: "BadRequest"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        404:
          description: "StyleGuideNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    delete:
      summary: "Delete style guide"
      description: "Delete an existing style guide."
      operationId: "deleteStyleGuide"
      x-cli-cmd-group: "style-guides"
      tags:
        - "StyleGuide"
      parameters:
        - in: "path"
          name: "styleGuideId"
          required: true
          description: "Style Guide ID"
          schema:
            type: "integer"
            format: "int64"
          example: 123
      responses:
        200:
          description: "Style guide deleted successfully"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OperationStatus"
        404:
          description: "StyleGuideNotFound"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
servers:
  - url: "https://api.motaword.com"
  - url: "https://sandbox.motaword.com"
  - url: "http://localhost"
components:
  securitySchemes:
    basicAuth:
      type: "http"
      scheme: "basic"
    mwoAuth:
      description: "OAuth2 authentication, Client Credentials flow."
      type: "oauth2"
      flows:
        clientCredentials:
          tokenUrl: "/token"
          scopes:
            privileged: "privileged"
            default: "default"
        password:
          tokenUrl: "/token"
          refreshUrl: "/token"
          scopes:
            privileged: "privileged"
            default: "default"
        authorizationCode:
          authorizationUrl: "https://www.motaword.com/auth/authorize"
          tokenUrl: "/token"
          refreshUrl: "/token"
          scopes:
            privileged: "privileged"
            default: "default"
  schemas:
    TokenRequest:
      properties:
        grant_type:
          description: "OAuth2 grant type. We publicly support 'client_credentials' or 'refresh_token' grant types, while other strategies are also possible but not allowed regularly."
          x-public-description: "OAuth2 grant type. We publicly support 'client_credentials' or 'refresh_token' grant types, while other strategies are also possible but not allowed regularly."
          type: "string"
        scope:
          description: "Authorization scope. Use 'privileged' for private endpoints."
          type: "string"
        refresh_token:
          description: "Refresh token value for refresh token flow."
          type: "string"
      required:
        - "grant_type"
        - "scope"
    Token:
      properties:
        access_token:
          type: "string"
        refresh_token:
          type: "string"
        expires_in:
          type: "integer"
          format: "int64"
        token_type:
          type: "string"
        scope:
          type: "string"
        user_id:
          type: "integer"
          format: "int64"
    TokenError:
      allOf:
        - $ref: "#/components/schemas/Error"
        - type: "object"
          properties:
            account_status:
              type: "string"
              enum:
                - "registered"
                - "email_confirmed"
                - "deleted"
                - "suspended"
                - "rejected"
                - "approved"
                - "resume"
                - "webinar"
                - "course"
    ProjectLaunchResponse:
      type: "object"
      properties:
        status:
          $ref: "#/components/schemas/ProjectLaunchResponseEnum"
    ProjectLaunchResponseEnum:
      type: "string"
      enum:
        - "started"
    OperationStatus:
      type: "object"
      properties:
        status:
          $ref: "#/components/schemas/OperationStatusEnum"
    OperationStatusEnum:
      type: "string"
      default: "success"
      enum:
        - "success"
        - "error"
    AsyncOperationStatus:
      type: "object"
      properties:
        key:
          type: "string"
        status:
          $ref: "#/components/schemas/AsyncOperationStatusEnum"
        message:
          type: "object"
        duration:
          description: "operation duration in milliseconds"
          type: "integer"
          format: "int64"
    AsyncOperationStatusEnum:
      type: "string"
      default: "sent"
      enum:
        - "sent"
        - "started"
        - "completed"
        - "failed"
    Error:
      type: "object"
      properties:
        code:
          type: "string"
        http_code:
          type: "integer"
          format: "int32"
        name:
          type: "string"
        message:
          type: "string"
        help:
          type: "string"
        extra_data:
          type: "object"
          additionalProperties:
            $ref: "#/components/schemas/AdditionalErrorData"
          description: "Additional structured data related to the error."
    LinksMeta:
      type: "object"
      properties:
        self:
          $ref: "#/components/schemas/Href"
    Href:
      type: "object"
      properties:
        href:
          type: "string"
    PagingLinksMeta:
      allOf:
        - $ref: "#/components/schemas/LinksMeta"
        - type: "object"
          properties:
            next:
              type: "string"
            previous:
              type: "string"
    PagingMeta:
      type: "object"
      properties:
        paging:
          type: "object"
          properties:
            page:
              type: "integer"
              format: "int64"
              default: 1
            per_page:
              type: "integer"
              format: "int64"
              default: 10
            count:
              type: "integer"
              format: "int64"
            total_count:
              type: "integer"
              format: "int64"
            links:
              $ref: "#/components/schemas/PagingLinksMeta"
    ReportFilter:
      type: "object"
      properties:
        users:
          description: "List of corporate user IDs. Valid for corporate accounts only."
          type: "array"
          items:
            type: "integer"
            format: "int64"
        source_languages:
          description: "List of source language codes."
          type: "array"
          items:
            type: "string"
        target_languages:
          description: "List of target language codes."
          type: "array"
          items:
            type: "string"
        date_from:
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
          type: "string"
          format: "date-time"
        date_to:
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
          type: "string"
          format: "date-time"
        reference_code:
          description: "budget code filter. valid for corporate accounts only."
          type: "string"
    UsersReport:
      type: "object"
      properties:
        report:
          type: "array"
          items:
            type: "object"
            properties:
              user:
                $ref: "#/components/schemas/User"
              spending:
                type: "number"
                format: "float"
              currency:
                type: "string"
              word_count:
                type: "integer"
                format: "int64"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    FilterVendorRequest:
      type: "object"
      properties:
        id:
          type: "array"
          items:
            type: "integer"
        search:
          type: "string"
        first_name:
          type: "string"
        last_name:
          type: "string"
        email_address:
          type: "string"
        country:
          type: "array"
          items:
            type: "string"
        last_online:
          type: "string"
        created_at:
          type: "string"
        status:
          type: "array"
          items:
            type: "string"
        user_working_timezone:
          type: "array"
          items:
            type: "string"
        source_languages:
          type: "array"
          items:
            type: "integer"
        destination_languages:
          type: "array"
          items:
            type: "integer"
        language_pairs:
          type: "array"
          items:
            type: "array"
            items:
              type: "integer"
        vendor_type:
          type: "array"
          items:
            type: "string"
        vendor_tags:
          type: "array"
          items:
            type: "string"
        vendor_groups:
          type: "array"
          items:
            type: "integer"
        clients:
          type: "array"
          items:
            type: "integer"
        corporates:
          type: "array"
          items:
            type: "integer"
        quote_file_subjects:
          type: "array"
          items:
            type: "string"
        project_count:
          type: "integer"
        last_worked:
          type: "string"
        min_tqs:
          type: "number"
        word_count:
          type: "integer"
        corporate_ids_for_auth:
          type: "array"
          items:
            type: "integer"
        experience:
          type: "array"
          items:
            type: "string"
        vendor_working_timezone:
          type: "array"
          items:
            type: "string"
        daily_translation_capacity:
          type: "integer"
        daily_proofreading_capacity:
          type: "integer"
        translator_association:
          type: "string"
        is_certified_translator:
          type: "boolean"
        is_sworn_translator:
          type: "boolean"
        proofreader_experience:
          type: "integer"
        provides_postedit_service:
          type: "boolean"
        provides_creative_writing_service:
          type: "boolean"
        current_services:
          type: "array"
          items:
            type: "string"
        sdl_trados:
          type: "integer"
        memsource:
          type: "integer"
        smartling:
          type: "integer"
        smartcat:
          type: "integer"
        subtitle_edit:
          type: "integer"
        subtitle_workshop:
          type: "integer"
        wordbee:
          type: "integer"
        xtm:
          type: "integer"
        transsuite_2000:
          type: "integer"
        xbench:
          type: "integer"
        omegat:
          type: "integer"
        dtp_software:
          type: "array"
          items:
            type: "string"
        specialization:
          type: "array"
          items:
            type: "string"
        work_with:
          type: "string"
        work_type:
          type: "string"
        working_as:
          type: "array"
          items:
            type: "string"
        vendor_profile_lsp:
          type: "string"
        reference:
          type: "string"
        communication_channel:
          type: "array"
          items:
            type: "string"
        skype_id:
          type: "string"
        memoq:
          type: "integer"
        wordfast:
          type: "integer"
        is_export:
          type: "boolean"
    LanguagePairsReport:
      type: "object"
      properties:
        report:
          type: "array"
          items:
            type: "object"
            properties:
              language_pair:
                type: "object"
                properties:
                  source_language:
                    type: "string"
                  target_language:
                    type: "string"
              spending:
                type: "number"
                format: "float"
              word_count:
                type: "integer"
                format: "int64"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    Language:
      type: "object"
      properties:
        code:
          type: "string"
        name:
          type: "string"
    Formats:
      type: "object"
      properties:
        documents:
          type: "array"
          items:
            type: "string"
        styleguides:
          type: "array"
          items:
            type: "string"
        glossaries:
          type: "array"
          items:
            type: "string"
    PaymentInfo:
      type: "object"
      properties:
        billing:
          $ref: "#/components/schemas/BillingAddress"
        card:
          $ref: "#/components/schemas/CreditCard"
        shared_card:
          $ref: "#/components/schemas/CreditCard"
        corporate:
          type: "object"
          properties:
            billing:
              $ref: "#/components/schemas/BillingAddress"
            card:
              $ref: "#/components/schemas/CreditCard"
            allow_payment_code:
              type: "boolean"
            payment_code:
              type: "string"
            auto_charge:
              type: "boolean"
            allow_api_invoicing:
              type: "boolean"
            contact_email_address:
              type: "string"
        cards:
          type: "array"
          items:
            $ref: "#/components/schemas/CreditCard"
        credits:
          type: "array"
          items:
            $ref: "#/components/schemas/Monetary"
    CreditCard:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        bin:
          type: "string"
        payment_code:
          type: "string"
        is_default:
          type: "boolean"
    UpdatePaymentInfo:
      allOf:
        - $ref: "#/components/schemas/Address"
        - type: "object"
          properties:
            stripeToken:
              type: "string"
            bin:
              type: "string"
            save_as_corporate_primary:
              type: "boolean"
            share_with_corporate_users:
              type: "boolean"
    Project:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        source_language:
          type: "string"
        target_languages:
          type: "array"
          items:
            type: "string"
        word_count:
          type: "integer"
          format: "int64"
        word_count_analysis:
          type: "object"
          properties:
            base:
              type: "number"
              format: "int64"
            exclusion:
              type: "number"
              format: "int64"
            duplicate:
              type: "number"
              format: "int64"
            tm:
              type: "number"
              format: "int64"
            dtp:
              type: "number"
              format: "int64"
            final:
              type: "number"
              format: "int64"
        documents:
          type: "object"
          properties:
            documents:
              type: "array"
              items:
                $ref: "#/components/schemas/Document"
            meta:
              $ref: "#/components/schemas/PagingMeta"
        coupon_code:
          type: "object"
          properties:
            code:
              type: "string"
            id:
              type: "number"
        price:
          type: "object"
          properties:
            amount:
              type: "number"
              format: "float"
            currency:
              type: "string"
              default: "usd"
            base_amount:
              type: "number"
              format: "float"
            base_currency:
              type: "string"
              default: "usd"
            usd_amount:
              description: "USD is our base pricing currency. If `currency` is different, this will help."
              type: "number"
              format: "float"
        price_without_discount:
          type: "object"
          properties:
            amount:
              type: "number"
              format: "float"
            currency:
              type: "string"
              default: "usd"
            base_amount:
              type: "number"
              format: "float"
            base_currency:
              type: "string"
              default: "usd"
            usd_amount:
              description: "USD is our base pricing currency. If `currency` is different, this will help."
              type: "number"
              format: "float"
        status:
          $ref: "#/components/schemas/ProjectStatus"
        delivery_at:
          description: "Unix epoch time"
          type: "integer"
          format: "int64"
        estimated_delivery_at:
          description: "Estimated time string"
          type: "string"
        completed_on:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
        is_certified:
          type: "boolean"
        certificationType:
          type: "string"
        usState:
          type: "string"
        is_continuous:
          type: "boolean"
        is_evaluation:
          type: "boolean"
        is_upgrade_quote:
          type: "boolean"
        upgraded_to_quote_id:
          type: "integer"
          description: "If this evaluation project was upgraded, the ID of the upgrade quote."
        continuous_project_type:
          type: "string"
        subjects:
          type: "array"
          items:
            type: "string"
        valid_until:
          description: "Unix epoch time. Available only if status is `pending`."
          type: "integer"
          format: "int64"
        reference_code:
          type: "string"
        client:
          description: "User entity for Client. This is only given when project is requested with detailed=true"
          $ref: "#/components/schemas/User"
        callback_url:
          type: "string"
          description: "Callback URL to notify when project status changed."
        custom:
          type: "object"
          description: "Custom data provided while creating a new project."
        styleguides:
          type: "object"
          properties:
            styleguides:
              type: "array"
              items:
                $ref: "#/components/schemas/Document"
            meta:
              $ref: "#/components/schemas/PagingMeta"
        progress:
          $ref: "#/components/schemas/Progress"
        created_at:
          description: "Unix epoch time"
          type: "integer"
          format: "int64"
        method:
          $ref: "#/components/schemas/QuoteMethod"
        targetOrganization:
          type: "string"
        services:
          type: "array"
          items:
            type: "string"
        is_same_day_delivery:
          description: "Same day setting for Evaluation files"
          type: "boolean"
        is_wage_level_selected:
          description: "Indicates whether an additional wage level selection has been requested for Evaluation files."
          type: "boolean"
        is_soc_selected:
          description: "Indicates whether an additional Standard Occupational Classification (SOC) selection has been requested for Evaluation files."
          type: "boolean"
        ask_dtp_service:
          description: "Indicates whether DTP service is available and should be offered to the user based on corporate pricing availability."
          type: "boolean"
        show_dtp_info:
          description: "Indicates whether DTP info link should be shown based on corporate status and file page counts."
          type: "boolean"
        ask_post_edit_service:
          description: "Indicates whether Post-Edit service is available and should be offered to the user based on corporate pricing availability."
          type: "boolean"
        notes:
          description: "User note for the project optional"
          type: "string"
        errors:
          type: "array"
          description: "A list of errors. Visible when creating a project and uploading your documents at the same time, in case of multiple errors."
          items:
            $ref: "#/components/schemas/Error"
        links:
          $ref: "#/components/schemas/ProjectLinks"
    ProjectSource:
      type: "string"
      enum:
        - "api"
        - "web"
    ProjectStatus:
      type: "string"
      enum:
        - "pending"
        - "started"
        - "completed"
        - "translated"
        - "proofread"
    VendorProjectRole:
      description: "Currently authed vendor's role in this project. If vendor has already joined, this contains the role they joined the project with. If not joined yet, this is the role that they can join the project with."
      type: "string"
      enum:
        - "translator"
        - "proofreader"
        - "both"
    ProjectLinks:
      allOf:
        - $ref: "#/components/schemas/LinksMeta"
        - type: "object"
          properties:
            documents:
              $ref: "#/components/schemas/Href"
            glossaries:
              $ref: "#/components/schemas/Href"
            styleguides:
              $ref: "#/components/schemas/Href"
            webhooks:
              $ref: "#/components/schemas/Href"
            invoice:
              $ref: "#/components/schemas/Href"
            activities:
              $ref: "#/components/schemas/Href"
            comments:
              $ref: "#/components/schemas/Href"
            progress:
              $ref: "#/components/schemas/Href"
            package:
              $ref: "#/components/schemas/Href"
            download:
              $ref: "#/components/schemas/Href"
            receipt:
              $ref: "#/components/schemas/Href"
            payment:
              $ref: "#/components/schemas/Href"
            edit:
              $ref: "#/components/schemas/Href"
            quote-pdf:
              $ref: "#/components/schemas/Href"
    ProjectList:
      type: "object"
      properties:
        projects:
          type: "array"
          items:
            $ref: "#/components/schemas/Project"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    VendorProjectPair:
      type: "object"
      properties:
        source_language:
          description: "Source language code"
          type: "string"
        target_language:
          description: "Target language code"
          type: "string"
        translation_rate:
          type: "number"
          format: "float"
        proofreading_rate:
          type: "number"
          format: "float"
        post_edit_rate:
          type: "number"
          format: "float"
        currency:
          type: "string"
          default: "usd"
        is_proofreader:
          description: "Indicates if the vendor be able to proofred this pair"
          type: "boolean"
        proofreader:
          $ref: "#/components/schemas/User"
    ProgressSub:
      type: "object"
      properties:
        total:
          type: "number"
          format: "float"
        translation:
          type: "number"
          format: "float"
        proofreading:
          type: "number"
          format: "float"
        word_count:
          type: "integer"
          format: "int64"
    Progress:
      allOf:
        - type: "object"
          properties:
            project_status:
              $ref: "#/components/schemas/ProjectStatus"
            languages:
              type: "object"
              additionalProperties:
                $ref: "#/components/schemas/ProgressSub"
            links:
              $ref: "#/components/schemas/ProgressLink"
        - $ref: "#/components/schemas/ProgressSub"
    ContinuousProjectProgress:
      type: "object"
      properties:
        progress:
          $ref: "#/components/schemas/Progress"
        word_counts:
          $ref: "#/components/schemas/ContinuousProjectWordCounts"
        costs:
          $ref: "#/components/schemas/ContinuousProjectCosts"
    ContinuousProjectInvoices:
      type: "object"
      properties:
        invoices:
          type: "array"
          items:
            $ref: "#/components/schemas/Invoice"
    ContinuousProjectWordCounts:
      type: "object"
      properties:
        mt:
          type: "integer"
          format: "int64"
        post_edit:
          type: "integer"
          format: "int64"
        total:
          type: "integer"
          format: "int64"
    ContinuousProjectCosts:
      type: "object"
      properties:
        mt:
          $ref: "#/components/schemas/Monetary"
        post_edit:
          $ref: "#/components/schemas/Monetary"
        saved:
          $ref: "#/components/schemas/Monetary"
        total:
          $ref: "#/components/schemas/Monetary"
    ProgressLink:
      allOf:
        - $ref: "#/components/schemas/LinksMeta"
        - type: "object"
          properties:
            project:
              $ref: "#/components/schemas/Href"
    CallbackResult:
      type: "object"
      properties:
        type:
          $ref: "#/components/schemas/ProjectStatus"
        url:
          type: "string"
          description: "The URL that received the callback."
        result:
          type: "string"
          description: "Callback response returned from `url`."
        data:
          $ref: "#/components/schemas/Project"
    Package:
      allOf:
        - $ref: "#/components/schemas/PackageStatus"
        - type: "object"
          properties:
            key:
              type: "string"
              description: "This is the unique package tracking key. You can use this key to track the current progress of the translation packaging with /package/check call."
    PackageStatus:
      type: "object"
      properties:
        status:
          $ref: "#/components/schemas/PackageStatusEnum"
    PackageStatusEnum:
      type: "string"
      description: "The status of translation packaging. Possible values are 'started', 'packaging', 'completed'. When completed, you can make a /download call to download the last translation package."
      enum:
        - "started"
        - "packaging"
        - "completed"
    Document:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        project_id:
          type: "integer"
          format: "int64"
        name:
          type: "string"
        data:
          type: "string"
          format: "byte"
          description: "Base64-encoded content of your file. Transient field used while uploading a file via JSON content."
        scheme:
          type: "object"
        services:
          type: "array"
          items:
            type: "string"
        subject:
          type: "string"
        file_type:
          type: "string"
          description: "Extension of the file"
        source_language:
          type: "string"
        target_languages:
          type: "array"
          items:
            type: "string"
        word_count:
          type: "integer"
          format: "int64"
        review_in_manual_editor:
          type: "boolean"
        manual_files:
          type: "array"
          items:
            $ref: "#/components/schemas/ManualFile"
        search_score:
          type: "number"
          format: "float"
        has_custom_package:
          type: "boolean"
        uploaded_at:
          description: "Unix epoch time"
          type: "integer"
          format: "int64"
        analysis:
          $ref: "#/components/schemas/Analysis"
        links:
          $ref: "#/components/schemas/DocumentLinks"
        method:
          $ref: "#/components/schemas/ProcessMethod"
        has_embedded_image:
          type: "boolean"
        may_contain_watermark:
          type: "boolean"
        price:
          description: "Price override for custom file/service or subscription item. Not editable for usual translation operations. Only visible for updates, not reads."
          type: "object"
          properties:
            amount:
              type: "number"
              format: "float"
            currency:
              type: "string"
              default: "USD"
        content:
          description: "Text content of the file. Only available for style guide files when 'content' is included in the 'with' parameter."
          type: "string"
    ContinuousProjectDocument:
      type: "object"
      properties:
        id:
          type: "string"
        project_id:
          type: "string"
        name:
          type: "string"
        source_language:
          type: "string"
        target_languages:
          type: "array"
          items:
            type: "string"
        word_count:
          type: "integer"
          format: "int64"
        billed_word_count:
          type: "integer"
          format: "int64"
        post_edit_enabled:
          type: "boolean"
        links:
          $ref: "#/components/schemas/DocumentLinks"
    LinkedSourceDocument:
      type: "object"
      properties:
        source:
          description: "Preferred source names are listed as enum. If you have a custom file type, simply enter that name."
          type: "string"
          enum:
            - "dropbox"
            - "googledrive"
            - "icloud"
        url:
          type: "string"
          format: "uri"
        name:
          type: "string"
        size:
          description: "file size in bytes. optional."
          type: "integer"
          format: "int64"
    ManualFile:
      type: "object"
      properties:
        language:
          type: "string"
        translationFileId:
          type: "integer"
          format: "int64"
        proofreadingFileId:
          type: "integer"
          format: "int64"
        driveFileId:
          type: "integer"
          format: "int64"
        isTranslated:
          type: "boolean"
        isProofread:
          type: "boolean"
        translator:
          $ref: "#/components/schemas/User"
        proofreader:
          $ref: "#/components/schemas/User"
        driveLink:
          type: "string"
    DocumentLinks:
      allOf:
        - $ref: "#/components/schemas/LinksMeta"
        - type: "object"
          properties:
            download:
              $ref: "#/components/schemas/Href"
            project:
              $ref: "#/components/schemas/Href"
            thumbnail:
              description: "Thumbnail preview URL of the document. If doc has a page structure, this is probably only the first page."
              $ref: "#/components/schemas/Href"
            preview-box:
              description: "Box.com URL to preview this document. This URL is temporary. You need to re-fetch the file to refresh the Box.com preview URL. Available for documents and style guides."
              $ref: "#/components/schemas/Href"
            preview-pdf:
              description: "This is our fallback preview URL, providing a PDF file. Use this file to embed in your PDF viewer. Available for documents and style guides."
              $ref: "#/components/schemas/Href"
            preview-pdf-viewer:
              description: "This is another version of preview-pdf, this time pointing to a preview viewer page on front application. This page requires authentication and comes with its own PDF viewer."
              $ref: "#/components/schemas/Href"
            editors:
              type: "object"
              additionalProperties:
                description: "MotaWord editor link for this file, in this language code."
                $ref: "#/components/schemas/Href"
            admins:
              type: "object"
              additionalProperties:
                description: "MotaWord admin link for this file, in this language code."
                $ref: "#/components/schemas/Href"
            progress:
              description: "Progress endpoint URL for this file"
              $ref: "#/components/schemas/Href"
            strings:
              description: "Strings endpoint URL for this file"
              $ref: "#/components/schemas/Href"
            highlighted:
              description: "Highlighted source preview URL for this file"
              $ref: "#/components/schemas/Href"
    DocumentList:
      type: "object"
      properties:
        documents:
          type: "array"
          items:
            $ref: "#/components/schemas/Document"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    ContinuousProjectDocumentList:
      type: "object"
      properties:
        documents:
          type: "array"
          items:
            $ref: "#/components/schemas/ContinuousProjectDocument"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    StyleGuide:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        name:
          type: "string"
        language_code:
          type: "string"
        file_type:
          type: "string"
        file_content:
          type: "string"
        created_at:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
        updated_at:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
    StyleGuideList:
      type: "object"
      properties:
        styleguides:
          type: "array"
          items:
            $ref: "#/components/schemas/Document"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    StyleGuides:
      type: "object"
      properties:
        style_guides:
          type: "array"
          items:
            $ref: "#/components/schemas/StyleGuide"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    Glossary:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        name:
          type: "string"
        uploaded_at:
          description: "Unix epoch time"
          type: "integer"
          format: "int64"
        links:
          $ref: "#/components/schemas/DocumentLinks"
    GlossaryList:
      type: "object"
      properties:
        glossaries:
          type: "array"
          items:
            $ref: "#/components/schemas/Document"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    GlossaryEntryList:
      type: "object"
      properties:
        entries:
          type: "array"
          items:
            $ref: "#/components/schemas/GlossaryEntry"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    GlossaryEntry:
      type: "object"
      properties:
        id:
          type: "string"
        sourceLanguage:
          type: "string"
        description:
          type: "string"
        externalGlossaryName:
          description: "Only given if the entry is not explicitly from the current glossary ID given in the request. e.g., in \"default\" glossary ID, we automatically include entries from the corporate's project"
          type: "string"
        terms:
          type: "array"
          items:
            $ref: "#/components/schemas/GlossaryTerm"
      items:
        $ref: "#/components/schemas/GlossaryTerm"
    GlossaryTerm:
      type: "object"
      properties:
        id:
          type: "string"
        locale:
          type: "string"
        content:
          type: "string"
        comment:
          type: "string"
    Activity:
      type: "object"
      properties:
        admin:
          type: "string"
        context_type:
          type: "string"
        context_value:
          type: "string"
        action_type:
          type: "string"
        action_value:
          type: "string"
        info:
          type: "string"
        time:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
        mentions:
          type: "array"
          items:
            type: "string"
    ActivityList:
      type: "object"
      properties:
        activities:
          type: "array"
          items:
            $ref: "#/components/schemas/Activity"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    Comment:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        comment:
          type: "string"
          description: "Comment text."
        commented_at:
          description: "Unix epoch time"
          type: "integer"
          format: "int64"
        links:
          $ref: "#/components/schemas/CommentLinks"
      required:
        - "comment"
    CommentLinks:
      allOf:
        - $ref: "#/components/schemas/LinksMeta"
        - type: "object"
          properties:
            activity:
              description: "Link to the activity to which this comment was submitted."
              $ref: "#/components/schemas/Href"
            project:
              $ref: "#/components/schemas/Href"
    CommentList:
      type: "object"
      properties:
        activities:
          type: "array"
          items:
            $ref: "#/components/schemas/Comment"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    BlogArticleLinks:
      allOf:
        - $ref: "#/components/schemas/LinksMeta"
        - type: "object"
          properties:
            web:
              $ref: "#/components/schemas/Href"
            android:
              $ref: "#/components/schemas/Href"
            ios:
              $ref: "#/components/schemas/Href"
            header_image:
              $ref: "#/components/schemas/Href"
    BlogArticle:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        language:
          type: "string"
          description: "language code"
        slug:
          type: "string"
        author:
          type: "string"
        topic:
          type: "string"
        title:
          type: "string"
        announcement_type:
          type: "string"
          enum:
            - "article"
            - "case"
            - "famous-translators"
            - "sales"
        excerpt:
          type: "string"
          description: "Article excerpt"
        content:
          type: "string"
          description: "Article content"
        created_at:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
        links:
          $ref: "#/components/schemas/BlogArticleLinks"
    BlogArticleList:
      type: "object"
      properties:
        articles:
          type: "array"
          items:
            $ref: "#/components/schemas/BlogArticle"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    UserList:
      type: "object"
      properties:
        users:
          type: "array"
          items:
            $ref: "#/components/schemas/User"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    VendorTag:
      type: "object"
      properties:
        name:
          type: "string"
        color:
          type: "string"
    User:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        name:
          type: "string"
        first_name:
          type: "string"
        last_name:
          type: "string"
        has_pwd:
          type: "boolean"
        locale:
          type: "string"
          description: "User Locale"
        timezone:
          type: "string"
        do_not_contact:
          type: "boolean"
        corporate_id:
          type: "integer"
          format: "int64"
        is_client:
          type: "boolean"
        is_developer:
          type: "boolean"
        is_vendor:
          type: "boolean"
        vendor:
          type: "object"
          properties:
            profile_survey:
              type: "object"
              description: "Vendor Profile Survey answers"
              $ref: "#/components/schemas/ProfileSurvey"
            id:
              type: "integer"
              format: "int64"
            native_language:
              type: "string"
              description: "Native language of user"
            can_work_manual_files:
              type: "boolean"
            is_frozen:
              type: "boolean"
            is_proofreader:
              type: "boolean"
            language_pairs:
              type: "array"
              items:
                $ref: "#/components/schemas/LanguagePair"
            pam_tqs:
              type: "number"
              format: "float"
            vendor_type:
              type: "string"
            email_open_rate:
              type: "number"
              format: "float"
        client:
          type: "object"
          properties:
            corporate:
              type: "object"
              properties:
                id:
                  type: "integer"
                  format: "int64"
                name:
                  type: "string"
                logo:
                  type: "string"
                ask_additional_docs:
                  type: "boolean"
            nps:
              type: "number"
              format: "float"
            subjects:
              type: "object"
              additionalProperties:
                type: "integer"
                format: "int64"
        status:
          type: "string"
        created_at:
          description: "Unix epoch time"
          type: "integer"
          format: "int64"
        last_seen_online_at:
          description: "Unix epoch time"
          type: "integer"
          format: "int64"
        profile_picture_path:
          type: "string"
        user_groups:
          type: "array"
          items:
            $ref: "#/components/schemas/UserGroup"
        native_language:
          deprecated: true
          type: "string"
          description: "\\@deprecated. Native language of user"
        can_work_manual_files:
          deprecated: true
          description: "\\@deprecated. use `vendor` key"
          type: "boolean"
        is_proofreader:
          deprecated: true
          description: "\\@deprecated. use `vendor` key"
          type: "boolean"
        language_pairs:
          deprecated: true
          description: "\\@deprecated. use `vendor` key"
          type: "array"
          items:
            $ref: "#/components/schemas/LanguagePair"
        project_count:
          type: "integer"
          format: "int64"
        admin_id:
          type: "integer"
          format: "int64"
        links:
          $ref: "#/components/schemas/UserLinks"
    UserLinks:
      allOf:
        - $ref: "#/components/schemas/LinksMeta"
        - type: "object"
          properties:
            stats:
              $ref: "#/components/schemas/Href"
            responsivity:
              description: "vendor users only"
              $ref: "#/components/schemas/Href"
            projects:
              description: "client users only"
              $ref: "#/components/schemas/Href"
            login_as:
              description: "Exculusive users only"
              $ref: "#/components/schemas/Href"
    PopularLanguagePairs:
      type: "object"
      properties:
        pairs:
          type: "array"
          items:
            $ref: "#/components/schemas/LanguagePair"
    ProfileSurvey:
      type: "object"
      properties:
        experience:
          type: "string"
        daily_translation_capacity:
          type: "string"
        daily_proofreading_capacity:
          type: "string"
        translator_association:
          type: "string"
        is_certified_translator:
          type: "string"
        is_sworn_translator:
          type: "string"
        proofreader_experience:
          type: "string"
        provides_postedit_service:
          type: "string"
        provides_creative_writing_service:
          type: "string"
        current_services:
          type: "string"
        sdl_trados:
          type: "string"
        memoq:
          type: "string"
        memsource:
          type: "string"
        smartling:
          type: "string"
        smartcat:
          type: "string"
        subtitle_edit:
          type: "string"
        subtitle_workshop:
          type: "string"
        wordbee:
          type: "string"
        xtm:
          type: "string"
        transsuite_2000:
          type: "string"
        xbench:
          type: "string"
        wordfast:
          type: "string"
        omegat:
          type: "string"
        dtp_software:
          type: "string"
        software:
          type: "string"
        working_timezone:
          type: "string"
        specialization:
          type: "string"
        work_with:
          type: "string"
        work_type:
          type: "string"
        working_as:
          type: "string"
        vendor_profile_lsp:
          type: "string"
        reference:
          type: "string"
        skype_id:
          type: "string"
    LanguagePair:
      type: "object"
      properties:
        source_language:
          type: "string"
        target_language:
          type: "string"
    Stats:
      type: "object"
      properties:
        client:
          $ref: "#/components/schemas/ClientStats"
        vendor:
          $ref: "#/components/schemas/VendorStats"
    Earnings:
      type: "object"
      properties:
        completed:
          type: "array"
          items:
            $ref: "#/components/schemas/EarningWithTQS"
        ongoing:
          type: "array"
          items:
            $ref: "#/components/schemas/EarningWithTQS"
        total:
          type: "number"
          format: "float"
    EarningWithTQS:
      allOf:
        - $ref: "#/components/schemas/Earning"
        - $ref: "#/components/schemas/ProjectTQS"
        - type: "object"
          properties:
            project_id:
              type: "integer"
              format: "int64"
    Earning:
      type: "object"
      properties:
        words:
          type: "integer"
          format: "int64"
        words_translated:
          type: "integer"
          format: "int64"
        words_approved:
          type: "integer"
          format: "int64"
        words_post_edited:
          type: "integer"
          format: "int64"
        amount:
          type: "number"
          format: "float"
        currency:
          type: "string"
          default: "usd"
        status:
          type: "string"
          enum:
            - "paid"
            - "pending"
            - "failed"
        due_date:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
    ProjectTQS:
      type: "object"
      properties:
        strings_translated:
          description: "The number of translated strings by this translator."
          type: "integer"
          format: "int64"
        strings_edited:
          description: "The number of translated strings by this translator which was edited by a proofreader."
          type: "integer"
          format: "int64"
        score:
          type: "number"
          format: "float"
        is_above_average:
          description: "Is this score above or below the average among other vendors in the same project?"
          type: "boolean"
    ClientStats:
      type: "object"
      properties:
        started_project_count:
          type: "integer"
          format: "int64"
        total_project_count:
          type: "integer"
          format: "int64"
        document_count:
          type: "integer"
          format: "int64"
        translator_count:
          type: "integer"
          format: "int64"
        total_spending:
          type: "number"
          format: "float"
        total_discounted:
          $ref: "#/components/schemas/Monetary"
        remaining_credit:
          $ref: "#/components/schemas/Monetary"
        nps:
          type: "number"
          format: "float"
    ClientProjectStats:
      type: "object"
      properties:
        stats:
          type: "array"
          items:
            $ref: "#/components/schemas/ClientProjectStat"
    ClientProjectStat:
      type: "object"
      properties:
        month:
          type: "string"
        week:
          type: "string"
        number_of_projects:
          type: "integer"
          format: "int64"
        total_spending:
          type: "number"
          format: "float"
        languages:
          type: "array"
          items:
            type: "string"
    ClientStringStats:
      type: "object"
      properties:
        total_project_strings_count:
          type: "integer"
          format: "int64"
        total_tm_strings_count:
          type: "integer"
          format: "int64"
        language_counts:
          type: "array"
          items:
            $ref: "#/components/schemas/LanguageStringStat"
    LanguageStringStat:
      type: "object"
      properties:
        source_language:
          type: "string"
        project_string_count:
          type: "integer"
          format: "int64"
        tm_string_count:
          type: "integer"
          format: "int64"
    VendorStats:
      type: "object"
      properties:
        projects:
          $ref: "#/components/schemas/VendorProjectStats"
        words:
          $ref: "#/components/schemas/VendorWordStats"
        earnings:
          $ref: "#/components/schemas/VendorEarningStats"
    VendorProjectStats:
      type: "object"
      properties:
        total:
          description: "total number of projects that this user was invited to."
          type: "integer"
          format: "int64"
        invited:
          description: "total number of projects that this user was invited to. TODO this key is to replace \"total\" key due to naming ambiguity."
          type: "integer"
          format: "int64"
        worked:
          description: "total number of projects that this user actually worked on."
          type: "integer"
          format: "int64"
    VendorWordStats:
      type: "object"
      properties:
        translated:
          description: "total number of words that this user has translated so far."
          type: "integer"
          format: "int64"
        approved:
          description: "total number of words that this user has approved so far."
          type: "integer"
          format: "int64"
    VendorEarningStats:
      type: "object"
      properties:
        total:
          description: "total amount of USD that this user has earned in the platform so far."
          type: "number"
          format: "float"
    Responsivity:
      type: "object"
      properties:
        month:
          type: "string"
        week:
          type: "string"
        score:
          type: "number"
          format: "float"
        invited:
          type: "integer"
          format: "int64"
        notEntered:
          type: "integer"
          format: "int64"
        onlyEntered:
          type: "integer"
          format: "int64"
        worked:
          type: "integer"
          format: "int64"
    Address:
      type: "object"
      properties:
        street:
          type: "string"
        city:
          type: "string"
        state:
          type: "string"
        zip:
          type: "string"
        country:
          type: "string"
        phone:
          type: "string"
    NotificationSubscription:
      type: "object"
      properties:
        endpoint:
          type: "string"
          description: "OneSignal calls this \"player ID\"."
        type:
          type: "string"
          enum:
            - "OneSignal"
          default: "OneSignal"
        device:
          type: "string"
          enum:
            - "iOS"
            - "Android"
            - "Chrome"
            - "Firefox"
            - "Safari"
            - "Edge"
            - "Amazon"
            - "WindowsPhone"
            - "Windows"
            - "MacOS"
    BillingAddress:
      allOf:
        - $ref: "#/components/schemas/Address"
        - type: "object"
          properties:
            name:
              description: "addressing name, such as company name. used in billing address."
              type: "string"
              default: ""
    ResponsivityList:
      type: "object"
      properties:
        responsivity:
          type: "array"
          items:
            $ref: "#/components/schemas/Responsivity"
        links:
          allOf:
            - $ref: "#/components/schemas/LinksMeta"
    Email:
      type: "object"
      properties:
        email:
          type: "string"
    EmailExistRequest:
      type: "object"
      properties:
        email:
          type: "string"
    Tag:
      type: "string"
    UserUpdateContent:
      allOf:
        - $ref: "#/components/schemas/Address"
        - type: "object"
          properties:
            id:
              description: "Optional. ID of the user being updated."
              type: "integer"
              format: "int64"
            first_name:
              description: "Optional. User first name."
              type: "string"
            last_name:
              description: "Optional. User last name."
              type: "string"
            email:
              description: "Optional. User e-mail."
              type: "string"
            paypal_email:
              description: "Optional. Vendor paypal e-mail"
              type: "string"
            birthday:
              type: "string"
              format: "date"
            require_1099:
              description: "Optional. Whether this vendor requires 1099 form in US for their earnings."
              type: "boolean"
            notifications:
              description: "Notification settings"
              type: "object"
              properties:
                phone_number:
                  description: "User phone number"
                  type: "string"
                sms_enabled:
                  description: "User sms notification setting"
                  type: "boolean"
            user_groups:
              description: "A list of user group IDs"
              type: "array"
              items:
                type: "integer"
                format: "int64"
            notify:
              description: "Notify new user account creation with login information and MotaWord introduction."
              type: "boolean"
    PasswordUpdateContent:
      type: "object"
      properties:
        password:
          description: "New Password"
          type: "string"
    LocationUpdateContent:
      type: "object"
      properties:
        lat:
          description: "Latitude of location"
          type: "number"
          format: "float"
        lon:
          description: "Longitude of location"
          type: "number"
          format: "float"
        timestamp:
          type: "integer"
      required:
        - "lat"
        - "lon"
    Invoice:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        invoice_no:
          type: "integer"
          format: "int64"
        amount:
          description: "Monetary amount"
          type: "number"
          format: "float"
        currency:
          type: "string"
          default: "usd"
        base_amount:
          description: "Monetary amount"
          type: "number"
          format: "float"
        base_currency:
          type: "string"
          default: "usd"
        status:
          type: "string"
        billing:
          $ref: "#/components/schemas/BillingAddress"
        invoiced_at:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
        links:
          $ref: "#/components/schemas/InvoiceLinks"
    InvoiceLinks:
      allOf:
        - $ref: "#/components/schemas/LinksMeta"
        - type: "object"
          properties:
            json:
              $ref: "#/components/schemas/Href"
            view:
              $ref: "#/components/schemas/Href"
            pdf:
              $ref: "#/components/schemas/Href"
            html:
              $ref: "#/components/schemas/Href"
            project:
              $ref: "#/components/schemas/Href"
            corporate:
              $ref: "#/components/schemas/Href"
    ProjectInSearch:
      allOf:
        - $ref: "#/components/schemas/Project"
        - type: "object"
          properties:
            search_result_reason:
              type: "string"
    DocumentInSearch:
      allOf:
        - $ref: "#/components/schemas/Document"
        - type: "object"
          properties:
            search_result_reason:
              type: "string"
    StringInSearch:
      type: "object"
      properties:
        source:
          type: "string"
        target:
          type: "string"
        targets:
          type: "array"
          items:
            type: "string"
        project_id:
          type: "integer"
          format: "int64"
        file_id:
          type: "integer"
          format: "int64"
        string_id:
          type: "integer"
          format: "int64"
        type:
          type: "string"
          description: "String search result typ from ZNT. Options are LOCAL_PROJECT, IMPORTED_TM. Imported TM results should probably not be visible to end users."
          enum:
            - "LOCAL_PROJECT"
            - "IMPORTED_TM"
        search_score:
          type: "number"
          format: "float"
        status:
          $ref: "#/components/schemas/StringTranslationState"
        tm_name:
          type: "string"
        last_updated:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
        internal_project_id:
          type: "integer"
          format: "int64"
    SearchEverywhereResult:
      type: "object"
      properties:
        result:
          type: "object"
          properties:
            projects:
              type: "array"
              items:
                $ref: "#/components/schemas/ProjectInSearch"
            documents:
              type: "array"
              items:
                $ref: "#/components/schemas/DocumentInSearch"
            strings:
              type: "array"
              items:
                $ref: "#/components/schemas/StringInSearch"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    SingleString:
      type: "object"
      properties:
        id:
          type: "string"
        content:
          type: "string"
          description: "source string content"
        file_id:
          type: "integer"
          format: "int64"
    StringTranslation:
      type: "object"
      properties:
        id:
          type: "string"
        content:
          type: "string"
          description: "source string content"
        state:
          $ref: "#/components/schemas/StringTranslationState"
    StringTranslationState:
      type: "string"
      enum:
        - "Approved"
        - "Translated"
    StringWithTranslations:
      allOf:
        - $ref: "#/components/schemas/SingleString"
        - type: "object"
          properties:
            translations:
              type: "object"
              additionalProperties:
                $ref: "#/components/schemas/StringTranslation"
    StringList:
      type: "object"
      properties:
        translations:
          type: "array"
          items:
            $ref: "#/components/schemas/StringWithTranslations"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    ContinuousProjectCache:
      description: "Continuous project cache for translations per target language."
      type: "object"
      properties:
        translations:
          type: "object"
          additionalProperties:
            $ref: "#/components/schemas/ContinuousProjectLanguageCache"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    ContinuousProjectLanguageCache:
      description: "TM, MT and Nonparsed cache list for translations"
      type: "object"
      properties:
        tm:
          $ref: "#/components/schemas/ContinuousProjectCachedStrings"
        mt:
          $ref: "#/components/schemas/ContinuousProjectCachedStrings"
        nonparsed:
          $ref: "#/components/schemas/ContinuousProjectCachedStrings"
    ContinuousProjectCachedStrings:
      description: "source > target map of strings for translations"
      type: "object"
      additionalProperties:
        type: "string"
    ListOrderType:
      type: "string"
      enum:
        - "asc"
        - "desc"
    SocialMedia:
      type: "object"
      properties:
        facebook_url:
          type: "string"
        twitter_url:
          type: "string"
        linkedIn_url:
          type: "string"
    LanguageScore:
      type: "number"
      format: "float"
    ClientStringTranslation:
      type: "object"
      properties:
        content:
          type: "string"
        last_changed:
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
          type: "string"
          format: "date-time"
        target_language:
          type: "string"
        state:
          type: "string"
          enum:
            - "Translated"
            - "Approved"
        resource:
          type: "string"
        resource_id:
          type: "string"
    ClientStringWithTranslations:
      type: "object"
      properties:
        content:
          type: "string"
        last_changed:
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
          type: "string"
          format: "date-time"
        language:
          type: "string"
        translations:
          type: "array"
          items:
            $ref: "#/components/schemas/ClientStringTranslation"
    ClientStrings:
      type: "object"
      properties:
        strings:
          type: "array"
          items:
            $ref: "#/components/schemas/ClientStringWithTranslations"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    Monetary:
      type: "object"
      properties:
        amount:
          type: "number"
          format: "float"
        currency:
          type: "string"
          default: "usd"
    MachineTranslatedStrings:
      type: "object"
      properties:
        strings:
          type: "array"
          items:
            $ref: "#/components/schemas/ClientStringWithTranslations"
        cost:
          $ref: "#/components/schemas/Monetary"
    UseAsDraftPayload:
      type: "object"
      properties:
        fromFileId:
          type: "number"
        fromManualTranslationFileId:
          type: "number"
        toManualTranslationFileId:
          type: "number"
    UseAsRegularPayload:
      type: "object"
      properties:
        fromManualTranslationFileId:
          type: "number"
        recreate:
          type: "boolean"
        allowReviewInManualEditor:
          type: "boolean"
        hideNumbers:
          type: "boolean"
        disableInvitations:
          type: "boolean"
        allowOriginalFilePreview:
          type: "boolean"
    Commission:
      type: "object"
      properties:
        project:
          $ref: "#/components/schemas/Project"
        amount:
          $ref: "#/components/schemas/Monetary"
        date:
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
          type: "string"
          format: "date-time"
        status:
          type: "string"
          enum:
            - "completed"
            - "unclaimed"
            - "failed"
            - "sent"
            - "waiting"
            - "waiting_invoice"
    CommissionList:
      type: "object"
      properties:
        commissions:
          type: "array"
          items:
            $ref: "#/components/schemas/Commission"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    CommissionStats:
      type: "object"
      properties:
        total:
          $ref: "#/components/schemas/Monetary"
        paid:
          $ref: "#/components/schemas/Monetary"
        balance:
          $ref: "#/components/schemas/Monetary"
        quote_total:
          $ref: "#/components/schemas/Monetary"
    SalesActivities:
      type: "object"
      properties:
        activities:
          type: "array"
          items:
            $ref: "#/components/schemas/SalesActivity"
    SalesActivity:
      type: "object"
      properties:
        type:
          type: "string"
        body:
          type: "string"
        created_by:
          type: "string"
        created_at:
          description: "timestamp"
          type: "integer"
          format: "int64"
    SalesActivityType:
      type: "string"
      enum:
        - "EMAIL"
        - "NOTE"
        - "INCOMING_EMAIL"
        - "TASK"
    NewSalesActivity:
      type: "object"
      properties:
        type:
          description: "Activity Type"
          type: "string"
        timestamp:
          type: "integer"
          format: "int64"
        subject:
          type: "string"
    AvailableVendorsFilter:
      type: "object"
      properties:
        sourceLanguage:
          description: "Source language code"
          type: "string"
        targetLanguages:
          description: "List of target language codes."
          type: "array"
          items:
            type: "string"
        types:
          description: "List of vendor types"
          type: "array"
          items:
            type: "string"
            enum:
              - "translator"
              - "proofreader"
              - "both"
        corporateId:
          description: "Corporate account ID to filter for vendor authorization"
          type: "number"
        manualWorkPermission:
          description: "Filter vendors for manual work permission"
          type: "boolean"
          default: 0
    PamMessage:
      type: "object"
      properties:
        recipients:
          description: "name of the recipients in the channel"
          type: "array"
          items:
            type: "string"
        message:
          description: "the message to be sent"
          type: "string"
        slots:
          description: "contexts for next message"
          type: "array"
          items:
            type: "string"
        thread_id:
          description: "id of the thread"
          type: "string"
        thread_key:
          description: "the key for thread_id default is project"
          type: "string"
    ProjectCompletionReport:
      type: "object"
      properties:
        id:
          description: "internal id of the project"
          type: "number"
          format: "int64"
        quote_id:
          description: "quote id of the project"
          type: "number"
          format: "int64"
        admin_user_id:
          description: "Assigned admin's user id"
          type: "number"
          format: "int64"
        completion_report_data:
          type: "array"
          items:
            $ref: "#/components/schemas/InvitedVendorsByLanguage"
    ClientProfile:
      type: "object"
      properties:
        full_name:
          description: "full name of the client"
          type: "string"
        account_creation_date:
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
          type: "string"
          format: "date-time"
        corporate:
          description: "corporate name"
          type: "string"
        corporate_id:
          description: "corporate id"
          type: "number"
        corporate_user_count:
          description: "total user count in a corporation"
          type: "number"
        user_rank_in_project_count:
          description: "rank of the user in all corporate users for project count. If the user is the most active user foor sending projects her rank is 1"
          type: "number"
        user_rank_in_spending:
          description: "rank of the user in all corporate users for total spending. If the user is the most active user for spending her rank is 1"
          type: "number"
        last_12_months_spending:
          description: "corporate's spending in twelve months"
          type: "number"
          format: "float"
        growth:
          description: "The answer for the question \"Is there any growth for this corporate's spending\". The values can be true, false or null if the corporate is oour client for less than 6 months"
          type: "boolean"
        client_project_count:
          description: "total project count that this client sent"
          type: "number"
        last_project:
          description: "the quote number for the last project of this client"
          type: "number"
        last_project_time:
          description: "the creation date of the last project that is sent by this client"
          type: "string"
          format: "date-time"
        last_proofreaders:
          description: "list of prooofreaders for the target languages of last project"
          type: "array"
          items:
            $ref: "#/components/schemas/ProofreaderWithLanguage"
        frequent_language_pairs:
          description: "frequent language pairs"
          type: "array"
          items:
            type: "string"
        is_complex:
          description: "the answer for the question \"Is this client usually sent complex projects?\""
          type: "boolean"
        frequent_file_extension:
          description: "the file extension for the files that usually this client sent"
          type: "string"
        notes:
          description: "Customer notes for attention during the project"
          type: "array"
          items:
            type: "string"
        nps:
          description: "net promoter score info for this client"
          type: "object"
          properties:
            last:
              description: "last survey info"
              type: "object"
              properties:
                completion_date:
                  description: "last surveys completion date"
                  type: "string"
                  format: "date-time"
                score:
                  description: "score that the client gave us"
                  type: "number"
            average:
              description: "information for all nps survey that this client completed"
              type: "object"
              properties:
                completed_surveys_count:
                  description: "total number of completed survey count by this client"
                  type: "number"
                score:
                  description: "average score for all coompleted surveys"
                  type: "number"
                  format: "float"
    InvitedVendorsByLanguage:
      type: "object"
      properties:
        target_language:
          description: "Target Language that the vendors invited for"
          type: "string"
        invited_vendors:
          description: "Invited vendors for this target language"
          type: "array"
          items:
            $ref: "#/components/schemas/InvitedVendor"
    InvitedVendor:
      type: "object"
      properties:
        user_id:
          description: "Id in the Users"
          type: "number"
          format: "int64"
        vendor_id:
          description: "Id in the Vendors"
          type: "number"
          format: "int64"
        vendor_name:
          description: "The name of the vendor"
          type: "string"
        is_entered:
          description: "Did the vendor enter the given project"
          type: "boolean"
        is_worked:
          description: "Did the vendor work on the given project"
          type: "boolean"
        responsiveness:
          description: "Responsiveness of the vendor"
          type: "number"
        project_status_when_interacted:
          description: "Project translation percentage when interacted with the vendor"
          type: "number"
        email_open_rate:
          description: "Email opening rate of the vendor"
          type: "number"
        vendor_type:
          description: "Type of the vendor in the given project namely translator or proofreader"
          type: "string"
        is_worked_in_any_project:
          description: "Vendors working status in any project"
          type: "boolean"
        is_get_paid:
          description: "Is vendor get ever paid?"
          type: "boolean"
        registration_date:
          description: "Registration date"
          type: "string"
          format: "date"
        last_project_date:
          description: "Last project date"
          type: "string"
          format: "date"
        action:
          description: "Action to be taken"
          type: "string"
    ProofreaderWithLanguage:
      type: "object"
      properties:
        language:
          description: "language code (i.e en-US)"
          type: "string"
        id:
          description: "proofreader id"
          type: "number"
          format: "int64"
        full_name:
          description: "full name of the proofreader"
          type: "string"
        vendor_link:
          description: "link to the vendor that can be only used in motaword admin application"
          type: "string"
    ContinuousProject:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        name:
          type: "string"
        type:
          description: "Continuous project type. We currently have only 2 types, NULL and \"active\"."
          type: "string"
        word_count:
          type: "integer"
          format: "int64"
        source_language:
          type: "string"
        target_languages:
          type: "array"
          items:
            type: "string"
        mt_engine:
          type: "string"
          description: "One of \"MOTAWORD\", \"GOOGLE\", \"AMAZON\", \"MS\". Default is \"MOTAWORD\"."
        analytics_enabled:
          description: "Should we collect analytics data from Active for this continuous project?"
          type: "boolean"
        mt_enabled:
          description: "Immediately apply MT on translation requests if they are missing from TM."
          type: "boolean"
        postedit_enabled:
          description: "Get an instant quote for translation requests that are applied MT."
          type: "boolean"
        auto_start_postedit:
          description: "Immediately start post-editing project for translation requests that are applied MT."
          type: "boolean"
        is_enabled:
          type: "boolean"
        subscription:
          $ref: "#/components/schemas/Subscription"
        created_at:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
        last_activity_at:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
        links:
          $ref: "#/components/schemas/ContinuousProjectLinks"
        status:
          type: "string"
          description: "One of \"a => ACTIVE\", \"i => INACTIVE\", \"d => DELETED\", \"c => SCHEDULED CANCELLATION\", \"p => SCHEDULED CHANGE\""
        client_email:
          type: "string"
          description: "Client email address for admin-created projects"
        client_first_name:
          type: "string"
          description: "Client first name for admin-created projects"
        client_last_name:
          type: "string"
          description: "Client last name for admin-created projects"
    ContinuousProjectsList:
      type: "object"
      properties:
        projects:
          type: "array"
          items:
            $ref: "#/components/schemas/ContinuousProject"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    AddOrUpdateDocumentRequest:
      type: "object"
      properties:
        document:
          $ref: "#/components/schemas/Document"
    InstantTranslationRequest:
      type: "object"
      properties:
        contents:
          description: "Simple list of strings to be translated. You can also choose to upload files instead of strings."
          type: "array"
          items:
            type: "string"
        documents:
          description: "You can add as many files as you want in documents parameter."
          type: "array"
          items:
            $ref: "#/components/schemas/Document"
        meta:
          type: "object"
          description: "Free-form meta data to attach to your instant translation request. This can be used in statistics and analytical dashboards."
        filters:
          $ref: "#/components/schemas/InstantTranslationFilter"
    InstantTranslationFilter:
      type: "object"
      properties:
        skipPostEdit:
          type: "array"
          items:
            type: "string"
        skipMt:
          type: "array"
          items:
            type: "string"
    InstantTranslationResult:
      oneOf:
        - $ref: "#/components/schemas/InstantContentsTranslationResult"
        - $ref: "#/components/schemas/InstantFilesTranslationResult"
    InstantContentsTranslationResult:
      type: "object"
      properties:
        results:
          description: "a map of source string > translated string."
          type: "object"
          additionalProperties:
            type: "string"
    InstantFilesTranslationResult:
      type: "object"
      properties:
        results:
          description: "a map of source file name or source Quote_file ID or source Continuous_project_file ID > base64-encoded translated file."
          type: "object"
          additionalProperties:
            type: "string"
            format: "byte"
    RegeneratePreviewResponse:
      type: "object"
      properties:
        link:
          $ref: "#/components/schemas/Href"
        source:
          type: "string"
    FileNeedsVendor:
      type: "object"
      properties:
        fileId:
          type: "integer"
          format: "int64"
        projectId:
          type: "integer"
          format: "int64"
        targetLanguage:
          type: "array"
          items:
            type: "string"
        taskType:
          type: "array"
          items:
            type: "string"
        reason:
          type: "string"
        guid:
          type: "string"
    VendorInvitationList:
      type: "object"
      properties:
        vendors:
          type: "array"
          items:
            $ref: "#/components/schemas/VendorWithNeeds"
    VendorWithNeeds:
      type: "object"
      properties:
        userId:
          type: "integer"
          format: "int64"
        matchedNeeds:
          type: "array"
          items:
            $ref: "#/components/schemas/FileNeedsVendor"
    AvailablePermission:
      type: "object"
      properties:
        quotes_permissions:
          type: "array"
          items:
            $ref: "#/components/schemas/Permission"
        quote_file_permissions:
          type: "array"
          items:
            $ref: "#/components/schemas/Permission"
    PermissionList:
      type: "object"
      properties:
        permissions:
          type: "array"
          items:
            $ref: "#/components/schemas/Permission"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    SharePermissionList:
      type: "object"
      properties:
        permissions:
          type: "array"
          items:
            $ref: "#/components/schemas/PermissionDetail"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    ShareAddPermissionList:
      type: "array"
      items:
        $ref: "#/components/schemas/PermissionAddDetail"
    PermissionDetail:
      type: "object"
      properties:
        id:
          type: "integer"
        permissions:
          type: "array"
          items:
            type: "string"
        expires_at:
          type: "string"
          format: "date-time"
        object_id:
          type: "integer"
        object_table:
          type: "string"
        user:
          $ref: "#/components/schemas/User"
        corporate:
          $ref: "#/components/schemas/CorporateAccount"
        email:
          type: "string"
        user_group:
          $ref: "#/components/schemas/UserGroup"
        token:
          type: "object"
          properties:
            token:
              type: "string"
            link:
              type: "string"
    AuthorizeDetail:
      type: "object"
      properties:
        userId:
          type: "integer"
          format: "int64"
          description: "The ID of the user whose permissions are to be checked."
        projectId:
          type: "integer"
          format: "int64"
          description: "The ID of the project whose permissions needs to check."
        token:
          type: "string"
          description: "The token used to authorize user permissions for the project."
    PermissionAddDetail:
      type: "object"
      properties:
        expires_at:
          type: "string"
          format: "date-time"
          description: "The expiration date and time of the permission. Null if it does not expire."
        email:
          type: "string"
          description: "The email address associated with the permission. Null if not applicable."
        permissions:
          type: "array"
          items:
            type: "string"
          description: "A list of permissions granted."
        notes:
          type: "string"
          description: "Additional notes regarding the permission. Null if there are no notes."
        user_id:
          type: "integer"
          description: "The ID of the user to whom the permission is granted. Null if not applicable."
        company_id:
          type: "integer"
          description: "The ID of the company to whom the permission is granted. Null if not applicable."
        user_group_id:
          type: "integer"
          description: "The ID of the user group to whom the permission is granted. Null if not applicable."
        token:
          type: "string"
          description: "A token associated with the permission. Null if not applicable."
        auto_register:
          type: "boolean"
          description: "Automatically create an account with the given email address if needed."
    CorporateAccount:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        name:
          type: "string"
        email:
          type: "string"
        logo:
          type: "string"
        web_site:
          description: "Deprecated, use `domain`."
          deprecated: true
          type: "string"
        domain:
          type: "string"
        billing:
          $ref: "#/components/schemas/BillingAddress"
    UserGroupList:
      type: "object"
      properties:
        user_groups:
          type: "array"
          items:
            $ref: "#/components/schemas/UserGroup"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    Permission:
      type: "string"
    VendorGroupList:
      type: "object"
      properties:
        vendor_groups:
          type: "array"
          items:
            $ref: "#/components/schemas/UserGroup"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    UserGroup:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        name:
          type: "string"
        corporate_id:
          type: "integer"
          format: "int64"
        permissions:
          type: "array"
          items:
            type: "string"
    AnalyticsCollection:
      type: "object"
      properties:
        type:
          type: "string"
        anonymousId:
          type: "string"
        sessionId:
          type: "string"
        userId:
          type: "string"
        properties:
          type: "object"
          additionalProperties:
            type: "string"
    AnalyticsToken:
      type: "object"
      properties:
        jwt:
          type: "string"
    TranslationMemoryUnit:
      type: "object"
      properties:
        sourceText:
          type: "string"
        targetText:
          type: "string"
        sourceLanguage:
          type: "string"
        targetLanguage:
          type: "string"
    ContinuousProjectUpdateContent:
      type: "object"
      properties:
        name:
          type: "string"
        is_enabled:
          type: "boolean"
        analytics_enabled:
          type: "boolean"
        mt_enabled:
          type: "boolean"
        postedit_enabled:
          type: "boolean"
        auto_start_postedit:
          type: "boolean"
        languages:
          type: "array"
          items:
            $ref: "#/components/schemas/ContinuousProjectLanguage"
    ContinuousProjectLanguage:
      type: "object"
      properties:
        code:
          type: "string"
        is_enabled:
          type: "boolean"
    ActiveWidget:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        created_at:
          type: "string"
          format: "date-time"
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
        token:
          type: "string"
          description: "Token that you should use when you are using this widget on your website."
        name:
          type: "string"
        mode:
          type: "string"
          description: "Options are \"simple\", \"advanced\""
        theme:
          type: "string"
          description: "\\\"light\\\", \\\"dark\\\" OR custom JSON."
        position:
          type: "string"
          description: "Options are \"bottom-left\", \"bottom-right\", \"in-place\""
        use_dummy_translations:
          type: "boolean"
          description: "When enabled, we will translate your website with dummy content, rather than actually using MT/TM."
        follow_user:
          type: "boolean"
          description: "Specify whether we should follow the user around in your website and automatically translate pages."
        technology:
          type: "string"
          description: "When a user changes technology (or when we automatically detect and change it for them), we will re-control whole site."
        url_mode:
          type: "string"
          description: "When a user changes locale (or when we automatically detect and change it for them), we will change the URL of the page they are in. We can either change the path of the URL to prefix it with the locale code, or we can add a query parameter to the URL. We also use this mode to detect the locale for the current page when a user directly loads a page. When NULL, locale detection from URL will be disabled (even then, if the user has selected a locale manually, and followUser is enabled, we will still automatically translate the page in user's locale."
        url_change_mode:
          type: "string"
          description: "When a user changes locale (or when we automatically detect and change it for them), we will change the URL of the page they are in. We can do this by actually redirecting the user to the new page, or by simply changing the URL in the address bar via browser's History API. When NULL, we won't apply any URL changes."
        live:
          type: "boolean"
          description: "Whether ActiveJS should be considered live in an embedded site. Use `false` if you are still testing Active. Go to your Active dashboard and follow links to your website to actually test Active."
        modify_links:
          type: "boolean"
          description: "We can automatically localize the same-domain URLs in your page. The way we localize the URL depends on urlMode configuration. We can either add/update the locale query parameter, or add/update the path of the URL."
        use_cache:
          type: "boolean"
          description: "Should we make use of local browser cache for your visitors? We will refresh the cache when Active JS detects new activity in your project."
        force_cache_refresh_interval:
          type: "boolean"
          description: "Determines whether to force-refresh local browser cache of your translations in certain period of times, no matter if there is a new activity in the project."
        language_mappings:
          type: "string"
          description: "Continuous project language mappings"
        variables:
          type: "string"
          description: "Continuous project variable definitions"
        sections:
          type: "string"
          description: "Continuous project section rules"
        pages:
          type: "string"
          description: "Continuous project page rules"
        elements:
          type: "string"
          description: "Continuous project exclusive elements and rules"
        test_mode:
          type: "boolean"
          description: "Is the Active Widget in test mode? This changes a couple behaviors in the widget to make it easier for you to test and develop your Active integration."
        restricted_domains:
          type: "string"
          description: "JSON string for a list of domains that this widget's API interactions are limited to."
        auto_detect_source_language:
          type: "boolean"
          description: "When true, we will ignore the source language of your project and try to automatically detect the source language of the given content. This is especially useful in environments with unpredictable source contents, such as a chat environment."
        allow_query_in_url:
          type: "boolean"
          description: "When true, query params are included in filenames. When false, params are ignored."
        allow_hash_in_url:
          type: "boolean"
          description: "When true, hash params are included in filenames. When false, params are ignored."
        optimize_per_page:
          type: "boolean"
          description: "When true, Active ecosystem will optimize the script and data flows per page, rather than per project. This decreases the bandwidth usage per script, but makes translation publishing more complex and script serving per-page."
        path_regex:
          type: "string"
          description: "Custom regex for path-type URL mode."
        query_name:
          type: "string"
          description: "Query parameter name to be used with query-type URL mode. Default is 'locale'."
          default: "locale"
        reboot_on_url_change:
          type: "boolean"
          description: "When true, Active ecosystem reboots itself when url changes."
        debug_mode:
          type: "boolean"
          description: "When true, Active ecosystem will print debug-level logs from all Active modules."
        hit_backend_for_existing:
          type: "boolean"
          description: "When true, Active ecosystem will collect all strings on TMS no matter if the translation is present in the cache."
        admin_mode:
          type: "boolean"
          description: "Is the Active Widget in admin mode? This changes a couple of behaviors in the widget to configure some rules like elements, sections, pages, etc."
        convert_relative_urls_to_absolute:
          type: "boolean"
          description: "Using this, all relative URLs (apart from the \"A\" tag) are converted to absolute URLs. This is especially useful when you are rendering a webpage via serve.motaword.com without using customer’s domain as hostname. When false, webpage will try to load relative assets from serve.motaword.com host"
        enforce_source_locale_in_path:
          type: "boolean"
          description: "This option enforces source locale in path when urlMode is query."
        start_dynamic_after_dom:
          type: "boolean"
          description: "Start the dynamic translation when document ready state is complete. Default it starts when interactive."
        url_mappings:
          type: "string"
          description: "Continuous project url mappings"
    ActiveWidgetList:
      type: "object"
      properties:
        widgets:
          type: "array"
          items:
            $ref: "#/components/schemas/ActiveWidget"
        meta:
          $ref: "#/components/schemas/PagingMeta"
    ContinuousProjectLinks:
      allOf:
        - $ref: "#/components/schemas/LinksMeta"
        - type: "object"
          properties:
            editors:
              type: "object"
              additionalProperties:
                description: "MotaWord editor link for this file, in this language code."
                $ref: "#/components/schemas/Href"
            payment:
              description: "Payment link"
              $ref: "#/components/schemas/Href"
    DeliveryPredictionPayload:
      type: "object"
      properties:
        projectId:
          type: "integer"
          format: "int64"
    DeliveryPredictionResponse:
      type: "object"
      properties:
        result:
          type: "array"
          items:
            $ref: "#/components/schemas/DeliveryPredictionInLanguage"
    DeliveryPredictionInLanguage:
      type: "object"
      properties:
        language:
          type: "string"
        late:
          type: "boolean"
          description: "true for late, false for on-time delivery"
        probability:
          type: "number"
          format: "float"
    ContinuousProjectDocumentStringsBody:
      type: "object"
      properties:
        documentName:
          type: "string"
    ContinuousProjectDocumentProgressBody:
      type: "object"
      properties:
        documentName:
          type: "string"
        filterByLanguage:
          type: "string"
    QaFilter:
      type: "object"
      properties:
        source_languages:
          type: "array"
          items:
            type: "string"
        target_languages:
          type: "array"
          items:
            type: "string"
        budget_codes:
          type: "array"
          items:
            type: "string"
        vendors:
          type: "array"
          items:
            type: "number"
            format: "int64"
        projects:
          type: "array"
          items:
            type: "number"
            format: "int64"
        documents:
          type: "array"
          items:
            type: "number"
            format: "int64"
        categories:
          type: "array"
          items:
            type: "string"
        clients:
          type: "array"
          items:
            type: "number"
            format: "int64"
        subjects:
          type: "array"
          items:
            type: "string"
        severities:
          type: "array"
          items:
            type: "string"
        date_from:
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
          type: "string"
          format: "date-time"
        date_to:
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
          type: "string"
          format: "date-time"
    QaWarnings:
      type: "object"
      properties:
        report:
          type: "array"
          items:
            $ref: "#/components/schemas/QaEntry"
    QaEntry:
      type: "object"
      properties:
        uniqueKey:
          type: "string"
        source:
          type: "string"
        translation:
          type: "string"
        sourceLanguage:
          $ref: "#/components/schemas/SimpleModel"
        targetLanguage:
          $ref: "#/components/schemas/SimpleModel"
        docId:
          type: "string"
        projectId:
          $ref: "#/components/schemas/SimpleModel"
        vendor:
          $ref: "#/components/schemas/SimpleModel"
        state:
          type: "string"
        start:
          type: "integer"
          format: "int64"
        end:
          type: "integer"
          format: "int64"
        module:
          type: "string"
        category:
          type: "string"
        severity:
          type: "string"
        comment:
          type: "string"
        inSource:
          type: "boolean"
        isCurrent:
          type: "boolean"
        editorLink:
          type: "string"
    FilterDates:
      type: "object"
      properties:
        date_from:
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
          type: "string"
          format: "date-time"
        date_to:
          description: "the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z"
          type: "string"
          format: "date-time"
    FilterContents:
      type: "object"
      properties:
        source_languages:
          type: "array"
          items:
            type: "string"
        target_languages:
          type: "array"
          items:
            type: "string"
        budget_codes:
          type: "array"
          items:
            type: "string"
        vendors:
          type: "array"
          items:
            $ref: "#/components/schemas/SimpleModel"
        projects:
          type: "array"
          items:
            $ref: "#/components/schemas/SimpleModel"
        documents:
          type: "array"
          items:
            $ref: "#/components/schemas/SimpleModel"
        categories:
          type: "array"
          items:
            type: "string"
        clients:
          type: "array"
          items:
            $ref: "#/components/schemas/SimpleModel"
        subjects:
          type: "array"
          items:
            type: "string"
        severities:
          type: "array"
          items:
            type: "string"
    GetQuotesForLanguagesBody:
      type: "object"
      properties:
        languages:
          type: "array"
          items:
            type: "string"
    GetQuotesForDocumentsBody:
      type: "object"
      properties:
        files:
          type: "array"
          items:
            type: "integer"
            format: "int64"
    CancelProjectRequest:
      type: "object"
      properties:
        reason:
          type: "string"
          description: "Cancellation reason"
    SuspendUserRequest:
      type: "object"
      properties:
        reason:
          type: "string"
          description: "Suspension reason for vendor"
    Webhook:
      type: "object"
      properties:
        callback_url:
          type: "string"
          description: "Webhook URL. We will send POST callbacks when the status of the current project is changed. Possible status changes are, 'translated', 'proofread', 'completed'."
    ProjectPayment:
      type: "object"
      properties:
        payment_method:
          description: "Optional. Determines which method to use for payment. `client`, `app`, `corporate_card` methods require a credit card ID. `credit` method requires Stripe token and bin. `corporate` method follows corporate account policy automatically, either follows invoicing flow or automatically charges corporate's primary card."
          type: "string"
          enum:
            - "corporate"
            - "client"
            - "app"
            - "credit"
            - "corporate_card"
        card_id:
          description: "Optional. `client`, `app`, `corporate_card` methods require a credit card ID. `credit` method requires Stripe token and bin."
          type: "integer"
          format: "int64"
        payment_code:
          description: "Optional. `corporate` payment method requires this.s"
          type: "string"
        reference_code:
          description: "Optional with corporate accounts. Not available for others."
          type: "string"
    ReportContent:
      type: "object"
      properties:
        activity_type:
          description: "Activity Type"
          type: "string"
        message:
          description: "Report Message"
          type: "string"
    CM:
      type: "object"
      properties:
        user_id:
          type: "integer"
          format: "int64"
    DeprecatedStringTranslationContent:
      type: "object"
      properties:
        source_language:
          type: "string"
        target_languages:
          type: "array"
          items:
            type: "string"
        contents:
          type: "array"
          items:
            type: "string"
    GlossaryUploadRequest:
      type: "object"
      properties:
        glossaries:
          description: "You can add as many files as you want in glossaries[] parameter."
          type: "array"
          items:
            $ref: "#/components/schemas/Document"
        scheme:
          type: "object"
    StyleGuideUploadRequest:
      type: "object"
      properties:
        styleguides:
          description: "You can add as many files as you want in styleguides[] parameter."
          type: "array"
          items:
            $ref: "#/components/schemas/Document"
        fileType:
          type: "array"
          items:
            type: "string"
            enum:
              - "styleguide"
              - "style_guide"
      required:
        - "styleguides"
    DocumentUploadRequest:
      properties:
        documents:
          description: "Single file data. The name is plural to provide a consistent naming convention."
          type: "string"
          format: "binary"
        schemes:
          description: "JSON string. If your documents have a scheme, as in cases of CSV files, use the same array index keys for `schemes` parameter to specify their schemes. See `Document Schemes` title in the API documentation."
          type: "string"
        source-link:
          $ref: "#/components/schemas/LinkedSourceDocument"
    AccountGlossaryUploadRequest:
      type: "object"
      properties:
        glossary:
          type: "string"
          format: "binary"
          description: "Glossary file. Currently supported formats: .xlsx, .tbx"
      required:
        - "glossary"
    AccountStyleGuideUploadRequest:
      type: "object"
      properties:
        styleguide:
          type: "string"
          format: "binary"
          description: "Style guide file. Currently supported formats: .pdf, .docx, .txt"
      required:
        - "styleguide"
    NewProject:
      type: "object"
      properties:
        guid:
          description: "This is used to group multiple requests under the same project."
          type: "string"
        multipleSync:
          description: "For the first request, you should send the guid only. For the following requests, you should send the guid and multipleSync as true."
          type: "boolean"
        source_language:
          type: "string"
        target_languages:
          type: "array"
          items:
            type: "string"
        callback_url:
          description: "Optional. If you provide a callback URL, we will send POST callbacks when the status of the current project is changed. Possible status changes are, 'translated', 'proofread', 'completed'."
          type: "string"
        custom:
          description: "Optional. This is a consistent custom data parameter that will be given to you in the response across every request of this project model. Values should be provided like this, custom[my_key] = my_value."
          type: "object"
        request_details:
          description: "Optional. Metadata about the quote/project request, such as headers, browser/device info etc. This is not to be confused with `custom` parameter which is attached to the project whenever you access."
          type: "object"
        documents:
          description: "You can add as many files as you want in documents[] parameter."
          type: "array"
          items:
            $ref: "#/components/schemas/Document"
        styleguides:
          description: "Optional. You can add as many files as you want in styleguides[] parameter. Or you add your style guides later in separate calls."
          type: "string"
          format: "binary"
        glossaries:
          description: "Optional. Only one glossary is supported at the moment."
          type: "string"
          format: "binary"
        email:
          description: "Optional to update owner's email of the project."
          type: "string"
        coupon_code:
          description: "Coupon code to redeem"
          type: "string"
        currency:
          description: "Custom currency code. This may be overwritten by your account defaults."
          type: "string"
        certified:
          description: "Custom certification for given quote."
          type: "boolean"
        certificationType:
          description: "Custom certification type for given quote."
          type: "string"
        usState:
          description: "Custom US state for given quote."
          type: "string"
        is_same_day_delivery:
          description: "Same day setting for Evaluation files"
          type: "boolean"
        is_wage_level_selected:
          description: "Additional wage for Evaluation files"
          type: "boolean"
        is_soc_selected:
          description: "Additional soc for Evaluation files"
          type: "boolean"
        domain_slug:
          description: "Custom url of where create request made"
          type: "string"
        notes:
          description: "Customer notes for attention during the project"
          type: "string"
        method:
          $ref: "#/components/schemas/ProcessMethod"
        targetOrganization:
          type: "string"
    DocumentUpdates:
      type: "object"
      properties:
        documents:
          description: "You can add as many files as you want in documents[] parameter."
          type: "array"
          items:
            $ref: "#/components/schemas/Document"
        schemes[]:
          description: "JSON string. If your documents have a scheme, as in cases of CSV files, use the same array index keys for `schemes` parameter to specify their schemes. See `Document Schemes` title in the API documentation."
          type: "string"
        source-links[]:
          description: "When provided, we will download the files from these URLs, in addition to files provded in `documents` parameter and then save as source documents"
          type: "array"
          items:
            $ref: "#/components/schemas/LinkedSourceDocument"
    ProjectUpdate:
      type: "object"
      properties:
        source_language:
          type: "string"
        target_languages:
          type: "array"
          items:
            type: "string"
        documents:
          description: "You can add as many files as you want in documents[] parameter."
          type: "array"
          items:
            $ref: "#/components/schemas/Document"
        callback_url:
          description: "Optional. If you provide a callback URL, we will send POST callbacks when the status of the current project is changed. Possible status changes are, 'translated', 'proofread', 'completed'."
          type: "string"
        custom:
          description: "Optional. This is a consistent custom data parameter that will be given to you in the response across every request of this project model. If you previously provided one, it will be replaced."
          type: "object"
        request_details:
          description: "Optional. Metadata about the quote/project request, such as headers, browser/device info etc. This is not to be confused with `custom` parameter which is attached to the project whenever you access."
          type: "object"
        email:
          description: "Optional to update owner's email of the project."
          type: "string"
        coupon_code:
          description: "Coupon code to redeem"
          type: "string"
        notes:
          description: "Customer notes for attention during the project"
          type: "string"
        reference_code:
          description: "Budget code to add to invoice of project"
          type: "string"
        certified:
          description: "Custom certification for given quote."
          type: "boolean"
        certificationType:
          description: "Custom certification type for given quote."
          type: "string"
        usState:
          description: "Custom US state for given quote."
          type: "string"
        is_same_day_delivery:
          description: "Same day setting for Evaluation files"
          type: "boolean"
        is_wage_level_selected:
          description: "Additional wage for Evaluation files"
          type: "boolean"
        is_soc_selected:
          description: "Additional soc for Evaluation files"
          type: "boolean"
        domain_slug:
          description: "Custom url of where create request made"
          type: "string"
        method:
          $ref: "#/components/schemas/ProcessMethod"
        targetOrganization:
          type: "string"
    ProfilePictureUpload:
      type: "object"
      properties:
        profile_picture:
          type: "string"
          format: "binary"
          description: "Profile picture file contents. Accepted extensions are png, jpg."
      required:
        - "profile_picture"
    ProjectId:
      type: "object"
      properties:
        internal-id:
          type: "integer"
          format: "int64"
        public-id:
          type: "integer"
          format: "int64"
    Subscription:
      type: "object"
      properties:
        subscription_id:
          description: "Stripe subscription id for this project"
          type: "string"
        plan_name:
          description: "Stripe subscription plan name"
          type: "string"
        plan_id:
          description: "Stripe subscription plan id"
          type: "string"
        products:
          type: "array"
          items: {}
        payment_method:
          description: "Stripe subscription plan payment card internal id"
          type: "integer"
        upgrade:
          description: "Stripe upgradable plan"
          type: "array"
          items:
            type: "string"
        downgrade:
          description: "Stripe downgradable plan"
          type: "array"
          items:
            type: "string"
        price:
          description: "Stripe plan price"
          type: "string"
        period_end:
          description: "Stripe plan period end"
          type: "string"
          format: "date-time"
        schedule_start:
          description: "Stripe Scheduled start date"
          type: "string"
          format: "date-time"
        schedule_name:
          description: "Stripe Scheduled plan period end"
          type: "string"
        withTrial:
          description: "Stripe plan trial"
          format: "boolean"
    IntegrationsToken:
      properties:
        token:
          type: "string"
    IntegrationDocument:
      type: "object"
      properties:
        title:
          type: "string"
          description: "Title of the document"
        body:
          type: "string"
          description: "Content of the document"
        slug:
          type: "string"
          description: "Slug of the document"
        createdAt:
          type: "string"
          format: "date-time"
          description: "The creation date of the document"
        updatedAt:
          type: "string"
          format: "date-time"
          description: "The last update date of the document"
    SimpleModel:
      type: "object"
      properties:
        id:
          type: "integer"
          format: "int64"
        name:
          type: "string"
    SurveyQuestions:
      type: "array"
      items:
        $ref: "#/components/schemas/SurveyQuestion"
    SurveyQuestion:
      type: "object"
      properties:
        question:
          type: "object"
          properties:
            id:
              type: "integer"
              format: "int64"
            question:
              type: "string"
            format:
              type: "string"
            text:
              type: "string"
            enabled:
              type: "boolean"
        question_answers:
          type: "array"
          items:
            $ref: "#/components/schemas/SimpleModel"
        answers:
          type: "array"
          items:
            $ref: "#/components/schemas/SimpleModel"
    SurveyAnswers:
      type: "object"
      properties:
        answers:
          type: "array"
          items:
            $ref: "#/components/schemas/SurveyAnswer"
    SurveyAnswer:
      type: "object"
      properties:
        project_id:
          type: "integer"
          format: "int64"
        user_id:
          type: "integer"
          format: "int64"
        question_id:
          type: "integer"
          format: "int64"
        question_answer_id:
          type: "integer"
          format: "int64"
        answer:
          type: "string"
    DocumentSubjects:
      type: "object"
      properties:
        name:
          type: "string"
    UserExists:
      type: "object"
      properties:
        status:
          type: "string"
          description: "Success"
    QuoteFilter:
      type: "object"
      properties:
        search:
          type: "string"
        statuses:
          type: "array"
          items:
            type: "string"
            enum:
              - "pending"
              - "started"
              - "vendors_invited"
              - "completed"
              - "canceled"
              - "exception"
        types:
          type: "array"
          items:
            type: "string"
            enum:
              - "regular"
              - "manual"
              - "mixed"
              - "certified"
              - "continuous"
              - "active"
              - "demo"
              - "integration"
              - "evaluation"
              - "dtp"
        source_languages:
          type: "array"
          items:
            type: "string"
        target_languages:
          type: "array"
          items:
            type: "string"
        language_pairs:
          type: "array"
          items:
            type: "array"
            items:
              type: "integer"
        clients:
          type: "array"
          items:
            type: "integer"
        corporates:
          type: "array"
          items:
            type: "integer"
        community_managers:
          type: "array"
          items:
            type: "integer"
        sales_managers:
          type: "array"
          items:
            type: "integer"
        pivot_quote_id:
          type: "integer"
          format: "int64"
        delivery_date_start:
          type: "string"
          format: "date-time"
        delivery_date_end:
          type: "string"
          format: "date-time"
    ProjectVendors:
      type: "object"
      additionalProperties:
        type: "object"
        properties:
          translators:
            type: "array"
            items:
              $ref: "#/components/schemas/User"
          proofreader:
            $ref: "#/components/schemas/User"
    CanPamManageResponse:
      type: "object"
      properties:
        should_manage:
          type: "boolean"
        reason:
          type: "string"
    EnrichProjectWith:
      description: "Attach further information to the projects in the report. Possible values 'preview, client' etc."
      type: "array"
      items:
        type: "string"
        enum:
          - "client"
          - "vendor"
          - "documents"
          - "receipt"
          - "score"
          - "preview"
          - "editors"
          - "delay"
    ProcessMethod:
      type: "string"
      enum:
        - "tika"
        - "tms"
        - "ocr"
        - "evaluation"
        - "evaluation_single_source"
        - "evaluation_course_by_course_grade"
        - "evaluation_course_by_course_credit"
        - "evaluation_course_by_course_gpa"
        - "evaluation_h_1b_position"
        - "evaluation_h_1b_soc"
        - "evaluation_h_1b_wage_level"
        - "evaluation_h_1b_work_experience"
        - "evaluation_h_1b_qualifications_academic"
        - "evaluation_h_1b_qualifications_experience"
        - "evaluation_h_1b_combo"
        - "evaluation_l1a"
        - "evaluation_l1b"
        - "evaluation_tn_position"
        - "evaluation_tn_bq"
        - "evaluation_tn_combo"
        - "evaluation_extraordinary_ability"
        - "evaluation_o_1a_criteria"
        - "evaluation_o_1b_arts_criteria"
        - "evaluation_o_1b_motion_picture_criteria"
        - "evaluation_eb_1a_criteria"
        - "evaluation_eb_1b_criteria"
        - "evaluation_eb2_exceptional_ability"
        - "evaluation_niw"
        - "native"
        - "website"
        - "text"
        - "zip"
        - "tms_active"
        - "tm"
        - "video"
        - "audio"
        - "media"
        - "custom"
    QuoteMethod:
      type: "string"
      enum:
        - null
        - "translation"
        - "transcription"
        - "regular"
        - "manual"
        - "mixed"
        - "dtp"
        - "transcript"
        - "mt"
        - "post_edit"
        - "custom"
        - "evaluation"
        - "evaluation_single_source"
        - "evaluation_course_by_course_grade"
        - "evaluation_course_by_course_credit"
        - "evaluation_course_by_course_gpa"
        - "evaluation_h_1b_position"
        - "evaluation_h_1b_soc"
        - "evaluation_h_1b_wage_level"
        - "evaluation_h_1b_work_experience"
        - "evaluation_h_1b_qualifications_academic"
        - "evaluation_h_1b_qualifications_experience"
        - "evaluation_h_1b_combo"
        - "evaluation_l1a"
        - "evaluation_l1b"
        - "evaluation_tn_position"
        - "evaluation_tn_bq"
        - "evaluation_tn_combo"
        - "evaluation_extraordinary_ability"
        - "evaluation_o_1a_criteria"
        - "evaluation_o_1b_arts_criteria"
        - "evaluation_o_1b_motion_picture_criteria"
        - "evaluation_eb_1a_criteria"
        - "evaluation_eb_1b_criteria"
        - "evaluation_eb2_exceptional_ability"
        - "evaluation_niw"
    StartCrawl:
      type: "object"
      properties:
        crawlerType:
          type: "string"
      description: "New crawl request. Contents is available in the Crawler API examples."
      additionalProperties:
        type: "string"
    CrawlStatus:
      type: "object"
      properties:
        id:
          type: "string"
      description: "Crawl result and status object. Contents is available in the Crawler API examples."
      additionalProperties:
        type: "string"
    CrawlLinks:
      type: "array"
      items:
        type: "string"
      description: "List of pages and links found by Active Crawler in this crawl"
    ServePageHealthStatus:
      type: "object"
      properties:
        integrationStatus:
          type: "boolean"
      description: "Health check status for a web page via Active Serve."
      additionalProperties:
        type: "string"
    DocumentIDList:
      type: "object"
      properties:
        documentIds:
          type: "array"
          description: "List of document IDs to delete"
          items:
            type: "integer"
            format: "int64"
          example:
            - 179469
            - 179470
            - 179471
    FileDeleteStatus:
      type: "object"
      properties:
        status:
          type: "string"
          description: "Status of the deletion operation (e.g., partial, success, or error)"
          example: "partial"
        successfullyDeleted:
          type: "array"
          description: "List of successfully deleted document IDs"
          items:
            type: "integer"
            format: "int64"
        failedToDelete:
          type: "array"
          description: "List of failed deletions with error messages (only present if some files fail)"
          items:
            type: "object"
            properties:
              documentId:
                type: "integer"
                format: "int64"
              error:
                type: "string"
                example: "Document not found"
    Plan:
      type: "object"
      properties:
        id:
          type: "string"
        name:
          type: "string"
        type:
          type: "string"
        base_product:
          type: "string"
        domain_quantity:
          type: "number"
        page_quantity:
          type: "number"
        locale_quantity:
          type: "number"
    AdditionalErrorData:
      type: "object"
      properties:
        file_id:
          type: "string"
        file_size:
          type: "integer"
        additional_info:
          type: "string"
    WordCountResult:
      type: "object"
      properties:
        word_count:
          type: "integer"
        meta:
          type: "string"
    TMResult:
      type: "object"
      properties:
        language_code:
          type: "string"
        project_tm_matches:
          $ref: "#/components/schemas/WordCountResult"
        imported_tm_matches:
          $ref: "#/components/schemas/WordCountResult"
        prospective_tm_matches:
          $ref: "#/components/schemas/WordCountResult"
    MTResult:
      type: "object"
      properties:
        language_code:
          type: "string"
        mt_matches:
          $ref: "#/components/schemas/WordCountResult"
    StyleResult:
      type: "object"
      properties:
        content:
          type: "string"
        styles:
          type: "array"
          items:
            type: "string"
        content_coded:
          type: "string"
    StyleDensityResult:
      type: "object"
      properties:
        word_count:
          type: "integer"
        rule:
          type: "array"
          items:
            type: "string"
        text_units:
          type: "array"
          items:
            type: "string"
    ColumnsSummaryResult:
      type: "object"
      properties:
        sheets:
          type: "object"
          additionalProperties:
            type: "array"
            items:
              type: "array"
              items:
                type: "string"
        recommendations:
          type: "object"
          additionalProperties:
            type: "array"
            items:
              type: "array"
              items:
                type: "string"
        delimiter:
          type: "string"
        enclosure:
          type: "string"
    Analysis:
      type: "object"
      properties:
        base:
          $ref: "#/components/schemas/WordCountResult"
        duplicate:
          type: "array"
          items:
            $ref: "#/components/schemas/WordCountResult"
        matches:
          $ref: "#/components/schemas/TMResult"
        mtm:
          type: "array"
          items:
            $ref: "#/components/schemas/MTResult"
        styles:
          type: "array"
          items:
            $ref: "#/components/schemas/StyleResult"
        style_density:
          type: "array"
          items:
            $ref: "#/components/schemas/StyleDensityResult"
        exclusion:
          type: "array"
          items:
            type: "string"
        previously_billed:
          type: "array"
          items:
            $ref: "#/components/schemas/WordCountResult"
        detected_language:
          type: "string"
        columns_summary:
          $ref: "#/components/schemas/ColumnsSummaryResult"
    GlossaryImportRequest:
      type: "object"
      properties:
        glossaries:
          type: "array"
          items:
            type: "string"
            format: "binary"
          description: "One or more glossary files to import"
      required:
        - "glossaries"
    GlossaryImportResponse:
      type: "object"
      properties:
        status:
          type: "string"
          example: "success"
        message:
          type: "string"
          example: "Successfully imported 2 glossary file(s)"
        imported_count:
          type: "integer"
          example: 2
        total_files:
          type: "integer"
          example: 2
        partial_success:
          type: "boolean"
          example: false
        errors:
          type: "array"
          items:
            type: "string"
          example: []
