Transifex API (3.0)

Download OpenAPI specification:Download

Transifex Support: support@transifex.com


Disclaimer: All endpoints listed here are currently available for public Preview as Transifex develops a new version of API, which requires authentication with a bearer token. Until declared Generally Available, some endpoints may not be implemented yet and some may change.

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

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 whan 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 user details

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

Authorizations:
path Parameters
user_id
required
string^u:\w+$
Example: u%3Auser_1

Format of the user id should be u:username.

Responses

200

Successful Response.

401

Unauthorized

404

Not found

500

Internal Error

get /users/{user_id}
https://rest.api.transifex.com/users/{user_id}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "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:
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

200

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

401

Unauthorized

500

Internal Error

get /organizations
https://rest.api.transifex.com/organizations

Response samples

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

Get organization details

Get the details of an Organization.

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

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

Responses

200

Successful Response.

401

Unauthorized

404

Not found

500

Internal Error

get /organizations/{organization_id}
https://rest.api.transifex.com/organizations/{organization_id}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

Languages

Languages objects represent each available language in Transifex.

List languages

Get information for all the supported languages.

Authorizations:

Responses

200

Get a list of all the languages Transifex supports.

401

Unauthorized

403

Forbidden

500

Internal Error

get /languages
https://rest.api.transifex.com/languages

Response samples

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

Get language details

Get information for a specific supported language.

Authorizations:
path Parameters
language_id
required
string^l:[a-zA-Z0-9@_-]+$
Example: l%3Aen_US

Format of the language id should be l:language_code.

Responses

200

Successful Response.

401

Unauthorized

403

Forbidden

404

Not found

500

Internal Error

get /languages/{language_id}
https://rest.api.transifex.com/languages/{language_id}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "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:
query Parameters
filter[organization]
required
string^o:[a-zA-Z0-9._-]+$
Example: filter[organization]=o%3Aorg_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-z0-9._-]+$
filter[name]
string

Responses

200

Get a list of all the projects for a given organization

400

Forbidden

401

Unauthorized

403

Forbidden

404

Forbidden

500

Internal Error

get /projects
https://rest.api.transifex.com/projects

Response samples

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

Get project details

Get the details of a specific project.

Authorizations:
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o%3Aorganization_slug%3Ap%3Aproject_slug

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

Responses

200

Successful Response.

400

Invalid

401

Unauthorized

403

Forbidden

404

Not found

500

Internal Error

get /projects/{project_id}
https://rest.api.transifex.com/projects/{project_id}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

List project languages

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

Authorizations:
path Parameters
project_id
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: o%3Aorganization_slug%3Ap%3Aproject_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

200

List of target languages for a specific Project.

400

Invalid

401

Unauthorized

403

Forbidden

404

Not found

500

Internal Error

get /projects/{project_id}/languages
https://rest.api.transifex.com/projects/{project_id}/languages

Response samples

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

Resources

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

List resources

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

Authorizations:
query Parameters
filter[project]
required
string^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+$
Example: filter[project]=o%3Aorganization_slug%3Ap%3Aproject_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-z0-9._-]+$
filter[name]
string

Responses

200

List of resources for a given project.

401

Unauthorized

403

Forbidden

500

Internal Error

get /resources
https://rest.api.transifex.com/resources

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    [