Transifex Resource Translations API

The Resource Translations API from Transifex — 7 operation(s) for resource translations.

OpenAPI Specification

transifex-resource-translations-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 Resource Translations 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: Resource Translations
paths:
  /resource_translations:
    summary: Get a Resource Translations collection
    get:
      parameters:
      - description: Filter results by a resource
        in: query
        name: filter[resource]
        required: true
        schema:
          description: Resource identifier.
          example: o:organization_slug:p:project_slug:r:resource_slug
          pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
          type: string
      - description: Filter results by a language
        in: query
        name: filter[language]
        required: true
        schema:
          description: Language identifier.
          example: l:en_US
          pattern: ^l:[a-zA-Z0-9@_.-]+$
          type: string
      - description: 'The cursor used for pagination. The value of the cursor must be retrieved from pagination links included in previous responses; you should not attempt to write them on your own.

          '
        in: query
        name: page[cursor]
        schema:
          type: string
      - in: query
        name: filter[date_translated][gt]
        required: false
        schema:
          oneOf:
          - example: XXXX-XX-XXTXX:XX:XXZ
            format: date-time
            type: string
          - description: Date, will be treated as UTC by the API
            example: XXXX-XX-XX
            format: date
            type: string
      - in: query
        name: filter[date_translated][lt]
        required: false
        schema:
          oneOf:
          - example: XXXX-XX-XXTXX:XX:XXZ
            format: date-time
            type: string
          - description: Date, will be treated as UTC by the API
            example: XXXX-XX-XX
            format: date
            type: string
      - in: query
        name: filter[resource_string][key]
        required: false
        schema:
          example: hello_world
          minLength: 1
          type: string
      - in: query
        name: filter[resource_string][date_modified][gte]
        required: false
        schema:
          oneOf:
          - example: XXXX-XX-XXTXX:XX:XXZ
            format: date-time
            type: string
          - description: Date, will be treated as UTC by the API
            example: XXXX-XX-XX
            format: date
            type: string
      - in: query
        name: filter[resource_string][date_modified][lte]
        required: false
        schema:
          oneOf:
          - example: XXXX-XX-XXTXX:XX:XXZ
            format: date-time
            type: string
          - description: Date, will be treated as UTC by the API
            example: XXXX-XX-XX
            format: date
            type: string
      - in: query
        name: filter[translated]
        required: false
        schema:
          example: true
          type: boolean
      - in: query
        name: filter[reviewed]
        required: false
        schema:
          example: true
          type: boolean
      - in: query
        name: filter[proofread]
        required: false
        schema:
          example: false
          type: boolean
      - in: query
        name: filter[finalized]
        required: false
        schema:
          example: false
          type: boolean
      - in: query
        name: filter[translator]
        required: false
        schema:
          example: u:username
          minLength: 1
          type: string
      - in: query
        name: filter[origin]
        required: false
        schema:
          enum:
          - API
          - EDITOR
          - UPLOAD
          - TM
          - VENDORS:GENGO
          - VENDORS:TEXTMASTER
          - VENDORS:E2F
          - MT:GOOGLE
          - MT:MICROSOFT
          - MT:AMAZON
          - MT:DEEPL
          - AUTOFETCH
          - TX:AUTOMATED
          - TX:NATIVE_MIGRATION
          - TX:PROPAGATED
          - TX:MERGED
          example: EDITOR
          type: string
      - in: query
        name: filter[task_language_identifier]
        required: false
        schema:
          example: project_slug:task_number:language_code:type
          pattern: ^[a-zA-Z0-9._-]+:[0-9]+:[a-zA-Z0-9._-]+:(translation|review|proofread)$
          type: string
      - description: Use the value `resource_string` to get the list of resource string objects in the response.
        explode: false
        in: query
        name: include
        required: false
        schema:
          enum:
          - resource_string
          type: string
        style: form
      - description: Retrieve translation strings containing all of the query tags.
        explode: false
        in: query
        name: filter[resource_string][tags][all]
        required: false
        schema:
          items:
            example: tag1,tag2
            type: string
          minItems: 1
          type: array
        style: form
      - description: Retrieve translation strings containing any of the query tags. If the filter value is *, all strings with any tag will be returned. However, if you use * along with another tag value, such as *,tag1, only strings with either * or 'tag1' tags will be returned.
        explode: false
        in: query
        name: filter[resource_string][tags][any]
        required: false
        schema:
          items:
            example: tag1,tag2
            type: string
          minItems: 1
          type: array
        style: form
      - description: "Retrieve translation strings based on specified query tags.\n\nTo filter strings, use a combination of tags with the following syntax:\n- Use an ampersand ('&') to signify 'AND' functionality, indicating that all specified\n  tags must be present.\n- Use a pipe ('|') to signify 'OR' functionality, meaning that at least one of\n  the specified tags must be present.\n- Use parentheses '(' to ')' to define the order of statement execution.\n- To use the above special characters as part of the query content, escape them with a\n  backslash ('\\\\')\n\nWhen combining AND and OR conditions, the query is evaluated from left to right, following operator precedence and respecting existing parentheses. Specifically, the AND operator (&) takes precedence over the OR operator (|).\n\nFor example, consider the query:\n'tag1&(tag2|tag3)'\n\nThis query is interpreted as follows:\ntag1 AND (tag2 OR tag3), and it returns strings that have both \"tag1\" and either \"tag2\" or \"tag3\"\n\nSimilarly, for the query:\n'tag1&tag2|tag3'\n\nThis query is read as follows:\n(tag1 AND tag2) OR tag3, and it returns strings that have both \"tag1\" and \"tag2\" or have \"tag3\"\n"
        explode: false
        in: query
        name: filter[resource_string][tags][query]
        required: false
        schema:
          example: tag1&tag2|tag3
          minLength: 1
          type: string
        style: form
      - description: The page size limit. If not set, the default value is 150. <br> If set, the minimum value it can take is 150 and the maximum 1000.
        in: query
        name: limit
        schema:
          example: 150
          nullable: true
          type: string
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    description: List of resource translation objects.
                    items:
                      additionalProperties: false
                      properties:
                        attributes:
                          additionalProperties: false
                          description: Resource Translation attributes.
                          properties:
                            datetime_created:
                              description: The date when a resource string is made available, in a target language, to receive translations. When a new resource string is added to the system, the value of this field is the same as the resource string creation date, for every existing target language in the related project. When a new target language is added to a project, the value of this field is the same as the date the target language was added, for all resource strings already in the project.
                              example: XXXX-XX-XXTXX:XX:XXZ
                              format: date-time
                              type: string
                            datetime_proofread:
                              description: The date that the resource translation was proofread. Null, if the resource translation is not proofread.
                              example: XXXX-XX-XXTXX:XX:XXZ
                              format: date-time
                              nullable: true
                              type: string
                            datetime_reviewed:
                              description: The date that the resource translation was reviewed. If multiple reviews have occurred, then this date holds the latest. Null, if the resource translation is not reviewed.
                              example: XXXX-XX-XXTXX:XX:XXZ
                              format: date-time
                              nullable: true
                              type: string
                            datetime_translated:
                              description: The date that the resource string was last translated on this language. If multiple edits on the strings have occurred, then this date holds the latest. Null, if the resource string is not translated.
                              example: XXXX-XX-XXTXX:XX:XXZ
                              format: date-time
                              nullable: true
                              type: string
                            finalized:
                              description: If the resource translation is finalized or not. Depending on the number of review steps in the project, this either denotes reviewed (1 review step) or proofread (2 review steps).
                              example: false
                              type: boolean
                            origin:
                              description: The origin of the translation
                              enum:
                              - API
                              - EDITOR
                              - UPLOAD
                              - TM
                              - VENDORS:GENGO
                              - VENDORS:TEXTMASTER
                              - VENDORS:E2F
                              - MT:GOOGLE
                              - MT:MICROSOFT
                              - MT:AMAZON
                              - MT:DEEPL
                              - AUTOFETCH
                              - TX:AUTOMATED
                              - TX:NATIVE_MIGRATION
                              - TX:PROPAGATED
                              - TX:MERGED
                              example: EDITOR
                              nullable: true
                              type: string
                            proofread:
                              description: If the resource translation is proofread or not.
                              example: false
                              type: boolean
                            reviewed:
                              description: If the resource translation is reviewed or not.
                              example: true
                              type: boolean
                            strings:
                              additionalProperties: false
                              description: 'Dictionary with the translation content. For pluralized resource strings, the keys will be all the available plural rules for target language, as defined in CLDR, and the values the actual translation for each plural rule.

                                For non-pluralized resource strings, only the default plural rule (''other'') will be present.

                                The object will be `null` in case of untranslated content.'
                              example:
                                one: hello
                                other: world
                              nullable: true
                              properties:
                                few:
                                  type: string
                                many:
                                  type: string
                                one:
                                  type: string
                                other:
                                  type: string
                                two:
                                  type: string
                                zero:
                                  type: string
                              required:
                              - other
                              type: object
                          required:
                          - strings
                          - reviewed
                          - proofread
                          - finalized
                          - origin
                          - datetime_created
                          - datetime_translated
                          - datetime_reviewed
                          - datetime_proofread
                          type: object
                        id:
                          description: Resource Translation identifier.
                          example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:el_GR
                          pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-fA-F]{32}:l:[a-zA-Z0-9@_-]+$
                          type: string
                        links:
                          additionalProperties: false
                          description: Resource Translation links.
                          properties:
                            self:
                              description: Resource Translation details link.
                              example: /resource_translations/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:language_code
                              type: string
                          required:
                          - self
                          type: object
                        relationships:
                          additionalProperties: false
                          description: Resource Translation relationships.
                          properties:
                            language:
                              additionalProperties: false
                              description: Language object.
                              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
                            proofreader:
                              additionalProperties: false
                              description: User object.
                              nullable: true
                              properties:
                                data:
                                  description: User id.
                                  properties:
                                    id:
                                      description: User identifier.
                                      example: u:user_1
                                      pattern: ^u:[\w.-]+$
                                      type: string
                                    type:
                                      enum:
                                      - users
                                      type: string
                                  required:
                                  - type
                                  - id
                                  type: object
                                links:
                                  additionalProperties: false
                                  description: User links.
                                  properties:
                                    related:
                                      description: User details link.
                                      example: /users/u:user_1
                                      type: string
                                  required:
                                  - related
                                  type: object
                              required:
                              - links
                              - data
                              type: object
                            resource:
                              additionalProperties: false
                              description: Resource object.
                              properties:
                                data:
                                  additionalProperties: false
                                  description: Resource data container.
                                  properties:
                                    id:
                                      description: Resource identifier.
                                      example: o:organization_slug:p:project_slug:r:resource_slug
                                      pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
                                      type: string
                                    type:
                                      enum:
                                      - resources
                                      type: string
                                  required:
                                  - type
                                  - id
                                  type: object
                                links:
                                  additionalProperties: false
                                  description: Resource related link.
                                  properties:
                                    related:
                                      description: Resource details link.
                                      example: /resources/o:organization_slug:p:project_slug:r:resource_slug
                                      type: string
                                  required:
                                  - related
                                  type: object
                              required:
                              - links
                              - data
                              type: object
                            resource_string:
                              additionalProperties: false
                              description: Resource String object.
                              properties:
                                data:
                                  additionalProperties: false
                                  description: Resource String data container.
                                  properties:
                                    id:
                                      description: Resource String identifier.
                                      example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
                                      pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
                                      type: string
                                    type:
                                      enum:
                                      - resource_strings
                                      type: string
                                  required:
                                  - type
                                  - id
                                  type: object
                                links:
                                  additionalProperties: false
                                  description: Resource String related link.
                                  properties:
                                    related:
                                      description: Resource String details link.
                                      example: /resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
                                      type: string
                                  required:
                                  - related
                                  type: object
                              required:
                              - links
                              - data
                              type: object
                            reviewer:
                              additionalProperties: false
                              description: User object.
                              nullable: true
                              properties:
                                data:
                                  description: User id.
                                  properties:
                                    id:
                                      description: User identifier.
                                      example: u:user_1
                                      pattern: ^u:[\w.-]+$
                                      type: string
                                    type:
                                      enum:
                                      - users
                                      type: string
                                  required:
                                  - type
                                  - id
                                  type: object
                                links:
                                  additionalProperties: false
                                  description: User links.
                                  properties:
                                    related:
                                      description: User details link.
                                      example: /users/u:user_1
                                      type: string
                                  required:
                                  - related
                                  type: object
                              required:
                              - links
                              - data
                              type: object
                            translator:
                              additionalProperties: false
                              description: User object.
                              nullable: true
                              properties:
                                data:
                                  description: User id.
                                  properties:
                                    id:
                                      description: User identifier.
                                      example: u:user_1
                                      pattern: ^u:[\w.-]+$
                                      type: string
                                    type:
                                      enum:
                                      - users
                                      type: string
                                  required:
                                  - type
                                  - id
                                  type: object
                                links:
                                  additionalProperties: false
                                  description: User links.
                                  properties:
                                    related:
                                      description: User details link.
                                      example: /users/u:user_1
                                      type: string
                                  required:
                                  - related
                                  type: object
                              required:
                              - links
                              - data
                              type: object
                          required:
                          - resource
                          - language
                          - resource_string
                          - translator
                          - reviewer
                          - proofreader
                          type: object
                        type:
                          enum:
                          - resource_translations
                          type: string
                      required:
                      - type
                      - id
                      - attributes
                      - relationships
                      - links
                      type: object
                    type: array
                  included:
                    description: List of included resource string objects.
                    items:
                      additionalProperties: false
                      properties:
                        attributes:
                          additionalProperties: false
                          description: Resource String attributes.
                          properties:
                            appearance_order:
                              description: 'The order that the resource string appears in it''s container.

                                In case of files appearance order is extracted automatically,

                                where in other cases this may be missing

                                '
                              nullable: true
                              type: integer
                            character_limit:
                              description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
                              example: 100
                              maxi

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