Transifex API (3.0)

Download OpenAPI specification:Download

Transifex Support: support@transifex.com


Introduction

This API is based on {json:api}.

{json:api} is a specification that follows shared conventions and standards. This specification enables API discoverability and partial self-descriptiveness through conventions. The Json Api specification exposes resources and their relationships representations with unique uris and all CRUD operations are performed on those endpoints. With it's simplified approach it assists the API uniformity.

Read more: https://jsonapi.org/

Additionally, this API is defined using OpenAPI (ex Swagger). This means that you can easily:



Pagination

All list endpoints include pagination to guarantee performant responses. Those endpoints will return next and previous links in the response payload (links section). The client does not have to construct any pagination specific URLs or headers, just follow those links.

Page size is fixed to 150 items per page.



Content Negotiation

The basic media type for the API is application/vnd.api+json. If you want to execute a request that includes data (POST, PATCH, DELETE) you should include this media type in the Content-Type header. The only case where a different Content-Type header will be accepted is for endpoints that can accept file like objects where the media type used should be multipart/form-data.

The 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 header. The only case where the server will return another media type is for endpoint that return file like objects. In this case the media type used should be */* and the server will prioritize the negotiation to the media type dictated from the file. Note 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.

Read more here: https://jsonapi.org/format/#content-negotiation

File Uploads

There are three different methods for uploading file content to Transifex:

  • Using Content-Type application/vnd.api+json the content must be JSON serializable.
    • For content that is directly JSON serializable you can dump the content of the file directly and set the content_encoding attribute to text.
    • For any content, even if it's not JSON serializable (eg .xlsx, .idml or .docx file extensions), you can encode the file using the base64 encoding and set the content_encoding attribute to base64.
  • Using Content-Type multipart/form-data the content can be any raw file, and can be send without further processing.

Asynchronous Processing

Asynchronous operations are triggered via a POST request. The response status in such cases is 202 Accepted, with a link in the Content-Location header. To check the status of the operation, a client can send a request to the location given earlier. An optional callback_url can be provided when the asynchronous operation is triggered. If such url is provided, upon completion a HTTP POST request is executed containing all information required to identify the specific operation:

Example request:

POST callback_url HTTP/1.1
Content-Type: application/json

{
  "data": {
    "type": resource_strings_async_downloads",
    "id": "xxxxxxxxx",
    "attributes": {
      "location": "https://rest.api.transifex.com/resource_strings_async_downloads/xxxxxxxxx",
      "status": "succeeded"
    }
  }
}

Restrictions

The following Plan based restrictions apply:

Rate Limit

To maintain optimal performance and availability of the API, we limit the request rate to 500 requests/min or 30,000 requests / 5 minutes / IP. Polling endpoints like resource_translations_async_downloads/{resource_translations_async_download_id} and resource_strings_async_downloads/{resource_strings_async_download_id} have a rate limit of 1,200 requests/min. Once past the respective limit, requests will be throttled and you will get a 429 Throttled response.

Example response:

{
  "errors": [
    {
      "code": "Throttled",
      "detail": "Request was throttled. Expected available in 60 seconds.",
      "status": "429",
      "title": "Throttled"
    }
  ]
}

Authentication

bearerAuth

To use the API you need to authenticate your requests using Token Authentication. Specifically, you need to

  • Acquire an authentication token from the Transifex (under user settings)
  • Uses the Bearer keyword and prepend the token when passing the header.

For example, if the authentication token is 1/0b4e75552e481aeae813aebad53f3de3fcc67ccd, then the HTTP header should look like this:

Authorization: Bearer 1/0b4e75552e481aeae813aebad53f3de3fcc67ccd

To create an API token:

  1. Head to your User Settings by going to the main navigation, and clicking on your profile image in the top right corner.

  2. In the left menu, click on API token.

  3. Click Generate a token.

Once you've generated a token, you can edit its name so it's easier to remember where you use the token.

To keep your API token secure, we'll only show it once, so please be sure to save it somewhere secure. In case you lose your API token, you can regenerate a new one at any time. However, when you regenerate a new token, you'll need to update your applications and replace the old token with the new one.

Security Scheme Type: HTTP
HTTP Authorization Scheme: bearer

Users

Represents Transifex's users.

Get the details of a User

Get the details of the user specified by the required path parameter user_id.

Authorizations:
bearerAuth
path Parameters
user_id
required
string^u:[\w.-]+$
Example: u:user_1

Format of the user id should be u:username.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Organizations

Represents Transifex's organizations. Every user can be a member of one or multiple organizations. Only the organizations the authenticated user belongs to will appear here.

List organizations

Get a list of all the Organizations the user belongs to.

Authorizations:
bearerAuth
query Parameters
page[cursor]
string

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.

filter[slug]
string^[a-zA-Z0-9._-]+$

The slug of the organization to get details

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Get organization details

Get the details of an Organization.

Authorizations:
bearerAuth
path Parameters
organization_id
required
string^o:[a-zA-Z0-9._-]+$
Example: o:org_123

Format of the organization id. Should be o:organization_slug.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Languages

Languages objects represent each available language in Transifex.

List languages

Get information for all the supported languages.

Authorizations:
bearerAuth
query Parameters
filter[code]
string^[a-z0-9._@-]+$
Example: filter[code]=fr

The code of the language to get details

filter[code][any]
string^([a-z0-9._@-]+,?)+$
Example: filter[code][any]=en,fr,az@Arab

A list of codes of the languages to get details. This will fetch any available.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Get language details

Get information for a specific supported language.

Authorizations:
bearerAuth
path Parameters
language_id
required
string^l:[a-zA-Z0-9@_.-]+$
Example: l:en_US

Format of the language id should be l:language_code.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Projects

Represents projects, as used within Transifex. Each project belongs to an organization.

List projects

Get the list of projects that belong to a single organization.

Authorizations:
bearerAuth
query Parameters
filter[organization]
required
string^o:[a-zA-Z0-9._-]+$
Example: filter[organization]=o:org_123

Filter results by an organization

page[cursor]
string

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.

filter[slug]
string^[a-zA-Z0-9._-]+$
filter[name]
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Create a Project

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create project body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete Project

Delete a project.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get project details

Get the details of a specific project.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a Project

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Request Body schema: application/vnd.api+json
required
object >= 3 properties

Update project body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

List project languages

Get a list of all target languages of a specific project.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Get project maintainers

Get the maintainers of a project.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

query Parameters
page[cursor]
string

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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Delete language relationship

Remove target language from a project.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Request Body schema: application/vnd.api+json
required
Array of objects

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

List language relationships

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

query Parameters
page[cursor]
string

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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Update language relationships

Completely replace the target language of a specific project.

Warning: This is a highly destructive operation.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Request Body schema: application/vnd.api+json
required
Array of objects

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Create language relationship

Add target language to the project.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Request Body schema: application/vnd.api+json
required
Array of objects

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Remove maintainers from project

Remove maintainers from project.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Request Body schema: application/vnd.api+json
required
Array of objects

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get project maintainer relationships

Get project maintainer relationships.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

query Parameters
page[cursor]
string

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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Update project maintainers

Completely replace project maintainers.

Warning: This is a highly destructive operation.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Request Body schema: application/vnd.api+json
required
Array of objects

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Add maintainers to project

Add maintainers to project.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Request Body schema: application/vnd.api+json
required
Array of objects

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get team relationship

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "links": {
    }
}

Update team relationship

Update team relationship to set a new team to the project.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Project Webhooks

Project Webhooks lets you specify actions which will trigger some notification event. When that event occurs, Transfex application will make a HTTP request to the URL configured for the webhook (callback_url). The request is done as a HTTP POST request. For example a callback url will be triggered whenever a target language of a resource has fully been translated, enabling the client to implement a custom workflow to pull translations as soon as they are ready, without having to constantly check Transifex for updates.

List project webhooks.

Get information for all the supported project webhooks.

Authorizations:
bearerAuth
query Parameters
filter[organization]
required
string^o:[a-zA-Z0-9._-]+$
Example: filter[organization]=o:org_123

Filter results by an organization

filter[project]
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: filter[project]=o:organization_slug:p:project_slug

Filter results by a project

page[cursor]
string

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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Create project webhook.

Create a new webhook. This needs to be associated with a project.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create project webhook body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete project webhook.

Delete a project webhook from an organization.

Authorizations:
bearerAuth
path Parameters
webhook_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:w:([0-9a-...
Example: o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748

Format of composite id should be `o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get project webhooks details.

Get the details of the project webhook specified by the required path parameter webhook_id.

Authorizations:
bearerAuth
path Parameters
webhook_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:w:([0-9a-...
Example: o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748

Format of composite id should be `o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update project webhook.

update a project webhook. You can for example modify its status.

Authorizations:
bearerAuth
path Parameters
webhook_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:w:([0-9a-...
Example: o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748

Format of composite id should be `o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748.

Request Body schema: application/vnd.api+json
required
object

Update project webhook body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Resources

Represents a resource that holds source strings. Resources belong to a specific project in Transifex.

Create new resources merge

Merge git based branch

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create resource merge.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get resource merge status

With this endpoint, you can inquire about the status of a resource merge job.

  • If the value of the 'status' attribute is 'pending' or 'processing', you should check this endpoint again later.
  • If the 'status' is 'failed', the merge has failed to complete.
  • In case the upload job has been successful, you will receive a "200"
Authorizations:
bearerAuth
path Parameters
resource_async_merge_id
required
string^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...
Example: 4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the resource_async_merge_id should be a UUID.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

List resources

Get a list of all resources (in a specific project).

Authorizations:
bearerAuth
query Parameters
filter[project]
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: filter[project]=o:organization_slug:p:project_slug

Filter results by a project

page[cursor]
string

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.

filter[slug]
string^[a-zA-Z0-9._-]+$
filter[name]
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Create new resource

Making a POST request to this endpoint creates a resource without content. This step is performed synchronously so you don't have to verify that resource creation succeeded afterwards. In order to upload content, see the /resource_strings_async_uploads endpoint.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create resource body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete resource

Delete a resource of a project.

Authorizations:
bearerAuth
path Parameters
resource_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug

Format of composite id should be o:organization_slug:p:project_slug:r:resource_slug.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get resource details

Get details of a specific resource.

Authorizations:
bearerAuth
path Parameters
resource_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug

Format of composite id should be o:organization_slug:p:project_slug:r:resource_slug.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update resource

Update details of a resource.

Authorizations:
bearerAuth
path Parameters
resource_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug

Format of composite id should be o:organization_slug:p:project_slug:r:resource_slug.

Request Body schema: application/vnd.api+json
required
object

Update resource body request details.

Responses

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{
  • "attributes": {},
  • "id": "o:organization_slug:p:project_slug:r:resource_slug",
  • "links": {
    },
  • "relationships": {
    },
  • "type": "resources"
}

Resource Strings

Resource Strings

Bulk-delete resource strings

Include a payload with resource identifiers to all resource strings you wish to delete. Resource identifiers are objects with only the type and id fields.

Available only for file-less resources.

All deleted resource strings need to belong to the same resource. Bulk deletes do not support partial success, ie either all resource strings will be deleted, or none will.

Consult the error response to figure out which resource strings you need to fix or omit and try again. Don't forget to use the application/vnd.api+json;profile="bulk" Content-Type instead of the more common application/vnd.api+json.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json;profile="bulk"
required
Array of objects [ 1 .. 150 ] items unique

Responses

Request samples

Content type
application/vnd.api+json;profile="bulk"
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get resource strings collection

Authorizations:
bearerAuth
query Parameters
filter[resource]
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: filter[resource]=o:organization_slug:p:project_slug:r:resource_slug

Filter results by a resource

page[cursor]
string

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.

string or string
string or string
filter[key]
string non-empty
Example: filter[key]=hello_world

Exact match for the key of the resource string. This filter is case sensitive.

filter[tags][all]
Array of strings non-empty
Example: filter[tags][all]=tag1,tag2,tag3

Retrieve source strings that contain all specified query tags.

filter[tags][any]
Array of strings non-empty
Example: filter[tags][any]=tag1,tag2,tag3

Retrieve source 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.

filter[tags][query]
string non-empty
Example: filter[tags][query]=tag1&tag2|tag3

Retrieve translation strings based on specified query tags.

To filter strings, use a combination of tags with the following syntax:

  • Use an ampersand ('&') to signify 'AND' functionality, indicating that all specified tags must be present.
  • Use a pipe ('|') to signify 'OR' functionality, meaning that at least one of the specified tags must be present.
  • Use parentheses '(' to ')' to define the order of statement execution.
  • To use the above special characters as part of the query content, escape them with a backslash ('\')

When 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 (|).

For example, consider the query: 'tag1&(tag2|tag3)'

This query is interpreted as follows: tag1 AND (tag2 OR tag3), and it returns strings that have both "tag1" and either "tag2" or "tag3"

Similarly, for the query: 'tag1&tag2|tag3'

This query is read as follows: (tag1 AND tag2) OR tag3, and it returns strings that have both "tag1" and "tag2" or have "tag3"

limit
string or null
Example: limit=150

The page size limit. If not set, the default value is 150.
If set, the minimum value it can take is 150 and the maximum 1000.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Bulk update a resource strings collection

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json;profile="bulk"
required
Array of objects [ 1 .. 150 ] items unique

Responses

Request samples

Content type
application/vnd.api+json;profile="bulk"
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json;profile="bulk"
{
  • "data": [
    ],
}

Create resource string

Create a new resource string. This path is valid only for file-less resources.

Authorizations:
bearerAuth
Request Body schema:

Use application/vnd.api+json to upload single resource strings or application/vnd.api+json;profile="bulk" to upload resource strings in bulk.

Available only for file-less resources.

Bulk requests need to be applied to the same resource, ie all 'resource' relationships must be identical. Bulk requests do not support partial success, ie either all resource strings will be created, or none will. Consult the error response to figure out which resource strings you need to fix or omit and try again.

required
object

Create resource string body request details.

Responses

Request samples

Content type
{
  • "data": {
    }
}

Response samples

Content type
{
  • "data": {
    }
}

Delete resource string

Delete a resource string.

Available only for file-less resources.

Authorizations:
bearerAuth
path Parameters
resource_string_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52

Format of the Resource String id should be o:organization_slug:p:project_slug:r:resource_slug:s:string_hash.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get resource string details

Get the details of a specific resource string.

Authorizations:
bearerAuth
path Parameters
resource_string_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52

Format of the Resource String id should be o:organization_slug:p:project_slug:r:resource_slug:s:string_hash.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update resource string

Authorizations:
bearerAuth
path Parameters
resource_string_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52

Format of the Resource String id should be o:organization_slug:p:project_slug:r:resource_slug:s:string_hash.

Request Body schema: application/vnd.api+json
required
object

Update resource body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Create a source file download action

The response represents the file download job. Check the job's status and download the file itself once that is completed.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create resource string download body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get resource strings download status

With this endpoint, you can inquire about the status of a resource strings download job.

  • If the value of the 'status' attribute is 'pending' or 'processing', you should check this endpoint again later.
  • If the 'status' is 'failed', the source file has failed to be compiled.
  • In case the download job has been successful, you will receive a "303 - See Other" response and you can follow its Location to download the file that have been extracted from your file.
Authorizations:
bearerAuth
path Parameters
resource_strings_async_download_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug

Format of the resource_strings_async_download_id should be o:organization_slug:p:project_slug:r:resource_slug.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Upload a new source file for a resource.

For more details about File uploads you can refer to File Uploads section

The response represents the file upload job. Look into the 'status' attribute to verify that the upload has completed successfuly. If the status is 'pending' or 'processing', then you will need to periodically inquire about its status. Use the 'self' link, which will get you to the /resource_strings_async_uploads/{resource_strings_async_upload_id} endpoint.

Authorizations:
bearerAuth
Request Body schema:
required
object

Create source upload body request details.

Responses

Request samples

Content type
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get source upload

With this endpoint, you can inquire about the status of a source upload job.

  • If the value of the 'status' attribute is 'pending' or 'processing', you should check this endpoint again later.
  • If the 'status' is 'failed', the content has failed to be uploaded to the resource.
  • If the 'status' is 'succeeded', you can get more details about the number of strings created, deleted, skipped and updated in the details attribute of the response.
Authorizations:
bearerAuth
path Parameters
resource_strings_async_upload_id
required
string^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...
Example: 4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the resource_strings_async_upload_id should be a UUID.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get revisions of resource strings

Get revisions of resource strings

Authorizations:
bearerAuth
query Parameters
filter[resource_string][resource]
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: filter[resource_string][resource]=o:organization_slug:p:project_slug:r:resource_slug

Filter results by a resource

filter[resource_string][key]
string non-empty
Example: filter[resource_string][key]=hello_world

Exact match for the key of the resource string. This filter is case sensitive.

filter[resource_string][tags][all]
Array of strings non-empty

Retrieve source strings revisions containing all of the query tags.

page[cursor]
string

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.

limit
string or null
Example: limit=150

The page size limit. If not set, the default value is 150.
If set, the minimum value it can take is 150 and the maximum 1000.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Resource String Comments

Represents comments on resource strings. These are the same comments exposed in the Transifex Editor under the "Comments" tab.

A comment can also be flagged as an issue. In this case, some extra functionality is available

  • You can change an issue's status
  • You can change it's category
  • You can assign a priority

Categories can be configured per organization. To configure the available categories for your organization, contact Transifex Support.

For further details & examples, take a look below.

List resource string comments

Get a list of all resource string comments for an organization. You can further narrow down the list using the available filters.

Authorizations:
bearerAuth
query Parameters
filter[organization]
required
string^o:[a-zA-Z0-9._-]+$
Example: filter[organization]=o:org_123

Filter results by an organization

filter[project]
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: filter[project]=o:organization_slug:p:project_slug

Filter results by a project

page[cursor]
string

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.

filter[category]
string
Example: filter[category]=frontpage
filter[author]
stringu:[^:]+
Example: filter[author]=u:username
filter[datetime_created][gte]
string <date-time>
Example: filter[datetime_created][gte]=XXXX-XX-XXTXX:XX:XXZ
filter[datetime_created][lt]
string <date-time>
Example: filter[datetime_created][lt]=XXXX-XX-XXTXX:XX:XXZ
filter[priority]
string
Enum: "low" "normal" "high" "critical" "blocker"
Example: filter[priority]=critical
filter[resource]
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: filter[resource]=o:organization_slug:p:project_slug:r:resource_slug

Resource identifier.

filter[resource_string]
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: filter[resource_string]=o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52

Resource String identifier.

filter[status]
string
Enum: "open" "resolved"
Example: filter[status]=open
filter[type]
string
Enum: "comment" "issue"
Example: filter[type]=issue

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Create resource string comments

Create a new resource string comment. This needs to be associated with a resource string and a target language.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create resource body request details

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete resource string comment

Delete a resource string comment

Authorizations:
bearerAuth
path Parameters
comment_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the command_id should be a o:organization_slug:p:project_slug:r:resource_slug:s:string_hash:c:comment_hash.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get resource string comment

Get details for a comment related to a specific resource string

Authorizations:
bearerAuth
path Parameters
comment_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the command_id should be a o:organization_slug:p:project_slug:r:resource_slug:s:string_hash:c:comment_hash.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update resource string comment

Change a resource string comment. You can update it's status, change it to an issue or edit the description.

Authorizations:
bearerAuth
path Parameters
comment_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the command_id should be a o:organization_slug:p:project_slug:r:resource_slug:s:string_hash:c:comment_hash.

Request Body schema: application/vnd.api+json
required
object

Update resource body request details

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

I18n Formats

Internationalization formats supported by Transifex.

List i18n formats.

Get information for all the supported i18n formats. For more information check https://help.transifex.com/en/articles/6219670-introduction-to-file-formats

Authorizations:
bearerAuth
query Parameters
filter[organization]
required
string^o:[a-zA-Z0-9._-]+$
Example: filter[organization]=o:org_123

Filter results by an organization

filter[name]
string or null
Example: filter[name]=ANDROID

Get specific i18n format by name

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Context Screenshots

Get project context screenshot map collection.

Get the context screenshots maps for a project. You can further narrow down the list using the available filters.

Authorizations:
bearerAuth
query Parameters
filter[project]
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: filter[project]=o:organization_slug:p:project_slug

Filter results by a project

filter[resource]
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: filter[resource]=o:organization_slug:p:project_slug:r:resource_slug

Filter results by a resource

filter[resource_string]
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: filter[resource_string]=o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52

Resource String identifier.

filter[context_screenshot]
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:s:([0-9a-...
Example: filter[context_screenshot]=o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748

Retrieve maps related to a specific context screenshot

page[cursor]
string

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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Upload a new context screenshot map to a resource_string.

Upload screenshot map.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create context screenshot map body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete screenshot map.

Delete a context screenshot map.

Authorizations:
bearerAuth
path Parameters
context_screenshot_map_id
required
string
Example: o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get context screenshot map.

Get details for a context screenshot map.

Authorizations:
bearerAuth
path Parameters
context_screenshot_map_id
required
string
Example: o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get project context screenshot collection.

Get the context screenshots for a project.

Authorizations:
bearerAuth
query Parameters
filter[project]
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: filter[project]=o:organization_slug:p:project_slug

Filter results by a project

page[cursor]
string

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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [],
  • "links": {
    }
}

Delete screenshot.

Delete a project context screenshot.

Authorizations:
bearerAuth
path Parameters
context_screenshot_id
required
string
Example: o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get context screenshot.

Get details for a context screenshot.

Authorizations:
bearerAuth
path Parameters
context_screenshot_id
required
string
Example: o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748

Responses

Response samples

Content type
application/vnd.api+json
{}

Update context screenshot.

Update details of a context screenshot.

Authorizations:
bearerAuth
path Parameters
context_screenshot_id
required
string
Example: o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748
Request Body schema: application/vnd.api+json
required
object

Update resource body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{}

Upload a new context screenshot file to a project.

Upload screenshot.

Authorizations:
bearerAuth
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o:organization_slug:p:project_slug

Format of composite id should be o:organization_slug:p:project_slug.

Request Body schema: multipart/form-data
content
required
string <binary>

The context screenshot file to upload.

name
required
string

name of the screenshot

Responses

Response samples

Content type
application/vnd.api+json
{}

Activity Reports

Create an organization activity report file download action

The response represents the organization activity report file download job. Check the job's status and download the file itself once that is completed.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create organization activity report download body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get organization activity report download status

With this endpoint, you can inquire about the status of an organization activity report download job.

  • If the value of the 'status' attribute is 'pending' or 'processing', you should check this endpoint again later.
  • If the 'status' is 'failed', the report has failed to be compiled.
  • In case the upload job has been successful, you will receive a "303 - See Other" response and you can follow its Location to download the file that have been extracted from your file.
Authorizations:
bearerAuth
path Parameters
organization_activity_reports_async_download_id
required
string^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...
Example: 4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the organization_activity_reports_async_download_id should be a UUID.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Create a project activity report file download action

The response represents the project activity report download job. Check the job's status and download the file itself once that is completed.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create project activity report download body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get project activity report download status

With this endpoint, you can inquire about the status of a project activity report download job.

  • If the value of the 'status' attribute is 'pending' or 'processing', you should check this endpoint again later.
  • If the 'status' is 'failed', the report has failed to be compiled.
  • In case the upload job has been successful, you will receive a "303 - See Other" response and you can follow its Location to download the file that have been extracted from your file.
Authorizations:
bearerAuth
path Parameters
project_activity_reports_async_download_id
required
string^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...
Example: 4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the project_activity_reports_async_download_id should be a UUID.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Create a resource activity report file download action

The response represents the resource activity report download job. Check the job's status and download the file itself once that is completed.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create resource activity report download body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get resource activity report download status

With this endpoint, you can inquire about the status of an resource activity report download job.

  • If the value of the 'status' attribute is 'pending' or 'processing', you should check this endpoint again later.
  • If the 'status' is 'failed', the report has failed to be compiled.
  • In case the upload job has been successful, you will receive a "303 - See Other" response and you can follow its Location to download the file that have been extracted from your file.
Authorizations:
bearerAuth
path Parameters
resource_activity_reports_async_download_id
required
string^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...
Example: 4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the resource_activity_reports_async_download_id should be a UUID.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Create a team activity report file download action

The response represents the team activity report file download job. Check the job's status and download the file itself once that is completed.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create team activity report download body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get team activity report download status

With this endpoint, you can inquire about the status of an team activity report download job.

  • If the value of the 'status' attribute is 'pending' or 'processing', you should check this endpoint again later.
  • If the 'status' is 'failed', the report has failed to be compiled.
  • In case the upload job has been successful, you will receive a "303 - See Other" response and you can follow its Location to download the file that have been extracted from your file.
Authorizations:
bearerAuth
path Parameters
team_activity_reports_async_download_id
required
string^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...
Example: 4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the team_activity_reports_async_download_id should be a UUID.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Statistics

Get resource language stats collection

Get the statistics for a set of resources. You must specify at least a project and optionally a language / resource to filter against.

Authorizations:
bearerAuth
query Parameters
filter[project]
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: filter[project]=o:organization_slug:p:project_slug

Filter results by a project

filter[resource]
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: filter[resource]=o:organization_slug:p:project_slug:r:resource_slug

Filter results by a resource

filter[language]
string^l:[a-zA-Z0-9@_.-]+$
Example: filter[language]=l:en_US

Filter results by a language

page[cursor]
string

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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Get resource language stats

Get information for a specific supported language.

Authorizations:
bearerAuth
path Parameters
resource_language_stats_id
required
string
Example: o:organization_slug:p:project_slug:r:resource_slug:l:language_code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Resource Translations

Get a Resource Translations collection

Authorizations:
bearerAuth
query Parameters
filter[resource]
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: filter[resource]=o:organization_slug:p:project_slug:r:resource_slug

Filter results by a resource

filter[language]
required
string^l:[a-zA-Z0-9@_.-]+$
Example: filter[language]=l:en_US

Filter results by a language

page[cursor]
string

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.

string or string
string or string
filter[resource_string][key]
string non-empty
Example: filter[resource_string][key]=hello_world
string or string
string or string
filter[translated]
boolean
Example: filter[translated]=true
filter[reviewed]
boolean
Example: filter[reviewed]=true
filter[proofread]
boolean
Example: filter[proofread]=false
filter[finalized]
boolean
Example: filter[finalized]=false
filter[translator]
string non-empty
Example: filter[translator]=u:username
filter[origin]
string
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: filter[origin]=EDITOR
include
string
Value: "resource_string"

Use the value resource_string to get the list of resource string objects in the response.

filter[resource_string][tags][all]
Array of strings non-empty
Example: filter[resource_string][tags][all]=tag1,tag2

Retrieve translation strings containing all of the query tags.

filter[resource_string][tags][any]
Array of strings non-empty
Example: filter[resource_string][tags][any]=tag1,tag2

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.

filter[resource_string][tags][query]
string non-empty
Example: filter[resource_string][tags][query]=tag1&tag2|tag3

Retrieve translation strings based on specified query tags.

To filter strings, use a combination of tags with the following syntax:

  • Use an ampersand ('&') to signify 'AND' functionality, indicating that all specified tags must be present.
  • Use a pipe ('|') to signify 'OR' functionality, meaning that at least one of the specified tags must be present.
  • Use parentheses '(' to ')' to define the order of statement execution.
  • To use the above special characters as part of the query content, escape them with a backslash ('\')

When 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 (|).

For example, consider the query: 'tag1&(tag2|tag3)'

This query is interpreted as follows: tag1 AND (tag2 OR tag3), and it returns strings that have both "tag1" and either "tag2" or "tag3"

Similarly, for the query: 'tag1&tag2|tag3'

This query is read as follows: (tag1 AND tag2) OR tag3, and it returns strings that have both "tag1" and "tag2" or have "tag3"

limit
string or null
Example: limit=150

The page size limit. If not set, the default value is 150.
If set, the minimum value it can take is 150 and the maximum 1000.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Bulk update a resource's translations.

Allows for bulk updating of translations up to 150 at a time. All resource strings should belong to the same resource and target the same translation language.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json;profile="bulk"
required
Array of objects [ 1 .. 150 ] items unique

Responses

Request samples

Content type
application/vnd.api+json;profile="bulk"
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json;profile="bulk"
{
  • "data": [
    ]
}

Get a Resource Translation details

Authorizations:
bearerAuth
path Parameters
resource_translation_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:el_GR

Format of the Resource Translation id. Should be o:organization_slug:p:project_slug:r:resource_slug:s:string_hash:l:language_code.

query Parameters
include
string
Value: "resource_string"

Use the value resource_string to get the list of resource string objects in the response.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Update a Resource Translation

Allows to add/update/remove content for Resource Translations as well as reviewing/unreviewing existing work.

When not all of the attributes are supplied in the request, these are interpreted as if they were included with their current value. The only exception in this rule is when strings are modified, the resource translation is by default unreviewed unless otherwise specified (with the reviewed/proofread attributes on the request body).

Authorizations:
bearerAuth
path Parameters
resource_translation_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z...
Example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:el_GR

Format of the Resource Translation id. Should be o:organization_slug:p:project_slug:r:resource_slug:s:string_hash:l:language_code.

Request Body schema: application/vnd.api+json
required
object

Update resource body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Create a translation file download action

The response represents the file download job. Check the job's status and download the file itself once that is completed.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create resource translation download body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get translation download status

With this endpoint, you can inquire about the status of an translation download job.

  • If the value of the 'status' attribute is 'pending' or 'processing', you should check this endpoint again later.
  • If the 'status' is 'failed', the translation has failed to be compiled.
  • In case the upload job has been successful, you will receive a "303 - See Other" response and you can follow its Location to download the file that have been extracted from your file.
Authorizations:
bearerAuth
path Parameters
resource_translations_async_download_id
required
string^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...
Example: 4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the resource_translations_async_download_id should be a UUID.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Create a new resource translation upload

Upload a new resource translation file for a specific language.

Authorizations:
bearerAuth
Request Body schema:
required
object

Create resource translation upload body request details.

Responses

Request samples

Content type
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get resource translation async upload

Get details of a resource translations upload.

Authorizations:
bearerAuth
path Parameters
resource_translations_async_upload_id
required
string^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...
Example: 4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the resource_translations_async_upload_id should be a UUID.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Team Memberships

List team memberships

List team memberships.

Authorizations:
bearerAuth
query Parameters
filter[organization]
required
string^o:[a-zA-Z0-9._-]+$
Example: filter[organization]=o:org_123

Filter results by an organization

filter[team]
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9_-]+$
Example: filter[team]=o:organization_slug:t:team_slug

Filter results by a team

filter[language]
string^l:[a-zA-Z0-9@_.-]+$
Example: filter[language]=l:en_US

Filter results by a language

filter[user]
string^u:[\w.-]+$
Example: filter[user]=u:user_1

Filter results by a user

filter[role]
string
Enum: "coordinator" "reviewer" "translator"
Example: filter[role]=translator

Filter results by role

page[cursor]
string

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.

include
string
Value: "user"

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Create a new team membership

Create a new team membership.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete team membership

Delete team membership.

Authorizations:
bearerAuth
path Parameters
team_membership_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9._-]+:l:[a-zA-...
Example: o:organization_slug:t:team_slug:l:lang_code:u:username

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get single team membership

Get single team membership.

Authorizations:
bearerAuth
path Parameters
team_membership_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9._-]+:l:[a-zA-...
Example: o:organization_slug:t:team_slug:l:lang_code:u:username
query Parameters
include
string
Value: "user"

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Update a membership's role

Update a membership's role.

You are only allowed to change the role. If you wish to change one of the relationships, you should delete the existing membership and create a new one with the desired relationships.

The corresponding action in the UI is described here

Authorizations:
bearerAuth
path Parameters
team_membership_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9._-]+:l:[a-zA-...
Example: o:organization_slug:t:team_slug:l:lang_code:u:username
Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Teams

List teams

Get the list of teams that belong to a single organization.

Authorizations:
bearerAuth
query Parameters
filter[organization]
required
string^o:[a-zA-Z0-9._-]+$
Example: filter[organization]=o:org_123

Filter results by an organization

page[cursor]
string

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.

filter[slug]
string^[a-zA-Z0-9._-]+$

The slug of the team to get details

filter[name]
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Create a Team

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create team body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete team

Delete a team.

Authorizations:
bearerAuth
path Parameters
team_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9_-]+$
Example: o:organization_slug:t:team_slug

Format of composite id should be o:organization_slug:t:team_slug.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get team detail

Get the details of a single team.

Authorizations:
bearerAuth
path Parameters
team_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9_-]+$
Example: o:organization_slug:t:team_slug

Format of composite id should be o:organization_slug:t:team_slug.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a team

Authorizations:
bearerAuth
path Parameters
team_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9_-]+$
Example: o:organization_slug:t:team_slug

Format of composite id should be o:organization_slug:t:team_slug.

Request Body schema: application/vnd.api+json
required
object

Update team body request details.

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Get team managers

Get the managers of a team.

Authorizations:
bearerAuth
path Parameters
team_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9_-]+$
Example: o:organization_slug:t:team_slug

Format of composite id should be o:organization_slug:t:team_slug.

query Parameters
page[cursor]
string

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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Remove managers from team

Remove managers from team.

Authorizations:
bearerAuth
path Parameters
team_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9_-]+$
Example: o:organization_slug:t:team_slug

Format of composite id should be o:organization_slug:t:team_slug.

Request Body schema: application/vnd.api+json
required
Array of objects

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Get team manager relationships

Get team manager relationships.

Authorizations:
bearerAuth
path Parameters
team_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9_-]+$
Example: o:organization_slug:t:team_slug

Format of composite id should be o:organization_slug:t:team_slug.

query Parameters
page[cursor]
string

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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {
    }
}

Update team managers

Completely replace team managers.

Warning: This is a highly destructive operation.

Authorizations:
bearerAuth
path Parameters
team_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9_-]+$
Example: o:organization_slug:t:team_slug

Format of composite id should be o:organization_slug:t:team_slug.

Request Body schema: application/vnd.api+json
required
Array of objects

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Add managers to team

Add managers to team.

Authorizations:
bearerAuth
path Parameters
team_id
required
string^o:[a-zA-Z0-9._-]+:t:[a-zA-Z0-9_-]+$
Example: o:organization_slug:t:team_slug

Format of composite id should be o:organization_slug:t:team_slug.

Request Body schema: application/vnd.api+json
required
Array of objects

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}

Translation Memory

Create a tmx file download action

The response represents the file download job. Check the job's status and download the file itself once that is completed.

Authorizations:
bearerAuth
Request Body schema: application/vnd.api+json
required
object

Create tmx_async_download body request

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get tmx file download status

With this endpoint, you can inquire about the status of an tmx file download job.

  • If the value of the 'status' attribute is 'pending' or 'processing', you should check this endpoint again later.
  • If the 'status' is 'failed', the translation has failed to be compiled.
  • In case the upload job has been successful, you will receive a "303 - See Other" response and you can follow its Location to download the file. The download link will be valid for 30 days.
Authorizations:
bearerAuth
path Parameters
tmx_async_download_id
required
string^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...
Example: 4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the tmx_async_download_id should be a UUID.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Create new TMX file upload.

Upload a new TMX file for a project. The response represents the file upload job. Check the job's status to determine it's completion.

Authorizations:
bearerAuth
Request Body schema:
required
object

Create tmx_async_upload body request details

Responses

Request samples

Content type
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Get a TMX async upload status

With this endpoint, you can inquire about the status of an tmx file upload job.

  • If the value of the 'status' attribute is 'pending' or 'processing', you should check this endpoint again later.
  • If the 'status' is 'failed', the upload has failed to be parsed or validated.
  • In case the upload job has been successful, you will receive a 'succeeded' value for the 'status' attribute.
Authorizations:
bearerAuth
path Parameters
tmx_async_upload_id
required
string^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-...
Example: 4abfc726-6a27-4c33-9d99-e5254c8df748

Format of the tmx_async_upload_id should be a UUID.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}