General Translation Context API

Generate translation context such as glossaries and instructions.

OpenAPI Specification

general-translation-context-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: General Translation Branches Context API
  version: 2026-03-06.v1
  description: 'The public General Translation API. Use it to upload source content and translated files, download translations, queue and translate content, manage branches and tags, and read project and job status.


    Most endpoints operate on a single project and live under `https://api2.gtx.dev`. The runtime translation endpoint (`POST /v2/translate`) is served from `https://runtime2.gtx.dev`.


    Authenticate every request with an API key as a bearer token in the standard `Authorization: Bearer <key>` header. Project keys (`gtx-api-`, `gtx-dev-`) are bound to one project. Organization keys (`gtx-org-`) work across projects but must include the target project in the `gt-project-id` header for project-scoped routes.

    '
  contact:
    name: General Translation Support
    email: support@generaltranslation.com
    url: https://generaltranslation.com
servers:
- url: https://api2.gtx.dev
  description: Project and file API
- url: https://runtime2.gtx.dev
  description: Runtime translation API (POST /v2/translate)
security:
- Bearer: []
tags:
- name: Context
  description: Generate translation context such as glossaries and instructions.
paths:
  /v2/project/setup/should-generate:
    get:
      tags:
      - Context
      summary: Check if context generation is needed
      deprecated: true
      operationId: shouldGenerateContext
      parameters:
      - $ref: '#/components/parameters/GtApiVersion'
      - $ref: '#/components/parameters/GtProjectId'
      responses:
        '200':
          description: Whether context generation is recommended.
          content:
            application/json:
              schema:
                type: object
                properties:
                  shouldSetupProject:
                    type: boolean
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/project/setup/generate:
    post:
      tags:
      - Context
      summary: Generate translation context
      description: Generate glossaries and translation instructions for the project.
      operationId: generateContext
      parameters:
      - $ref: '#/components/parameters/GtApiVersion'
      - $ref: '#/components/parameters/GtProjectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - files
              properties:
                files:
                  type: array
                  minItems: 1
                  items:
                    type: object
                    required:
                    - fileId
                    - versionId
                    properties:
                      branchId:
                        type: string
                      fileId:
                        type: string
                      versionId:
                        type: string
                locales:
                  type: array
                  items:
                    type: string
                  description: Target locales for glossary generation.
                force:
                  type: boolean
                  default: false
      responses:
        '200':
          description: Context generation queued or completed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  setupJobId:
                    type: string
                  status:
                    type: string
                    enum:
                    - queued
                    - completed
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/project/setup/status/{jobId}:
    get:
      tags:
      - Context
      summary: Get context generation job status
      deprecated: true
      operationId: getContextStatus
      parameters:
      - $ref: '#/components/parameters/GtApiVersion'
      - $ref: '#/components/parameters/GtProjectId'
      - name: jobId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Context job status.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jobId:
                    type: string
                  status:
                    type: string
                    enum:
                    - queued
                    - processing
                    - completed
                    - failed
                    - unknown
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
  parameters:
    GtProjectId:
      name: gt-project-id
      in: header
      required: false
      description: Target project ID. Required when authenticating with an organization API key.
      schema:
        type: string
    GtApiVersion:
      name: gt-api-version
      in: header
      required: false
      description: 'API version. Defaults to the earliest supported version. Latest is `2026-03-06.v1`.

        '
      schema:
        type: string
        enum:
        - 2025-01-01.v0
        - 2025-11-03.v1
        - 2026-02-18.v1
        - 2026-03-06.v1
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request was invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The API key lacks the required permission, or the action is not allowed on the current plan.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      description: 'API key sent as a bearer token in the standard `Authorization: Bearer <key>` header. Use a project key (`gtx-api-`, `gtx-dev-`) or an organization key (`gtx-org-`). Organization keys must also send `gt-project-id` on project-scoped routes.

        '