Smartcat Project API

The Project API from Smartcat — 32 operation(s) for project.

Operations 41

POST /api/integration/v1/document Add a document to the project
GET /api/integration/v1/project/{projectId} Receive the project model
PUT /api/integration/v1/project/{projectId} Update a project by ID
DELETE /api/integration/v1/project/{projectId} Delete the project
GET /api/integration/v2/project/list Fetch the list of account projects
GET /api/integration/v1/project/list Fetch the list of account projects
GET /api/integration/v1/project/{projectId}/statistics (This method is obsolete and has been replaced with /api/integration/v2/project/{projectId}/statistics) Fetch project statistics
GET /api/integration/v2/project/{projectId}/statistics Fetch project statistics
PUT /api/integration/v1/project/{projectId}/fuzzyRepetitions Enable or disable calculating fuzzy repetitions in the project statistics
GET /api/integration/v1/project/{projectId}/completedWorkStatistics Receive statistics for the completed parts of the project
GET /api/integration/v1/project/{projectId}/translationmemories Receive a list of the TMs plugged into the project
POST /api/integration/v1/project/{projectId}/translationmemories Recreate the set of TMs plugged into the project. The set of TMs is identical for all target languages of the project.
GET /api/integration/v1/project/{projectId}/glossaries Fetch the list of glossaries plugged into the project
PUT /api/integration/v1/project/{projectId}/glossaries Set a collection of glossaries plugged into the project
GET /api/integration/v1/project/{projectId}/glossaries/default Fetch default glossary for the project
GET /api/integration/v1/project/{projectId}/mt Fetch the project's MT configuration
POST /api/integration/v1/project/{projectId}/mt Set an MT configuration in the project
GET /api/integration/v1/project/{projectId}/mt/available Fetch all the MT engines and profiles that can be used in the specified project
GET /api/integration/v1/project/{projectId}/pretranslation-rules Fetch the project pre-processing rules
POST /api/integration/v1/project/{projectId}/pretranslation-rules Define project pre-processing rules
PUT /api/integration/v1/project/{projectId}/pretranslation-rules Define project pre-processing rules
GET /api/integration/v1/project/{projectId}/empty-folders-removing-status Fetch the status of removing empty project folders
GET /api/integration/v1/project/import-result/{importId} Fetch the result of import into the Localization Project
POST /api/integration/v1/project/cancel Cancel the project
POST /api/integration/v1/project/restore Restore the project
POST /api/integration/v1/project/complete Complete the workflow for all project documents. As a result, the project status will change to Completed.
POST /api/integration/v1/project/create Create the project
POST /api/integration/v2/project/{projectId}/import Import keys and values from files into the Software Localization Project
POST /api/integration/v1/project/document Add a document to the project
POST /api/integration/v1/project/language Add a new target language to the project
DELETE /api/integration/v1/project/language Remove a target language from the project
POST /api/integration/v1/project/{projectId}/translationmemories/bylanguages Recreate the set of TMs plugged into the project. A separate set of TMs is created for each target language.
POST /api/integration/v1/project/{projectId}/statistics/build Start processing the project statistics
POST /api/integration/v1/project/{projectId}/managers Add managers to the specified project
DELETE /api/integration/v1/project/{projectId}/managers Delete managers from the project
POST /api/integration/v1/project/{projectId}/assign Automatically assign all new documents/segments to current linguists
POST /api/integration/v1/project/{projectId}/ReferenceFiles Add reference files to a project
POST /api/integration/v1/project/{projectId}/run-empty-folders-removing Run the empty project folders deletion task
POST /api/integration/v2/project/{projectId}/export Run export from Software Localization Project
POST /api/integration/v1/project/{projectId}/copying Run copying a project
GET /api/integration/v1/project/copying/{taskId} Get project copy state

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/smartcat-project-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

smartcat-project-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Smartcat Account Project API
  version: v1
servers:
- url: /
tags:
- name: Project
paths:
  /api/integration/v1/document:
    post:
      tags:
      - Project
      summary: Add a document to the project
      description: 'This method uses special structure for multipart/form-data content

        Please read this article in order to create a proper request

        https://developers.smartcat.com/api-guides/#multipart-requests'
      parameters:
      - name: projectId
        in: query
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      - name: disassembleAlgorithmName
        in: query
        description: Optional algorithm of file disassembly
        schema:
          type: string
      - name: externalId
        in: query
        description: External identifier assigned by the client upon the document creation
        schema:
          type: string
      - name: metaInfo
        in: query
        description: Additional user information about the document
        schema:
          type: string
      - name: targetLanguages
        in: query
        description: Comma-separated target languages of all documents. Optional parameter. Can be modified per document in the request body. By default, lists the project target languages.
        schema:
          type: string
      - name: presetDisassembleAlgorithm
        in: query
        description: Optional preset for the file disassembly algorithm
        schema:
          type: string
      - name: enableOcr
        in: query
        description: Optional parameter for disabling OCR (the default is true)
        schema:
          type: boolean
          default: true
      requestBody:
        description: Document file upload model
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                value:
                  type: array
                  items:
                    $ref: '#/components/schemas/CreateDocumentPropertyModel'
                files:
                  type: array
                  items:
                    type: string
                    format: binary
            examples:
              MultilingualExcelDisassembleSettingsModel:
                summary: Value property for Multilingual Excel Disassemble Settings Model
                value:
                  externalId: null
                  metaInfo: null
                  disassembleAlgorithmName: null
                  presetDisassembleAlgorithm: null
                  disassembleSettings:
                    startingRow: 1
                    columns:
                      context: C
                      comments:
                      - E
                      lengthLimit: D
                      language:
                        en: A
                        ru: B
                  bilingualFileImportSetings: null
                  targetLanguages: null
                  enablePlaceholders: null
                  enableOcr: null
        required: true
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DocumentModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DocumentModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DocumentModel'
        '400':
          description: The specified file is empty
        '403':
          description: The project is not associated with the account or the specified account is personal
        '404':
          description: The provided project ID does not exist
        '409':
          description: The document name is not unique
  /api/integration/v1/project/{projectId}:
    get:
      tags:
      - Project
      summary: Receive the project model
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProjectModel'
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectModel'
            text/json:
              schema:
                $ref: '#/components/schemas/ProjectModel'
        '400':
          description: The specified project ID's format is incorrect
        '403':
          description: The project is not associated with the account
        '404':
          description: The provided project ID does not exist
    put:
      tags:
      - Project
      summary: Update a project by ID
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Project changes model
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ProjectChangesModel'
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectChangesModel'
          text/json:
            schema:
              $ref: '#/components/schemas/ProjectChangesModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ProjectChangesModel'
        required: true
      responses:
        '204':
          description: The project has been successfully updated
        '400':
          description: The provided project model is empty
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: The project is not associated with the account or an attempt is made to modify the vendor when the work on the project has already started
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The provided project ID does not exist
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: The new name will not be unique in the project
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    delete:
      tags:
      - Project
      summary: Delete the project
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: The project has been successfully deleted
        '400':
          description: The specified project ID's format is incorrect
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: The project is not associated with the account
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /api/integration/v2/project/list:
    get:
      tags:
      - Project
      summary: Fetch the list of account projects
      parameters:
      - name: createdByUserId
        in: query
        description: ID of the user who created the project
        schema:
          type: string
          format: uuid
      - name: assignedToUserId
        in: query
        description: User ID for filtering by assignment
        schema:
          type: string
          format: uuid
      - name: projectName
        in: query
        description: Partial project name
        schema:
          type: string
      - name: externalTag
        in: query
        description: Partial external tag of the project
        schema:
          type: string
      - name: clientIds
        in: query
        description: Comma-separated client ID
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: offset
        in: query
        description: Number of skipped items
        schema:
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: Maximum returned items (not more than 100)
        schema:
          type: integer
          format: int32
          default: 100
      responses:
        '200':
          description: Request completed successfully
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectModel'
        '400':
          description: Incorrect parameter format
        '403':
          description: Some of the provided clients do not exist in the account
  /api/integration/v1/project/list:
    get:
      tags:
      - Project
      summary: Fetch the list of account projects
      parameters:
      - name: createdByUserId
        in: query
        description: ID of the user who created the project
        schema:
          type: string
          format: uuid
      - name: assignedToUserId
        in: query
        description: User ID for filtering by assignment
        schema:
          type: string
          format: uuid
      - name: projectName
        in: query
        description: Partial project name
        schema:
          type: string
      - name: externalTag
        in: query
        description: Partial external tag of the project
        schema:
          type: string
      - name: projectType
        in: query
        description: Type of the project
        schema:
          $ref: '#/components/schemas/ProjectTypeFilter'
      - name: clientIds
        in: query
        description: Comma-separated client IDs
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: includeDocuments
        in: query
        description: Include project documents in response
        schema:
          type: boolean
          default: true
      - name: includeQuotes
        in: query
        description: Include project related quotes in response
        schema:
          type: boolean
          default: true
      - name: includeCustomFields
        in: query
        description: Include project related custom fields in response
        schema:
          type: boolean
          default: true
      - name: includeClients
        in: query
        description: Include project clients in response
        schema:
          type: boolean
          default: true
      - name: offset
        in: query
        description: Number of skipped items
        schema:
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: Maximum returned items (not more than 100)
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Request completed successfully
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectModel'
        '400':
          description: Incorrect parameter format
        '403':
          description: Some of the provided clients do not exist in the account
  /api/integration/v1/project/{projectId}/statistics:
    get:
      tags:
      - Project
      summary: '(This method is obsolete and has been replaced with /api/integration/v2/project/{projectId}/statistics)

        Fetch project statistics'
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      - name: onlyExactMatches
        in: query
        description: Specifies whether returning 100% and higher matches will suffice
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/ProjectStatisticsObsoleteModel'
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/ProjectStatisticsObsoleteModel'
            text/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/ProjectStatisticsObsoleteModel'
        '403':
          description: The project is not associated with the account
        '404':
          description: The provided project ID does not exist
  /api/integration/v2/project/{projectId}/statistics:
    get:
      tags:
      - Project
      summary: Fetch project statistics
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      - name: onlyExactMatches
        in: query
        description: Specifies whether returning 100% and higher matches will suffice (the default is false)
        schema:
          type: boolean
          default: false
      responses:
        '403':
          description: The project is not associated with the account
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '422':
          description: One or multiple project documents could not be disassembled
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '200':
          description: Request has been successfully completed
        '202':
          description: Statistics creation is in progress
        '404':
          description: The provided project ID does not exist
  /api/integration/v1/project/{projectId}/fuzzyRepetitions:
    put:
      tags:
      - Project
      summary: Enable or disable calculating fuzzy repetitions in the project statistics
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: withFuzzyMatches
        in: query
        schema:
          type: boolean
      responses:
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /api/integration/v1/project/{projectId}/completedWorkStatistics:
    get:
      tags:
      - Project
      summary: Receive statistics for the completed parts of the project
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExecutiveStatisticsModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExecutiveStatisticsModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExecutiveStatisticsModel'
        '403':
          description: The project is not associated with the account
        '404':
          description: The provided project ID does not exist
  /api/integration/v1/project/{projectId}/translationmemories:
    get:
      tags:
      - Project
      summary: Receive a list of the TMs plugged into the project
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: TM IDs collection is empty
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectTranslationMemoryModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectTranslationMemoryModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectTranslationMemoryModel'
        '404':
          description: The project with the specified ID was not found
    post:
      tags:
      - Project
      summary: 'Recreate the set of TMs plugged into the project.

        The set of TMs is identical for all target languages of the project.'
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      - name: onlyExactSourceLanguageMatch
        in: query
        description: Specifies whether exact matches in the source language are required (the default is false)
        schema:
          type: boolean
          default: false
      - name: onlyExactTargetLanguageMatch
        in: query
        description: Specifies whether exact matches in the target language are required (the default is false)
        schema:
          type: boolean
          default: false
      requestBody:
        description: Collection of TMs
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/TranslationMemoryForProjectModel'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/TranslationMemoryForProjectModel'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/TranslationMemoryForProjectModel'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/TranslationMemoryForProjectModel'
        required: true
      responses:
        '200':
          description: Request has been successfully completed
        '400':
          description: 'Returns if:


            - The provided model with TM IDs to be added to the project is empty

            - More than one TM has been provided

            - The match threshold in the TM is smaller than the allowed minimum (50)

            - A TM appears in the settings multiple times

            - The Write TM does not include all the project''s target languages

            - The project''s source language does not match any source language in the provided TM

            - None of the project''s target languages appears among the target languages in the provided Read TM'
  /api/integration/v1/project/{projectId}/glossaries:
    get:
      tags:
      - Project
      summary: Fetch the list of glossaries plugged into the project
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GlossaryModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GlossaryModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GlossaryModel'
        '403':
          description: The project is associated with another account
        '404':
          description: Project not found
    put:
      tags:
      - Project
      summary: Set a collection of glossaries plugged into the project
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Array of glossary IDs
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                type: string
                format: uuid
          application/json:
            schema:
              type: array
              items:
                type: string
                format: uuid
          text/json:
            schema:
              type: array
              items:
                type: string
                format: uuid
          application/*+json:
            schema:
              type: array
              items:
                type: string
                format: uuid
        required: true
      responses:
        '204':
          description: Request has been successfully completed
        '400':
          description: A provided glossary does not match any language pair in the project
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: The project is associated with another account
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The provided IDs do not match any project or glossary
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /api/integration/v1/project/{projectId}/glossaries/default:
    get:
      tags:
      - Project
      summary: Fetch default glossary for the project
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      - name: fallbackToAccount
        in: query
        description: By default, if a project does not have a default glossary, a 404 error will be returned. Set this flag to true to attempt to get a default glossary from the entire account.
        schema:
          type: boolean
      responses:
        '200':
          description: Request has been successfully completed
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GlossaryModel'
            application/json:
              schema:
                $ref: '#/components/schemas/GlossaryModel'
            text/json:
              schema:
                $ref: '#/components/schemas/GlossaryModel'
        '403':
          description: The project is associated with another account
        '404':
          description: Project or default glossary is not found
  /api/integration/v1/project/{projectId}/mt:
    get:
      tags:
      - Project
      summary: Fetch the project's MT configuration
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Returns if the operation has been successfully completed
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectMTEngineModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectMTEngineModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectMTEngineModel'
        '403':
          description: The project is associated with another account
        '404':
          description: Project not found
    post:
      tags:
      - Project
      summary: Set an MT configuration in the project
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Required MT settings
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ProjectMTEngineModel'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ProjectMTEngineModel'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ProjectMTEngineModel'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ProjectMTEngineModel'
        required: true
      responses:
        '204':
          description: Returns if the operation has been successfully completed
        '400':
          description: Incorrect parameters
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: The project is associated with another account
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Project not found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /api/integration/v1/project/{projectId}/mt/available:
    get:
      tags:
      - Project
      summary: Fetch all the MT engines and profiles that can be used in the specified project
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Returns if the operation has been successfully completed
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectMTEngineSupportedLanguagesModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectMTEngineSupportedLanguagesModel'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectMTEngineSupportedLanguagesModel'
        '403':
          description: The project is associated with another account
        '404':
          description: Project not found
  /api/integration/v1/project/{projectId}/pretranslation-rules:
    get:
      tags:
      - Project
      summary: Fetch the project pre-processing rules
      parameters:
      - name: projectId
        in: path
        description: Project ID
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PretranslateRuleModel'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PretranslateRuleModel'
        

# --- truncated at 32 KB (115 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/smartcat/refs/heads/main/openapi/smartcat-project-api-openapi.yml