Transifex Translation Memory API

The Translation Memory API from Transifex — 4 operation(s) for translation memory.

OpenAPI Specification

transifex-translation-memory-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  contact:
    email: support@transifex.com
    name: Transifex Support
  description: "<br/>\n<br/>\n\n# Introduction\n\nThis API is based on **{json:api}**.\n\n{json:api} is a specification that follows shared conventions and standards. This specification enables API discoverability and partial\nself-descriptiveness through conventions. The Json Api specification exposes resources and their relationships representations with\nunique uris and all CRUD operations are performed on those endpoints. With it's simplified approach it assists the API uniformity.\n\nRead more: https://jsonapi.org/\n\nAdditionally, this API is defined using OpenAPI (ex Swagger). This means that you can easily:\n* Generate clients in your preferred: https://swagger.io/tools/swagger-codegen/\n* Download the specification file (see above) and use it in clients like Postman etc\n\n<br />\n<br />\n\n# Pagination\n\nAll list endpoints include pagination to guarantee performant responses. Those endpoints will return `next` and `previous` links in the\nresponse payload (`links` section). The client does not have to construct any pagination specific URLs or headers, just follow those\nlinks.\n\nPage size is fixed to 150 items per page.\n\n<br />\n<br />\n\n# Content Negotiation\n\nThe basic media type for the API is `application/vnd.api+json`. If you want to execute a request that includes data (`POST`, `PATCH`, `DELETE`)\nyou should include this media type in the `Content-Type` header. The only case where a different `Content-Type` header will be accepted is for\nendpoints that can accept file like objects where the media type used should be `multipart/form-data`.\n\nThe base media type this API responds is `application/vnd.api+json`. To retrieve the data in this media type you should include it in the `Accept`\nheader. The only case where the server will return another media type is for endpoint that return file like objects.\nIn this case the media type used should be `*/*` and the server will prioritize the negotiation to the media type dictated from the file.\nNote that `application/vnd.api+json` will be also available for accept header in these cases and will return a JSON serialized representation of the file.\n\nRead more here: https://jsonapi.org/format/#content-negotiation\n\n# File Uploads\n\nThere are three different methods for uploading file content to Transifex:\n* Using Content-Type `application/vnd.api+json` the content must\n    be JSON serializable.\n    - For content that is directly JSON serializable you can dump the content\n    of the file directly and set the `content_encoding` attribute  to `text`.\n    - For any content, even if it's not JSON serializable (eg .xlsx, .idml or .docx file extensions),\n    you can encode the file using the `base64` encoding and set the `content_encoding` attribute to `base64`.\n* Using Content-Type `multipart/form-data` the content can be any raw file, and can\n    be send without further processing.\n\n# Asynchronous Processing\n\nAsynchronous operations are triggered via a POST request. The response status in such cases is 202 Accepted, with a link in the Content-Location header.\nTo check the status of the operation, a client can send a request to the location given earlier.\nAn optional `callback_url` can be provided when the asynchronous operation is triggered. If such url is provided, upon completion\na HTTP POST request is executed containing all information required to identify the specific operation:\n\nExample request:\n```\nPOST callback_url HTTP/1.1\nContent-Type: application/json\n\n{\n  \"data\": {\n    \"type\": resource_strings_async_downloads\",\n    \"id\": \"xxxxxxxxx\",\n    \"attributes\": {\n      \"location\": \"https://rest.api.transifex.com/resource_strings_async_downloads/xxxxxxxxx\",\n      \"status\": \"succeeded\"\n    }\n  }\n}\n```\n\n# Restrictions\n\nThe following Plan based restrictions apply:\n* [Activity Reports](#tag/Activity-Reports) are available to Premium and up\n* [XLIFF export](#tag/Resource-Translations/paths/~1resource_translations_async_downloads/post) is available to Premium and up.\n* [Screenshots](#tag/Context-Screenshots) are available to Premium and up\n\n# Rate Limit\n\nTo maintain optimal performance and availability of the API, we limit the request rate to 500\nrequests/min or 30,000 requests / 5 minutes / IP. Polling endpoints like\n`resource_translations_async_downloads/{resource_translations_async_download_id}` and\n`resource_strings_async_downloads/{resource_strings_async_download_id}` have a rate limit of 1,200 requests/min.\nOnce past the respective limit, requests will be throttled and you will get a 429 Throttled response.\n\n\nExample response:\n```\n{\n  \"errors\": [\n    {\n      \"code\": \"Throttled\",\n      \"detail\": \"Request was throttled. Expected available in 60 seconds.\",\n      \"status\": \"429\",\n      \"title\": \"Throttled\"\n    }\n  ]\n}\n```\n\n# Authentication\n<!-- ReDoc-Inject: <security-definitions> -->\n"
  title: Transifex Activity Reports Translation Memory API
  version: '3.0'
  x-logo:
    altText: Transifex logo
    backgroundColor: '#FFFFFF'
    url: transifex-blue-logo.svg
servers:
- url: https://rest.api.transifex.com
security:
- bearerAuth: []
tags:
- name: Translation Memory
paths:
  /tmx_async_downloads:
    summary: Create a tmx file download action
    post:
      description: 'The response represents the file download job. Check the job''s status

        and download the file itself once that is completed.

        '
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              additionalProperties: false
              properties:
                data:
                  additionalProperties: false
                  description: Create tmx_async_download body request
                  properties:
                    attributes:
                      additionalProperties: false
                      properties:
                        callback_url:
                          default: null
                          description: 'The url that will be called when the processing is completed.

                            For more details about callback_url you can refer to [Asynchronous Processing](#section/Asynchronous-Processing) section

                            '
                          format: uri
                          nullable: true
                          type: string
                        email:
                          default: false
                          description: 'Whether to receive a link to the TMX file as an email

                            when it''s ready. The email address used will be the one

                            registered to the user making the API call

                            '
                          type: boolean
                        include_context:
                          default: false
                          deprecated: true
                          description: 'Whether to include context in the tmx file.<br>

                            <b>This attribute will be ignored. Context will always be included.</b><br>

                            '
                          type: boolean
                        include_untranslated:
                          default: false
                          deprecated: true
                          description: 'Whether to include untranslated entities in the tmx file.<br>

                            <b>This attribute will be ignored. Untranslated entities will not be included.</b><br>

                            '
                          type: boolean
                      type: object
                    relationships:
                      additionalProperties: false
                      description: Source Upload parent relationships
                      properties:
                        language:
                          additionalProperties: false
                          description: The `language` to compile the tmx for
                          properties:
                            data:
                              additionalProperties: false
                              description: Language data container.
                              properties:
                                id:
                                  description: Language identifier.
                                  example: l:en_US
                                  pattern: ^l:[a-zA-Z0-9@_.-]+$
                                  type: string
                                type:
                                  enum:
                                  - languages
                                  type: string
                              required:
                              - type
                              - id
                              type: object
                          required:
                          - data
                          type: object
                        project:
                          additionalProperties: false
                          description: The `project` to compile the tmx for
                          properties:
                            data:
                              additionalProperties: false
                              description: Project data container.
                              properties:
                                id:
                                  description: Project identifier.
                                  example: o:organization_slug:p:project_slug
                                  pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
                                  type: string
                                type:
                                  enum:
                                  - projects
                                  type: string
                              required:
                              - type
                              - id
                              type: object
                          required:
                          - data
                          type: object
                      required:
                      - project
                      type: object
                    type:
                      enum:
                      - tmx_async_downloads
                      type: string
                  required:
                  - type
                  - relationships
                  type: object
              required:
              - data
              type: object
        required: true
      responses:
        '202':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    additionalProperties: false
                    properties:
                      attributes:
                        additionalProperties: false
                        properties:
                          datetime_created:
                            example: XXXX-XX-XXTXX:XX:XXZ
                            format: date-time
                            type: string
                          datetime_modified:
                            example: XXXX-XX-XXTXX:XX:XXZ
                            format: date-time
                            type: string
                          errors:
                            items:
                              additionalProperties: false
                              properties:
                                code:
                                  example: parse_error
                                  type: string
                                detail:
                                  example: Could not decode JSON object
                                  type: string
                              required:
                              - code
                              - detail
                              type: object
                            type: array
                          status:
                            enum:
                            - pending
                            - processing
                            - failed
                            - succeeded
                            example: failed
                            type: string
                        required:
                        - status
                        - errors
                        - datetime_created
                        - datetime_modified
                        type: object
                      id:
                        example: 4abfc726-6a27-4c33-9d99-e5254c8df748
                        pattern: ^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
                        type: string
                      links:
                        additionalProperties: false
                        properties:
                          self:
                            example: /tmx_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748
                            type: string
                        type: object
                      relationships:
                        additionalProperties: false
                        properties:
                          language:
                            additionalProperties: false
                            properties:
                              data:
                                additionalProperties: false
                                description: Language data container.
                                properties:
                                  id:
                                    description: Language identifier.
                                    example: l:en_US
                                    pattern: ^l:[a-zA-Z0-9@_.-]+$
                                    type: string
                                  type:
                                    enum:
                                    - languages
                                    type: string
                                required:
                                - type
                                - id
                                type: object
                              links:
                                additionalProperties: false
                                description: Language related link.
                                properties:
                                  related:
                                    description: Language details link.
                                    example: /languages/l:en_US
                                    type: string
                                required:
                                - related
                                type: object
                            required:
                            - links
                            - data
                            type: object
                          project:
                            additionalProperties: false
                            properties:
                              data:
                                additionalProperties: false
                                description: Project data container.
                                properties:
                                  id:
                                    description: Project identifier.
                                    example: o:organization_slug:p:project_slug
                                    pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
                                    type: string
                                  type:
                                    enum:
                                    - projects
                                    type: string
                                required:
                                - type
                                - id
                                type: object
                              links:
                                additionalProperties: false
                                description: Project links.
                                properties:
                                  related:
                                    description: Project details link.
                                    example: /projects/o:organization_slug:p:project_slug
                                    type: string
                                required:
                                - related
                                type: object
                            required:
                            - links
                            - data
                            type: object
                        required:
                        - project
                        type: object
                      type:
                        enum:
                        - tmx_async_downloads
                        type: string
                    required:
                    - type
                    - id
                    - attributes
                    - relationships
                    - links
                    type: object
                required:
                - data
                type: object
          description: Accepted
          headers:
            Content-Location:
              description: The location of the tmx download.
              required: true
              schema:
                type: string
        '400':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  errors:
                    items:
                      additionalProperties: false
                      properties:
                        code:
                          example: invalid
                          type: string
                        detail:
                          example: Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens
                          type: string
                        source:
                          anyOf:
                          - properties:
                              pointer:
                                example: /data/attributes/name
                                type: string
                          - properties:
                              parameter:
                                example: ?filter[foo]
                                type: string
                        status:
                          example: '400'
                          type: string
                        title:
                          example: Field `name` is invalid
                          type: string
                      type: object
                    type: array
                type: object
          description: Invalid
        '401':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  errors:
                    items:
                      additionalProperties: false
                      properties:
                        code:
                          example: unauthorized
                          type: string
                        detail:
                          example: Please verify your credentials
                          type: string
                        status:
                          example: '401'
                          type: string
                        title:
                          example: Unauthorized
                          type: string
                      type: object
                    type: array
                type: object
          description: Unauthorized
        '403':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  errors:
                    items:
                      additionalProperties: true
                      properties:
                        code:
                          example: forbidden
                          type: string
                        detail:
                          example: You do not have permissions to perform this action
                          type: string
                        status:
                          example: '403'
                          type: string
                        title:
                          example: Operation not allowed
                          type: string
                      type: object
                    type: array
                type: object
          description: Forbidden
        '404':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  errors:
                    items:
                      properties:
                        code:
                          example: not found
                          type: string
                        detail:
                          example: Object not found. It may have been deleted or not been created yet
                          type: string
                        status:
                          example: '404'
                          type: string
                        title:
                          example: Object not found
                          type: string
                      type: object
                    type: array
                type: object
          description: Not found
        '409':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  errors:
                    items:
                      additionalProperties: false
                      properties:
                        code:
                          example: conflict
                          type: string
                        detail:
                          example: Value `some_field_value` already exists
                          type: string
                        source:
                          additionalProperties: false
                          properties:
                            pointer:
                              example: /data/attributes/some_field
                              type: string
                          type: object
                        status:
                          example: '409'
                          type: string
                        title:
                          example: Field `some_field` conflicted
                          type: string
                      type: object
                    type: array
                type: object
          description: Conflict
        '500':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  errors:
                    items:
                      additionalProperties: false
                      properties:
                        code:
                          example: server error
                          type: string
                        detail:
                          example: Something went wrong, please try again
                          type: string
                        status:
                          example: '500'
                          type: string
                        title:
                          example: Something went wrong
                          type: string
                      type: object
                    type: array
                type: object
          description: Internal Error
      summary: Create a tmx file download action
      tags:
      - Translation Memory
      x-released: true
  /tmx_async_downloads/{tmx_async_download_id}:
    summary: Get tmx file download status
    get:
      description: "With this endpoint, you can inquire about the status of an tmx file download job.\n\n- If the value of the 'status' attribute is 'pending' or 'processing', you\n  should check this endpoint again later.\n- If the 'status' is 'failed', the translation has failed to be compiled.\n- In case the upload job has been successful, you will receive a \"303 - See\n  Other\" response and you can follow its `Location` to download the file.\n  The download link will be valid for 30 days.\n"
      parameters:
      - description: Format of the tmx_async_download_id should be a UUID.
        in: path
        name: tmx_async_download_id
        required: true
        schema:
          example: 4abfc726-6a27-4c33-9d99-e5254c8df748
          pattern: ^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
          type: string
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    additionalProperties: false
                    properties:
                      attributes:
                        additionalProperties: false
                        properties:
                          datetime_created:
                            example: XXXX-XX-XXTXX:XX:XXZ
                            format: date-time
                            type: string
                          datetime_modified:
                            example: XXXX-XX-XXTXX:XX:XXZ
                            format: date-time
                            type: string
                          errors:
                            items:
                              additionalProperties: false
                              properties:
                                code:
                                  example: parse_error
                                  type: string
                                detail:
                                  example: Could not decode JSON object
                                  type: string
                              required:
                              - code
                              - detail
                              type: object
                            type: array
                          status:
                            enum:
                            - pending
                            - processing
                            - failed
                            - succeeded
                            example: failed
                            type: string
                        required:
                        - status
                        - errors
                        - datetime_created
                        - datetime_modified
                        type: object
                      id:
                        example: 4abfc726-6a27-4c33-9d99-e5254c8df748
                        pattern: ^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
                        type: string
                      links:
                        additionalProperties: false
                        properties:
                          self:
                            example: /tmx_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748
                            type: string
                        type: object
                      relationships:
                        additionalProperties: false
                        properties:
                          language:
                            additionalProperties: false
                            properties:
                              data:
                                additionalProperties: false
                                description: Language data container.
                                properties:
                                  id:
                                    description: Language identifier.
                                    example: l:en_US
                                    pattern: ^l:[a-zA-Z0-9@_.-]+$
                                    type: string
                                  type:
                                    enum:
                                    - languages
                                    type: string
                                required:
                                - type
                                - id
                                type: object
                              links:
                                additionalProperties: false
                                description: Language related link.
                                properties:
                                  related:
                                    description: Language details link.
                                    example: /languages/l:en_US
                                    type: string
                                required:
                                - related
                                type: object
                            required:
                            - links
                            - data
                            type: object
                          project:
                            additionalProperties: false
                            properties:
                              data:
                                additionalProperties: false
                                description: Project data container.
                                properties:
                                  id:
                                    description: Project identifier.
                                    example: o:organization_slug:p:project_slug
                                    pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
                                    type: string
                                  type:
                                    enum:
                                    - projects
                                    type: string
                                required:
                                - type
                                - id
                                type: object
                              links:
                                additionalProperties: false
                                description: Project links.
                                properties:
                                  related:
                                    description: Project details link.
                                    example: /projects/o:organization_slug:p:project_slug
                                    type: string
                                required:
                                - related
                                type: object
                            required:
                            - links
                            - data
                            type: object
                        required:
                        - project
                        type: object
                      type:
                        enum:
                        - tmx_async_downloads
                        type: string
                    required:
                    - type
                    - id
                    - attributes
                    - relationships
                    - links
                    type: object
                required:
                - data
                type: object
          description: Successful response
        '303':
          content:
            application/vnd.api+json:
              schema: {}
          description: See other
          headers:
            Location:
              description: The location of the TMX file.
              required: true
              schema:
                example: https://storage.svc.transifex.net/files/663a7a83-cb15-4c72-a37d-125dfb8432a6-file?auth=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZXMiOiJkb3dubG9hZCIsIm1ldGFkYXRhIjpudWxsLCJmaWxlX2lkcyI6IjY2M2E3YTgzLWNiMTUtNGM3Mi1hMzdkLTEyNWRmYjg0MzJhNi1maWxlIiwiZXhwIjoxNTg0NzE3NTkzLCJwcm92aWRlciI6InR4YyJ9.IHgLS4gtL0A6YZd-2zKkrg__geitcvs9DV8LcE8-1io
                type: string
        '401':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  errors:
                    items:
                      additionalProperties: false
                      properties:
                        code:
                          example: unauthorized
                          type: string
                        detail:
                          example: Please verify your credentials
                          typ

# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/transifex/refs/heads/main/openapi/transifex-translation-memory-api-openapi.yml