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:
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.
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
There are three different methods for uploading file content to Transifex:
application/vnd.api+json
the content must
be JSON serializable.content_encoding
attribute to text
.base64
encoding and set the content_encoding
attribute to base64
.multipart/form-data
the content can be any raw file, and can
be send without further 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"
}
}
}
The following Plan based restrictions apply:
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"
}
]
}
To use the API you need to authenticate your requests using Token Authentication. Specifically, you need to
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:
Head to your User Settings by going to the main navigation, and clicking on your profile image in the top right corner.
In the left menu, click on API token.
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.
bearer
Get the details of the user specified by the required path parameter user_id
.
user_id required | string^u:[\w.-]+$ Example: u:user_1 Format of the user id should be |
{- "data": {
- "id": "u:user_1",
- "type": "users",
- "attributes": {
- "username": "user_1"
}, - "links": {
- "self": "/users/u:user_1"
}
}
}
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.
Get a list of all the Organizations the user belongs to.
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 |
{- "data": [
- {
- "attributes": {
- "name": "Transifex",
- "private": false,
- "slug": "transifex-94"
}, - "id": "o:org_123",
- "links": {
- "self": "/organizations/o:my_org"
}, - "relationships": {
- "projects": {
- "links": {
- "related": "/projects?filter[organization]=XXX"
}
}, - "teams": {
- "links": {
- "related": "/teams?filter[organization]=XXX"
}
}
}, - "type": "organizations"
}
], - "links": {
- "next": "/organizations?page[cursor]=XXX",
- "previous": "/organizations?page[cursor]=XXX",
- "self": "/organizations"
}
}
Get the details of an Organization.
organization_id required | string^o:[a-zA-Z0-9._-]+$ Example: o:org_123 Format of the organization id. Should be |
{- "data": {
- "attributes": {
- "name": "Transifex",
- "private": false,
- "slug": "transifex-94"
}, - "id": "o:org_123",
- "links": {
- "self": "/organizations/o:my_org"
}, - "relationships": {
- "projects": {
- "links": {
- "related": "/projects?filter[organization]=XXX"
}
}, - "teams": {
- "links": {
- "related": "/teams?filter[organization]=XXX"
}
}
}, - "type": "organizations"
}
}
Get information for all the supported languages.
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. |
{- "data": [
- {
- "attributes": {
- "code": "en",
- "name": "English",
- "plural_equation": "(n != 1)",
- "plural_rules": { },
- "rtl": false
}, - "id": "l:en_US",
- "links": {
- "self": "/languages/l:en_US"
}, - "type": "languages"
}
]
}
Get information for a specific supported language.
language_id required | string^l:[a-zA-Z0-9@_.-]+$ Example: l:en_US Format of the language id should be |
{- "data": {
- "attributes": {
- "code": "en",
- "name": "English",
- "plural_equation": "(n != 1)",
- "plural_rules": { },
- "rtl": false
}, - "id": "l:en_US",
- "links": {
- "self": "/languages/l:en_US"
}, - "type": "languages"
}
}
Get the list of projects that belong to a single organization.
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 |
{- "data": [
- {
- "attributes": {
- "archived": false,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "description": "The localization effort for Transifex core project",
- "license": "proprietary",
- "long_description": "The localization effort for Transifex core project. Everyone is welcomed to contribute\n",
- "machine_translation_fillup": false,
- "name": "Transifex core",
- "private": false,
- "slug": "project_slug",
- "tags": [
- "core",
- "casual"
], - "translation_memory_fillup": false,
- "type": "live"
}, - "id": "o:organization_slug:p:project_slug",
- "links": {
- "self": "/projects/o:organization_slug:p:project_slug"
}, - "relationships": {
- "languages": {
- "links": {
- "related": "/projects/o:organization_slug:p:project_slug/languages",
- "self": "/projects/o:organization_slug:p:project_slug/relationships/languages"
}
}, - "maintainers": {
- "links": {
- "related": "/projects/o:organization_slug:p:project_slug/maintainers",
- "self": "/projects/o:organization_slug:p:project_slug/relationships/maintainers"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}, - "links": {
- "related": "/organizations/o:organization_slug"
}
}, - "resources": {
- "links": {
- "related": "/resources?filter[project]:XXX"
}
}, - "source_language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug",
- "self": "/projects/o:organization_slug:t:team_slug/relationships/team"
}
}
}, - "type": "projects"
}
], - "links": {
- "next": "/projects?filter[organization]=o:organization_slug&page[cursor]=XXX",
- "previous": "/projects?filter[organization]=o:organization_slug&page[cursor]=XXX",
- "self": "/projects/o:organization_slug:p:project_slug"
}
}
required | object Create project body request details. |
{- "data": {
- "attributes": {
- "description": "The localization effort for Transifex core project",
- "license": "proprietary",
- "long_description": "The localization effort for Transifex core project. Everyone is welcomed to contribute\n",
- "machine_translation_fillup": false,
- "name": "Transifex core",
- "private": false,
- "slug": "project_slug",
- "tags": [
- "core",
- "casual"
], - "translation_memory_fillup": false,
- "type": "live"
}, - "relationships": {
- "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}
}, - "source_language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}
}
}, - "type": "projects"
}
}
{- "data": {
- "attributes": {
- "archived": false,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "description": "The localization effort for Transifex core project",
- "license": "proprietary",
- "long_description": "The localization effort for Transifex core project. Everyone is welcomed to contribute\n",
- "machine_translation_fillup": false,
- "name": "Transifex core",
- "private": false,
- "slug": "project_slug",
- "tags": [
- "core",
- "casual"
], - "translation_memory_fillup": false,
- "type": "live"
}, - "id": "o:organization_slug:p:project_slug",
- "links": {
- "self": "/projects/o:organization_slug:p:project_slug"
}, - "relationships": {
- "languages": {
- "links": {
- "related": "/projects/o:organization_slug:p:project_slug/languages",
- "self": "/projects/o:organization_slug:p:project_slug/relationships/languages"
}
}, - "maintainers": {
- "links": {
- "related": "/projects/o:organization_slug:p:project_slug/maintainers",
- "self": "/projects/o:organization_slug:p:project_slug/relationships/maintainers"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}, - "links": {
- "related": "/organizations/o:organization_slug"
}
}, - "resources": {
- "links": {
- "related": "/resources?filter[project]:XXX"
}
}, - "source_language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug",
- "self": "/projects/o:organization_slug:t:team_slug/relationships/team"
}
}
}, - "type": "projects"
}
}
Delete a project.
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 |
{- "errors": [
- {
- "code": "unauthorized",
- "detail": "Please verify your credentials",
- "status": "401",
- "title": "Unauthorized"
}
]
}
Get the details of a specific project.
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 |
{- "data": {
- "attributes": {
- "archived": false,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "description": "The localization effort for Transifex core project",
- "license": "proprietary",
- "long_description": "The localization effort for Transifex core project. Everyone is welcomed to contribute\n",
- "machine_translation_fillup": false,
- "name": "Transifex core",
- "private": false,
- "slug": "project_slug",
- "tags": [
- "core",
- "casual"
], - "translation_memory_fillup": false,
- "type": "live"
}, - "id": "o:organization_slug:p:project_slug",
- "links": {
- "self": "/projects/o:organization_slug:p:project_slug"
}, - "relationships": {
- "languages": {
- "links": {
- "related": "/projects/o:organization_slug:p:project_slug/languages",
- "self": "/projects/o:organization_slug:p:project_slug/relationships/languages"
}
}, - "maintainers": {
- "links": {
- "related": "/projects/o:organization_slug:p:project_slug/maintainers",
- "self": "/projects/o:organization_slug:p:project_slug/relationships/maintainers"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}, - "links": {
- "related": "/organizations/o:organization_slug"
}
}, - "resources": {
- "links": {
- "related": "/resources?filter[project]:XXX"
}
}, - "source_language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug",
- "self": "/projects/o:organization_slug:t:team_slug/relationships/team"
}
}
}, - "type": "projects"
}
}
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 |
required | object >= 3 properties Update project body request details. |
{- "data": {
- "attributes": {
- "archived": false,
- "description": "The localization effort for Transifex core project",
- "license": "proprietary",
- "long_description": "The localization effort for Transifex core project. Everyone is welcomed to contribute\n",
- "machine_translation_fillup": false,
- "name": "Transifex core",
- "private": false,
- "tags": [
- "core",
- "casual"
], - "translation_memory_fillup": false
}, - "id": "o:organization_slug:p:project_slug",
- "relationships": {
- "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}
}
}, - "type": "projects"
}
}
{- "data": [
- {
- "attributes": {
- "archived": false,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "description": "The localization effort for Transifex core project",
- "license": "proprietary",
- "long_description": "The localization effort for Transifex core project. Everyone is welcomed to contribute\n",
- "machine_translation_fillup": false,
- "name": "Transifex core",
- "private": false,
- "slug": "project_slug",
- "tags": [
- "core",
- "casual"
], - "translation_memory_fillup": false,
- "type": "live"
}, - "id": "o:organization_slug:p:project_slug",
- "links": {
- "self": "/projects/o:organization_slug:p:project_slug"
}, - "relationships": {
- "languages": {
- "links": {
- "related": "/projects/o:organization_slug:p:project_slug/languages",
- "self": "/projects/o:organization_slug:p:project_slug/relationships/languages"
}
}, - "maintainers": {
- "links": {
- "related": "/projects/o:organization_slug:p:project_slug/maintainers",
- "self": "/projects/o:organization_slug:p:project_slug/relationships/maintainers"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}, - "links": {
- "related": "/organizations/o:organization_slug"
}
}, - "resources": {
- "links": {
- "related": "/resources?filter[project]:XXX"
}
}, - "source_language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug",
- "self": "/projects/o:organization_slug:t:team_slug/relationships/team"
}
}
}, - "type": "projects"
}
]
}
Get a list of all target languages of a specific project.
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 |
{- "data": [
- {
- "attributes": {
- "code": "en",
- "name": "English",
- "plural_equation": "(n != 1)",
- "plural_rules": { },
- "rtl": false
}, - "id": "l:en_US",
- "links": {
- "self": "/languages/l:en_US"
}, - "type": "languages"
}
], - "links": {
- "self": "/projects/o:organization_slug:p:project_slug/languages"
}
}
Get the maintainers of a project.
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 |
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. |
{- "data": [
- {
- "id": "u:user_1",
- "type": "users",
- "attributes": {
- "username": "user_1"
}, - "links": {
- "self": "/users/u:user_1"
}
}
], - "links": {
- "next": "/projects/o:organization_slug/maintainers?page[cursor]=XXX",
- "previous": "/projects/o:organization_slug/maintainers?page[cursor]=XXX",
- "self": "/projects/o:organization_slug/maintainers"
}
}
Remove target language from a project.
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 |
required | Array of objects |
{- "data": [
- {
- "id": "l:en_US",
- "type": "languages"
}
]
}
{- "errors": [
- {
- "code": "unauthorized",
- "detail": "Please verify your credentials",
- "status": "401",
- "title": "Unauthorized"
}
]
}
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 |
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. |
{- "data": [
- {
- "id": "l:en_US",
- "type": "languages"
}
], - "links": {
- "self": "/projects/o:organization_slug:p:project_slug/relationships/languages"
}
}
Completely replace the target language of a specific project.
Warning: This is a highly destructive operation.
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 |
required | Array of objects |
{- "data": [
- {
- "id": "l:en_US",
- "type": "languages"
}
]
}
{- "errors": [
- {
- "code": "invalid",
- "detail": "Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens",
- "source": {
- "pointer": "/data/attributes/name"
}, - "status": "400",
- "title": "Field `name` is invalid"
}
]
}
Add target language to the project.
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 |
required | Array of objects |
{- "data": [
- {
- "id": "l:en_US",
- "type": "languages"
}
]
}
{- "errors": [
- {
- "code": "invalid",
- "detail": "Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens",
- "source": {
- "pointer": "/data/attributes/name"
}, - "status": "400",
- "title": "Field `name` is invalid"
}
]
}
Remove maintainers from project.
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 |
required | Array of objects |
{- "data": [
- {
- "id": "u:user_1",
- "type": "users"
}
]
}
{- "errors": [
- {
- "code": "invalid",
- "detail": "Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens",
- "source": {
- "pointer": "/data/attributes/name"
}, - "status": "400",
- "title": "Field `name` is invalid"
}
]
}
Get project maintainer relationships.
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 |
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. |
{- "data": [
- {
- "id": "u:user_1",
- "type": "users"
}
], - "links": {
- "next": "/projects/o:organization_slug/relationships/maintainers?page[cursor]=XXX",
- "previous": "/projects/o:organization_slug/relationships/maintainers?page[cursor]=XXX",
- "self": "/projects/o:organization_slug/relationships/maintainers"
}
}
Completely replace project maintainers.
Warning: This is a highly destructive operation.
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 |
required | Array of objects |
{- "data": [
- {
- "id": "u:user_1",
- "type": "users"
}
]
}
{- "errors": [
- {
- "code": "invalid",
- "detail": "Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens",
- "source": {
- "pointer": "/data/attributes/name"
}, - "status": "400",
- "title": "Field `name` is invalid"
}
]
}
Add maintainers to project.
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 |
required | Array of objects |
{- "data": [
- {
- "id": "u:user_1",
- "type": "users"
}
]
}
{- "errors": [
- {
- "code": "invalid",
- "detail": "Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens",
- "source": {
- "pointer": "/data/attributes/name"
}, - "status": "400",
- "title": "Field `name` is invalid"
}
]
}
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 |
{- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug",
- "self": "/projects/o:organization_slug:t:team_slug/relationships/team"
}
}
Update team relationship to set a new team to the project.
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 |
required | object |
{- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}
}
{- "errors": [
- {
- "code": "invalid",
- "detail": "Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens",
- "source": {
- "pointer": "/data/attributes/name"
}, - "status": "400",
- "title": "Field `name` is invalid"
}
]
}
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.
Get information for all the supported project webhooks.
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. |
{- "data": [
- {
- "attributes": {
- "active": true,
- "callback_url": "string",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "event_type": "all_events",
- "secret_key": "mysecret"
}, - "id": "o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/project_webhooks/?filter[organization]=o:organization_slug&filter[organization]=o:organization_slug:p:project_slug"
}, - "relationships": {
- "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "project_webhooks"
}
], - "links": {
- "next": "/project_webhooks/?filter[organization]=o:organization_slug&filter[organization]=o:organization_slug:p:project_slug&page[cursor]=4abfc7266a274c339d99e5254c8df748",
- "previous": "/project_webhooks/?filter[organization]=o:organization_slug&filter[organization]=o:organization_slug:p:project_slug&page[cursor]=4abfc7266a274c339d99e5254c8df748",
- "self": "/project_webhooks/?filter[organization]=o:organization_slug&filter[organization]=o:organization_slug:p:project_slug"
}
}
Create a new webhook. This needs to be associated with a project.
required | object Create project webhook body request details. |
{- "data": {
- "attributes": {
- "active": true,
- "callback_url": "string",
- "event_type": "all_events",
- "secret_key": "mysecret"
}, - "relationships": {
- "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}
}
}, - "type": "project_webhooks"
}
}
{- "data": {
- "attributes": {
- "active": true,
- "callback_url": "string",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "event_type": "all_events",
- "secret_key": "mysecret"
}, - "id": "o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/project_webhooks/?filter[organization]=o:organization_slug&filter[organization]=o:organization_slug:p:project_slug"
}, - "relationships": {
- "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "project_webhooks"
}
}
Delete a project webhook from an organization.
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. |
{- "errors": [
- {
- "code": "unauthorized",
- "detail": "Please verify your credentials",
- "status": "401",
- "title": "Unauthorized"
}
]
}
Get the details of the project webhook specified by the required path parameter webhook_id
.
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. |
{- "data": {
- "attributes": {
- "active": true,
- "callback_url": "string",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "event_type": "all_events",
- "secret_key": "mysecret"
}, - "id": "o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/project_webhooks/?filter[organization]=o:organization_slug&filter[organization]=o:organization_slug:p:project_slug"
}, - "relationships": {
- "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "project_webhooks"
}
}
update a project webhook. You can for example modify its status.
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. |
required | object Update project webhook body request details. |
{- "data": {
- "attributes": {
- "active": true,
- "callback_url": "string",
- "event_type": "all_events",
- "secret_key": "mysecret"
}, - "id": "o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "project_webhooks"
}
}
{- "data": {
- "attributes": {
- "active": true,
- "callback_url": "string",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "event_type": "all_events",
- "secret_key": "mysecret"
}, - "id": "o:organization_slug:p:project_slug:w:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/project_webhooks/?filter[organization]=o:organization_slug&filter[organization]=o:organization_slug:p:project_slug"
}, - "relationships": {
- "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "project_webhooks"
}
}
Represents a resource that holds source strings. Resources belong to a specific project in Transifex.
Merge git based branch
required | object Create resource merge. |
{- "data": {
- "attributes": {
- "callback_url": null,
- "conflict_resolution": "USE_HEAD",
- "force": false
}, - "relationships": {
- "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}
}, - "type": "resource_async_merges"
}
}
{- "data": {
- "attributes": {
- "conflict_resolution": "USE_HEAD",
- "date_completed": "XXXX-XX-XXTXX:XX:XXZ",
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "status": "CREATED"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_strings_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "base": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}, - "head": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}
}, - "type": "resource_async_merges"
}
}
With this endpoint, you can inquire about the status of a resource merge job.
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. |
{- "data": {
- "attributes": {
- "conflict_resolution": "USE_HEAD",
- "date_completed": "XXXX-XX-XXTXX:XX:XXZ",
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "status": "CREATED"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_strings_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "base": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}, - "head": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}
}, - "type": "resource_async_merges"
}
}
Get a list of all resources (in a specific project).
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 |
{- "data": [
- {
- "attributes": {
- "accept_translations": true,
- "categories": [
- "category_1",
- "category_2"
], - "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "i18n_options": {
- "allow_duplicate_strings": true
}, - "i18n_version": 1,
- "name": "Resource Name",
- "priority": "normal",
- "slug": "Slug Name",
- "string_count": 0,
- "word_count": 0,
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "links": {
- "self": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}, - "relationships": {
- "i18n_format": {
- "data": {
- "id": "YML_KEY",
- "type": "i18n_formats"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "resources"
}
], - "links": {
- "next": "/resources?filter[project]=o:organization_slug:p:project_slug&page[cursor]=XXX",
- "previous": "/resources?filter[project]=o:organization_slug:p:project_slug&page[cursor]=XXX",
- "self": "/resources?filter[project]=o:organization_slug:p:project_slug"
}
}
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.
required | object Create resource body request details. |
{- "data": {
- "attributes": {
- "accept_translations": true,
- "categories": [
- "category_1",
- "category_2"
], - "i18n_options": {
- "allow_duplicate_strings": true
}, - "name": "Resource Name",
- "priority": "normal",
- "slug": "Slug Name",
}, - "relationships": {
- "base": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}, - "i18n_format": {
- "data": {
- "id": "YML_KEY",
- "type": "i18n_formats"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}
}
}, - "type": "resources"
}
}
{- "data": {
- "attributes": {
- "accept_translations": true,
- "categories": [
- "category_1",
- "category_2"
], - "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "i18n_options": {
- "allow_duplicate_strings": true
}, - "i18n_version": 1,
- "name": "Resource Name",
- "priority": "normal",
- "slug": "Slug Name",
- "string_count": 0,
- "word_count": 0,
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "links": {
- "self": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}, - "relationships": {
- "i18n_format": {
- "data": {
- "id": "YML_KEY",
- "type": "i18n_formats"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "resources"
}
}
Delete a resource of a project.
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 |
{- "errors": [
- {
- "code": "unauthorized",
- "detail": "Please verify your credentials",
- "status": "401",
- "title": "Unauthorized"
}
]
}
Get details of a specific resource.
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 |
{- "data": {
- "attributes": {
- "accept_translations": true,
- "categories": [
- "category_1",
- "category_2"
], - "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "i18n_options": {
- "allow_duplicate_strings": true
}, - "i18n_version": 1,
- "name": "Resource Name",
- "priority": "normal",
- "slug": "Slug Name",
- "string_count": 0,
- "word_count": 0,
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "links": {
- "self": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}, - "relationships": {
- "i18n_format": {
- "data": {
- "id": "YML_KEY",
- "type": "i18n_formats"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "resources"
}
}
Update details of a resource.
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 |
required | object Update resource body request details. |
{- "data": {
- "attributes": {
- "accept_translations": true,
- "categories": [
- "category_1",
- "category_2"
], - "name": "Resource Name",
- "priority": "normal",
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "relationships": {
- "base": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}
}, - "type": "resources"
}
}
{- "attributes": {
- "accept_translations": true,
- "categories": [
- "category_1",
- "category_2"
], - "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "i18n_options": {
- "allow_duplicate_strings": true
}, - "i18n_version": 1,
- "name": "Resource Name",
- "priority": "normal",
- "slug": "Slug Name",
- "string_count": 0,
- "word_count": 0,
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "links": {
- "self": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}, - "relationships": {
- "i18n_format": {
- "data": {
- "id": "YML_KEY",
- "type": "i18n_formats"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "resources"
}
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
.
required | Array of objects [ 1 .. 150 ] items unique |
{- "data": [
- {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}
]
}
{- "errors": [
- {
- "code": "Throttled",
- "detail": "Request was throttled. Expected available in 60 seconds.",
- "status": "429",
- "title": "Throttled"
}
]
}
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:
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. |
{- "data": [
- {
- "attributes": {
- "appearance_order": 0,
- "character_limit": 100,
- "context": "frontpage,footer,verb",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "developer_comment": "Wrapped in a 30px width div",
- "instructions": "Please use causal language for translations.",
- "key": "hello_world",
- "metadata_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "occurrences": "/my_project/templates/frontpage/hello.html:30",
- "pluralized": true,
- "string_hash": "2e354ef120752c67afa1b6855aa80c52",
- "strings": {
- "one": "hello",
- "other": "world"
}, - "strings_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "tags": [
- "foo",
- "bar"
]
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "links": {
- "self": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}, - "relationships": {
- "committer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings"
}
], - "links": {
- "next": "/resource_strings?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug&page[cursor]=XXX",
- "previous": "/resource_strings?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug&page[cursor]=XXX",
- "self": "/resource_strings?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug"
}
}
required | Array of objects [ 1 .. 150 ] items unique |
{- "data": [
- {
- "attributes": {
- "character_limit": 100,
- "instructions": "Please use causal language for translations.",
- "strings": {
- "one": "hello",
- "other": "world"
}, - "tags": [
- "foo",
- "bar"
]
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}
]
}
{- "data": [
- {
- "attributes": {
- "appearance_order": 0,
- "character_limit": 100,
- "context": "frontpage,footer,verb",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "developer_comment": "Wrapped in a 30px width div",
- "instructions": "Please use causal language for translations.",
- "key": "hello_world",
- "metadata_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "occurrences": "/my_project/templates/frontpage/hello.html:30",
- "pluralized": true,
- "string_hash": "2e354ef120752c67afa1b6855aa80c52",
- "strings": {
- "one": "hello",
- "other": "world"
}, - "strings_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "tags": [
- "foo",
- "bar"
]
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "links": {
- "self": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}, - "relationships": {
- "committer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings"
}
],
}
Create a new resource string. This path is valid only for file-less resources.
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. |
{- "data": {
- "attributes": {
- "appearance_order": 0,
- "character_limit": 100,
- "context": "frontpage,footer,verb",
- "developer_comment": "Wrapped in a 30px width div",
- "instructions": "Please use causal language for translations.",
- "key": "hello_world",
- "occurrences": "/my_project/templates/frontpage/hello.html:30",
- "pluralized": true,
- "strings": {
- "one": "hello",
- "other": "world"
}, - "tags": [
- "foo",
- "bar"
]
}, - "relationships": {
- "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}
}, - "type": "resource_strings"
}
}
{- "data": {
- "attributes": {
- "appearance_order": 0,
- "character_limit": 100,
- "context": "frontpage,footer,verb",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "developer_comment": "Wrapped in a 30px width div",
- "instructions": "Please use causal language for translations.",
- "key": "hello_world",
- "metadata_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "occurrences": "/my_project/templates/frontpage/hello.html:30",
- "pluralized": true,
- "string_hash": "2e354ef120752c67afa1b6855aa80c52",
- "strings": {
- "one": "hello",
- "other": "world"
}, - "strings_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "tags": [
- "foo",
- "bar"
]
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "links": {
- "self": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}, - "relationships": {
- "committer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings"
}
}
Delete a resource string.
Available only for file-less resources.
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 |
{- "errors": [
- {
- "code": "unauthorized",
- "detail": "Please verify your credentials",
- "status": "401",
- "title": "Unauthorized"
}
]
}
Get the details of a specific resource string.
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 |
{- "data": {
- "attributes": {
- "appearance_order": 0,
- "character_limit": 100,
- "context": "frontpage,footer,verb",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "developer_comment": "Wrapped in a 30px width div",
- "instructions": "Please use causal language for translations.",
- "key": "hello_world",
- "metadata_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "occurrences": "/my_project/templates/frontpage/hello.html:30",
- "pluralized": true,
- "string_hash": "2e354ef120752c67afa1b6855aa80c52",
- "strings": {
- "one": "hello",
- "other": "world"
}, - "strings_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "tags": [
- "foo",
- "bar"
]
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "links": {
- "self": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}, - "relationships": {
- "committer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings"
}
}
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 |
required | object Update resource body request details. |
{- "data": {
- "attributes": {
- "character_limit": 100,
- "instructions": "Please use causal language for translations.",
- "strings": {
- "one": "hello",
- "other": "world"
}, - "tags": [
- "foo",
- "bar"
]
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}
}
{- "data": {
- "attributes": {
- "appearance_order": 0,
- "character_limit": 100,
- "context": "frontpage,footer,verb",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "developer_comment": "Wrapped in a 30px width div",
- "instructions": "Please use causal language for translations.",
- "key": "hello_world",
- "metadata_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "occurrences": "/my_project/templates/frontpage/hello.html:30",
- "pluralized": true,
- "string_hash": "2e354ef120752c67afa1b6855aa80c52",
- "strings": {
- "one": "hello",
- "other": "world"
}, - "strings_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "tags": [
- "foo",
- "bar"
]
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "links": {
- "self": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}, - "relationships": {
- "committer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings"
}
}
The response represents the file download job. Check the job's status and download the file itself once that is completed.
required | object Create resource string download body request details. |
{- "data": {
- "attributes": {
- "callback_url": null,
- "content_encoding": "text",
- "file_type": "default",
- "pseudo": false,
- "pseudo_length_increase": 1
}, - "relationships": {
- "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}
}, - "type": "resource_strings_async_downloads"
}
}
{- "data": {
- "attributes": {
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "date_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "failed"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_strings_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings_async_downloads"
}
}
With this endpoint, you can inquire about the status of a resource strings download job.
Location
to download the file
that have been extracted from your file.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 |
{- "data": {
- "attributes": {
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "date_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "failed"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_strings_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings_async_downloads"
}
}
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.
required | object Create source upload body request details. |
{- "data": {
- "attributes": {
- "callback_url": null,
- "content": "{\"hello\": \"transifex\"}",
- "content_encoding": "text",
- "keep_translations": false,
- "replace_edited_strings": false
}, - "relationships": {
- "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}
}, - "type": "resource_strings_async_uploads"
}
}
{- "data": {
- "attributes": {
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "date_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "details": {
- "strings_created": 0,
- "strings_deleted": 0,
- "strings_skipped": 0,
- "strings_updated": 0
}, - "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "failed"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_strings_async_uploads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings_async_uploads"
}
}
With this endpoint, you can inquire about the status of a source upload job.
details
attribute
of the response.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. |
{- "data": {
- "attributes": {
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "date_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "details": {
- "strings_created": 0,
- "strings_deleted": 0,
- "strings_skipped": 0,
- "strings_updated": 0
}, - "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "failed"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_strings_async_uploads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings_async_uploads"
}
}
Get revisions of resource strings
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. |
{- "data": [
- {
- "attributes": {
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "strings": {
- "one": "hello",
- "other": "world"
}
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:v:2022-01-19T14:34:24UTC",
- "relationships": {
- "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}
}, - "type": "resource_strings_revisions"
}
], - "links": {
- "next": "/resource_strings_revisions?filter[resource_string][resource]=o:organization:p:project_slug:r:resource_slug&filter[key]=key&page[cursor]=XXX",
- "previous": "/resource_strings_revisions?filter[resource_string][resource]=o:organization:p:project_slug:r:resource_slug&filter[key]=key&page[cursor]=XXX",
- "self": "/resource_strings_revisions?filter[resource_string][resource]=o:organization:p:project_slug:r:resource_slug&filter[key]=key"
}
}
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
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.
Get a list of all resource string comments for an organization. You can further narrow down the list using the available filters.
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 |
{- "data": [
- {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "resource_string_comments",
- "attributes": {
- "category": "frontpage",
- "message": "the key is wrong",
- "priority": "low",
- "status": "resolved",
- "type": "issue",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_resolved": "XXXX-XX-XXTXX:XX:XXZ"
}, - "links": {
- "self": "/resource_string_comments/o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "author": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resolver": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}
}
}
], - "links": {
- "next": "/resource_strings_comments?filter[organization]=o:organization_slug&page[cursor]=XXX",
- "previous": "/resource_strings_comments?filter[organization]=o:organization_slug&page[cursor]=XXX",
- "self": "/resource_strings_comments?filter[organization]=o:organization_slug&page[cursor]=XXX"
}
}
Create a new resource string comment. This needs to be associated with a resource string and a target language.
required | object Create resource body request details |
{- "data": {
- "attributes": {
- "category": "frontpage",
- "message": "the key is wrong",
- "priority": "low",
- "type": "issue"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}
}
}, - "type": "resource_string_comments"
}
}
{- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "resource_string_comments",
- "attributes": {
- "category": "frontpage",
- "message": "the key is wrong",
- "priority": "low",
- "status": "resolved",
- "type": "issue",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_resolved": "XXXX-XX-XXTXX:XX:XXZ"
}, - "links": {
- "self": "/resource_string_comments/o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "author": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resolver": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}
}
}
}
Delete a resource string comment
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 |
{- "errors": [
- {
- "code": "unauthorized",
- "detail": "Please verify your credentials",
- "status": "401",
- "title": "Unauthorized"
}
]
}
Get details for a comment related to a specific resource string
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 |
{- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "resource_string_comments",
- "attributes": {
- "category": "frontpage",
- "message": "the key is wrong",
- "priority": "low",
- "status": "resolved",
- "type": "issue",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_resolved": "XXXX-XX-XXTXX:XX:XXZ"
}, - "links": {
- "self": "/resource_string_comments/o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "author": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resolver": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}
}
}
}
Change a resource string comment. You can update it's status, change it to an issue or edit the description.
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 |
required | object Update resource body request details |
{- "data": {
- "attributes": {
- "category": "frontpage",
- "message": "the key is wrong",
- "priority": "low",
- "status": "resolved"
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "resource_string_comments"
}
}
{- "data": [
- {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "resource_string_comments",
- "attributes": {
- "category": "frontpage",
- "message": "the key is wrong",
- "priority": "low",
- "status": "resolved",
- "type": "issue",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_resolved": "XXXX-XX-XXTXX:XX:XXZ"
}, - "links": {
- "self": "/resource_string_comments/o:organization_slug:p:project_slug:r:resource_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:c:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "author": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resolver": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}
}
}
]
}
Get information for all the supported i18n formats. For more information check https://help.transifex.com/en/articles/6219670-introduction-to-file-formats
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 |
{- "data": [
- {
- "attributes": {
- "description": "YAML Files based on the content",
- "file_extensions": [
- ".yml",
- ".yaml"
], - "media_type": "text/plain",
- "name": "YML_KEY"
}, - "id": "YML_KEY",
- "type": "i18n_formats"
}
]
}
Get the context screenshots maps for a project. You can further narrow down the list using the available filters.
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. |
{- "data": [
- {
- "attributes": {
- "coordinate_x": 423,
- "coordinate_y": 261,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "height": 59,
- "width": 372
}, - "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/context_screenshots_maps/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "context_screenshot": {
- "data": {
- "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "context_screenshots"
}, - "links": {
- "related": "/context_screenshots/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}
}, - "type": "context_screenshot_map"
}
], - "links": {
- "next": "/context_screenshots_maps/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748&page[cursor]=4abfc7266a274c339d99e5254c8df748",
- "previous": "/context_screenshots_maps/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748&page[cursor]=4abfc7266a274c339d99e5254c8df748",
- "self": "/context_screenshots_maps/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748"
}
}
Upload screenshot map.
required | object Create context screenshot map body request details. |
{- "data": {
- "attributes": {
- "coordinate_x": 423,
- "coordinate_y": 261,
- "height": 59,
- "width": 372
}, - "relationships": {
- "context_screenshot": {
- "data": {
- "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "context_screenshots"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}
}
}, - "type": "context_screenshot_maps"
}
}
{- "data": {
- "attributes": {
- "coordinate_x": 423,
- "coordinate_y": 261,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "height": 59,
- "width": 372
}, - "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/context_screenshots_maps/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "context_screenshot": {
- "data": {
- "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "context_screenshots"
}, - "links": {
- "related": "/context_screenshots/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}
}, - "type": "context_screenshot_map"
}
}
Delete a context screenshot map.
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 |
{- "errors": [
- {
- "code": "unauthorized",
- "detail": "Please verify your credentials",
- "status": "401",
- "title": "Unauthorized"
}
]
}
Get details for a context screenshot map.
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 |
{- "data": {
- "attributes": {
- "coordinate_x": 423,
- "coordinate_y": 261,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "height": 59,
- "width": 372
}, - "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/context_screenshots_maps/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748:r:resource_slug:m:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "context_screenshot": {
- "data": {
- "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "context_screenshots"
}, - "links": {
- "related": "/context_screenshots/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}
}, - "type": "context_screenshot_map"
}
}
Get the context screenshots for a project.
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. |
{- "data": [
- {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "name": "Home page",
}, - "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/context_screenshots/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "context_screenshots_maps": {
- "links": {
- "related": "/context_screenshots_maps/?filter[project]=o:organization_slug:p:project_slug&filter[context_screenshot]=o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "context_screenshots"
}
], - "links": {
- "next": "/context_screenshots/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748&page[cursor]=4abfc7266a274c339d99e5254c8df748",
- "previous": "/context_screenshots/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748&page[cursor]=4abfc7266a274c339d99e5254c8df748",
- "self": "/context_screenshots/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}
}
Delete a project context screenshot.
context_screenshot_id required | string Example: o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748 |
{- "errors": [
- {
- "code": "unauthorized",
- "detail": "Please verify your credentials",
- "status": "401",
- "title": "Unauthorized"
}
]
}
Get details for a context screenshot.
context_screenshot_id required | string Example: o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748 |
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "name": "Home page",
}, - "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/context_screenshots/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "context_screenshots_maps": {
- "links": {
- "related": "/context_screenshots_maps/?filter[project]=o:organization_slug:p:project_slug&filter[context_screenshot]=o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "context_screenshots"
}
}
Update details of a context screenshot.
context_screenshot_id required | string Example: o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748 |
required | object Update resource body request details. |
{- "data": {
- "attributes": {
- "name": "Home page"
}, - "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "type": "context_screenshots"
}
}
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "name": "Home page",
}, - "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/context_screenshots/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "context_screenshots_maps": {
- "links": {
- "related": "/context_screenshots_maps/?filter[project]=o:organization_slug:p:project_slug&filter[context_screenshot]=o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "context_screenshots"
}
}
Upload screenshot.
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 |
content required | string <binary> The context screenshot file to upload. |
name required | string name of the screenshot |
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "name": "Home page",
}, - "id": "o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/context_screenshots/o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "context_screenshots_maps": {
- "links": {
- "related": "/context_screenshots_maps/?filter[project]=o:organization_slug:p:project_slug&filter[context_screenshot]=o:organization_slug:p:project_slug:s:4abfc726-6a27-4c33-9d99-e5254c8df748"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "context_screenshots"
}
}
The response represents the organization activity report file download job. Check the job's status and download the file itself once that is completed.
required | object Create organization activity report download body request details. |
{- "data": {
- "attributes": {
- "date_from": "XXXX-XX-XX",
- "date_to": "XXXX-XX-XX"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}
}
}, - "type": "organization_activity_reports_async_downloads"
}
}
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "pending"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/organization_activity_reports_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}, - "links": {
- "related": "/organizations/o:organization_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "organization_activity_reports_async_downloads"
}
}
With this endpoint, you can inquire about the status of an organization activity report download job.
Location
to
download the file that have been
extracted from your file.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. |
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "pending"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/organization_activity_reports_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}, - "links": {
- "related": "/organizations/o:organization_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "organization_activity_reports_async_downloads"
}
}
The response represents the project activity report download job. Check the job's status and download the file itself once that is completed.
required | object Create project activity report download body request details. |
{- "data": {
- "attributes": {
- "date_from": "XXXX-XX-XX",
- "date_to": "XXXX-XX-XX"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}
}
}, - "type": "project_activity_reports_async_downloads"
}
}
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "pending"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/project_activity_reports_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "project_activity_reports_async_downloads"
}
}
With this endpoint, you can inquire about the status of a project activity report download job.
Location
to
download the file that have been
extracted from your file.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. |
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "pending"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/project_activity_reports_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "project_activity_reports_async_downloads"
}
}
The response represents the resource activity report download job. Check the job's status and download the file itself once that is completed.
required | object Create resource activity report download body request details. |
{- "data": {
- "attributes": {
- "date_from": "XXXX-XX-XX",
- "date_to": "XXXX-XX-XX"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}
}
}, - "type": "resource_activity_reports_async_downloads"
}
}
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "pending"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_activity_reports_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "resource_activity_reports_async_downloads"
}
}
With this endpoint, you can inquire about the status of an resource activity report download job.
Location
to
download the file that have been
extracted from your file.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. |
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "pending"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_activity_reports_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "resource_activity_reports_async_downloads"
}
}
The response represents the team activity report file download job. Check the job's status and download the file itself once that is completed.
required | object Create team activity report download body request details. |
{- "data": {
- "attributes": {
- "date_from": "XXXX-XX-XX",
- "date_to": "XXXX-XX-XX"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}
}
}, - "type": "team_activity_reports_async_downloads"
}
}
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "pending"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/team_activity_reports_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "team_activity_reports_async_downloads"
}
}
With this endpoint, you can inquire about the status of an team activity report download job.
Location
to
download the file that have been
extracted from your file.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. |
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "pending"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/team_activity_reports_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "team_activity_reports_async_downloads"
}
}
Get the statistics for a set of resources. You must specify at least a project and optionally a language / resource to filter against.
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. |
{- "data": [
- {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:l:language_slug",
- "type": "resource_language_stats",
- "attributes": {
- "last_proofread_update": "XXXX-XX-XXTXX:XX:XXZ",
- "last_review_update": "XXXX-XX-XXTXX:XX:XXZ",
- "last_translation_update": "XXXX-XX-XXTXX:XX:XXZ",
- "last_update": "XXXX-XX-XXTXX:XX:XXZ",
- "proofread_strings": 10,
- "proofread_words": 10,
- "reviewed_strings": 10,
- "reviewed_words": 10,
- "total_strings": 10,
- "total_words": 10,
- "translated_strings": 10,
- "translated_words": 10,
- "untranslated_strings": 10,
- "untranslated_words": 10
}, - "links": {
- "self": "/resource_stats/o:organization_slug:p:project_slug:r:resource_slug:l:language_code"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}
}
], - "links": {
- "last": "/resource_language_stats/o:organization_slug:p:project_slug:r:resource_slug:l:language_code&page[cursor]=XXX",
- "next": "/resource_language_stats/o:organization_slug:p:project_slug:r:resource_slug:l:language_code&page[cursor]=XXX",
- "self": "/resource_language_stats/o:organization_slug:p:project_slug:r:resource_slug:l:language_code"
}
}
Get information for a specific supported language.
resource_language_stats_id required | string Example: o:organization_slug:p:project_slug:r:resource_slug:l:language_code |
{- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:l:language_slug",
- "type": "resource_language_stats",
- "attributes": {
- "last_proofread_update": "XXXX-XX-XXTXX:XX:XXZ",
- "last_review_update": "XXXX-XX-XXTXX:XX:XXZ",
- "last_translation_update": "XXXX-XX-XXTXX:XX:XXZ",
- "last_update": "XXXX-XX-XXTXX:XX:XXZ",
- "proofread_strings": 10,
- "proofread_words": 10,
- "reviewed_strings": 10,
- "reviewed_words": 10,
- "total_strings": 10,
- "total_words": 10,
- "translated_strings": 10,
- "translated_words": 10,
- "untranslated_strings": 10,
- "untranslated_words": 10
}, - "links": {
- "self": "/resource_stats/o:organization_slug:p:project_slug:r:resource_slug:l:language_code"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}
}
}
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 |
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:
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. |
{- "data": [
- {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_proofread": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_reviewed": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_translated": "XXXX-XX-XXTXX:XX:XXZ",
- "finalized": false,
- "origin": "EDITOR",
- "proofread": false,
- "reviewed": true,
- "strings": {
- "one": "hello",
- "other": "world"
}
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:el_GR",
- "links": {
- "self": "/resource_translations/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:language_code"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "proofreader": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}, - "reviewer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "translator": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "resource_translations"
}
], - "included": [
- {
- "attributes": {
- "appearance_order": 0,
- "character_limit": 100,
- "context": "frontpage,footer,verb",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "developer_comment": "Wrapped in a 30px width div",
- "instructions": "Please use causal language for translations.",
- "key": "hello_world",
- "metadata_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "occurrences": "/my_project/templates/frontpage/hello.html:30",
- "pluralized": true,
- "string_hash": "2e354ef120752c67afa1b6855aa80c52",
- "strings": {
- "one": "hello",
- "other": "world"
}, - "strings_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "tags": [
- "foo",
- "bar"
]
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "links": {
- "self": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}, - "relationships": {
- "committer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings"
}
], - "links": {
- "next": "/resource_strings?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug&page[cursor]=XXX",
- "previous": "/resource_strings?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug&page[cursor]=XXX",
- "self": "/resource_strings?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug"
}
}
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.
required | Array of objects [ 1 .. 150 ] items unique |
{- "data": [
- {
- "attributes": {
- "proofread": false,
- "reviewed": true,
- "strings": {
- "one": "hello",
- "other": "world"
}
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:el_GR",
- "type": "resource_translations"
}
]
}
{- "data": [
- {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_proofread": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_reviewed": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_translated": "XXXX-XX-XXTXX:XX:XXZ",
- "finalized": false,
- "origin": "EDITOR",
- "proofread": false,
- "reviewed": true,
- "strings": {
- "one": "hello",
- "other": "world"
}
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:el_GR",
- "links": {
- "self": "/resource_translations/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:language_code"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "proofreader": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}, - "reviewer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "translator": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "resource_translations"
}
]
}
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 |
include | string Value: "resource_string" Use the value |
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_proofread": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_reviewed": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_translated": "XXXX-XX-XXTXX:XX:XXZ",
- "finalized": false,
- "origin": "EDITOR",
- "proofread": false,
- "reviewed": true,
- "strings": {
- "one": "hello",
- "other": "world"
}
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:el_GR",
- "links": {
- "self": "/resource_translations/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:language_code"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "proofreader": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}, - "reviewer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "translator": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "resource_translations"
}, - "included": [
- {
- "attributes": {
- "appearance_order": 0,
- "character_limit": 100,
- "context": "frontpage,footer,verb",
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "developer_comment": "Wrapped in a 30px width div",
- "instructions": "Please use causal language for translations.",
- "key": "hello_world",
- "metadata_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "occurrences": "/my_project/templates/frontpage/hello.html:30",
- "pluralized": true,
- "string_hash": "2e354ef120752c67afa1b6855aa80c52",
- "strings": {
- "one": "hello",
- "other": "world"
}, - "strings_datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "tags": [
- "foo",
- "bar"
]
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "links": {
- "self": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}, - "relationships": {
- "committer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_strings"
}
]
}
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).
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 |
required | object Update resource body request details. |
{- "data": {
- "attributes": {
- "proofread": false,
- "reviewed": true,
- "strings": {
- "one": "hello",
- "other": "world"
}
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:el_GR",
- "type": "resource_translations"
}
}
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_proofread": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_reviewed": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_translated": "XXXX-XX-XXTXX:XX:XXZ",
- "finalized": false,
- "origin": "EDITOR",
- "proofread": false,
- "reviewed": true,
- "strings": {
- "one": "hello",
- "other": "world"
}
}, - "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:el_GR",
- "links": {
- "self": "/resource_translations/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:l:language_code"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "proofreader": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}, - "resource_string": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52",
- "type": "resource_strings"
}, - "links": {
- "related": "/resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52"
}
}, - "reviewer": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}, - "translator": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "resource_translations"
}
}
The response represents the file download job. Check the job's status and download the file itself once that is completed.
required | object Create resource translation download body request details. |
{- "data": {
- "attributes": {
- "callback_url": null,
- "content_encoding": "text",
- "file_type": "default",
- "mode": "default",
- "pseudo": false
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}
}, - "type": "resource_translations_async_downloads"
}
}
{- "data": {
- "attributes": {
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "date_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "failed"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_translations_async_uploads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_translations_async_downloads"
}
}
With this endpoint, you can inquire about the status of an translation download job.
Location
to download the file
that have been extracted from your file.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. |
{- "data": {
- "attributes": {
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "date_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "failed"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_translations_async_uploads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_translations_async_downloads"
}
}
Upload a new resource translation file for a specific language.
required | object Create resource translation upload body request details. |
{- "data": {
- "attributes": {
- "callback_url": null,
- "content": "{\"hello\": \"Γεια σου\"}",
- "content_encoding": "text",
- "file_type": "default"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}
}
}, - "type": "resource_translations_async_uploads"
}
}
{- "data": {
- "attributes": {
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "date_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "details": {
- "translations_created": 0,
- "translations_updated": 0
}, - "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "failed"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_translations_async_uploads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_translations_async_uploads"
}
}
Get details of a resource translations upload.
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. |
{- "data": {
- "attributes": {
- "date_created": "XXXX-XX-XXTXX:XX:XXZ",
- "date_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "details": {
- "translations_created": 0,
- "translations_updated": 0
}, - "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "failed"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/resource_translations_async_uploads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "resource": {
- "data": {
- "id": "o:organization_slug:p:project_slug:r:resource_slug",
- "type": "resources"
}, - "links": {
- "related": "/resources/o:organization_slug:p:project_slug:r:resource_slug"
}
}
}, - "type": "resource_translations_async_uploads"
}
}
List team memberships.
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" |
{- "data": [
- {
- "attributes": {
- "role": "translator"
}, - "id": "o:organization_slug:t:team_slug:l:lang_code:u:username",
- "links": {
- "self": "/team_memberships/o:organization_slug:t:team_slug:l:lang_code:u:username"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "team_memberships"
}
], - "included": [
- {
- "id": "u:user_1",
- "type": "users",
- "attributes": {
- "username": "user_1"
}, - "links": {
- "self": "/users/u:user_1"
}
}
], - "links": {
- "next": "/team_memberships?filter[organization]=organization_slug&page[cursor]=XXX",
- "previous": "/team_memberships?filter[organization]=organization_slug&page[cursor]=XXX",
- "self": "/team_memberships?filter[organization]=o:organization_slug"
}
}
Create a new team membership.
required | object |
{- "data": {
- "attributes": {
- "role": "translator"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}
}
}, - "type": "team_memberships"
}
}
{- "data": {
- "attributes": {
- "role": "translator"
}, - "id": "o:organization_slug:t:team_slug:l:lang_code:u:username",
- "links": {
- "self": "/team_memberships/o:organization_slug:t:team_slug:l:lang_code:u:username"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "team_memberships"
}
}
Delete team membership.
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 |
{- "errors": [
- {
- "code": "invalid",
- "detail": "Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens",
- "source": {
- "pointer": "/data/attributes/name"
}, - "status": "400",
- "title": "Field `name` is invalid"
}
]
}
Get single team membership.
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 |
include | string Value: "user" |
{- "data": {
- "attributes": {
- "role": "translator"
}, - "id": "o:organization_slug:t:team_slug:l:lang_code:u:username",
- "links": {
- "self": "/team_memberships/o:organization_slug:t:team_slug:l:lang_code:u:username"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "team_memberships"
}, - "included": [
- {
- "id": "u:user_1",
- "type": "users",
- "attributes": {
- "username": "user_1"
}, - "links": {
- "self": "/users/u:user_1"
}
}
]
}
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
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 |
required | object |
{- "data": {
- "attributes": {
- "role": "translator"
}, - "id": "o:organization_slug:t:team_slug:l:lang_code:u:username",
- "type": "team_memberships"
}
}
{- "data": {
- "attributes": {
- "role": "translator"
}, - "id": "o:organization_slug:t:team_slug:l:lang_code:u:username",
- "links": {
- "self": "/team_memberships/o:organization_slug:t:team_slug:l:lang_code:u:username"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "team": {
- "data": {
- "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}, - "links": {
- "related": "/teams/o:organization_slug:t:team_slug"
}
}, - "user": {
- "data": {
- "id": "u:user_1",
- "type": "users"
}, - "links": {
- "related": "/users/u:user_1"
}
}
}, - "type": "team_memberships"
}
}
Get the list of teams that belong to a single organization.
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 |
{- "data": [
- {
- "attributes": {
- "auto_join": true,
- "cla": "string",
- "cla_required": true,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "name": "string",
- "slug": "team_slug"
}, - "id": "o:organization_slug:t:team_slug",
- "links": {
- "self": "/teams/o:organization_slug:t:team_slug"
}, - "relationships": {
- "managers": {
- "links": {
- "related": "/teams/o:organization_slug:t:team_slug/managers",
- "self": "/teams/o:organization_slug:t:team_slug/relationships/managers"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}, - "links": {
- "related": "/organizations/o:organization_slug"
}
}
}, - "type": "teams"
}
], - "links": {
- "next": "/teams?filter[organization]=o:organization_slug&page[cursor]=XXX",
- "previous": "/'teams?filter[organization]=o:organization_slug&page[cursor]=XXX'",
- "self": "/teams?filter[organization]=o:organization_slug"
}
}
required | object Create team body request details. |
{- "data": {
- "attributes": {
- "auto_join": true,
- "cla": "string",
- "cla_required": true,
- "name": "string"
}, - "relationships": {
- "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}
}
}, - "type": "teams"
}
}
{- "data": {
- "attributes": {
- "auto_join": true,
- "cla": "string",
- "cla_required": true,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "name": "string",
- "slug": "team_slug"
}, - "id": "o:organization_slug:t:team_slug",
- "links": {
- "self": "/teams/o:organization_slug:t:team_slug"
}, - "relationships": {
- "managers": {
- "links": {
- "related": "/teams/o:organization_slug:t:team_slug/managers",
- "self": "/teams/o:organization_slug:t:team_slug/relationships/managers"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}, - "links": {
- "related": "/organizations/o:organization_slug"
}
}
}, - "type": "teams"
}
}
Delete a team.
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 |
{- "errors": [
- {
- "code": "unauthorized",
- "detail": "Please verify your credentials",
- "status": "401",
- "title": "Unauthorized"
}
]
}
Get the details of a single team.
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 |
{- "data": {
- "attributes": {
- "auto_join": true,
- "cla": "string",
- "cla_required": true,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "name": "string",
- "slug": "team_slug"
}, - "id": "o:organization_slug:t:team_slug",
- "links": {
- "self": "/teams/o:organization_slug:t:team_slug"
}, - "relationships": {
- "managers": {
- "links": {
- "related": "/teams/o:organization_slug:t:team_slug/managers",
- "self": "/teams/o:organization_slug:t:team_slug/relationships/managers"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}, - "links": {
- "related": "/organizations/o:organization_slug"
}
}
}, - "type": "teams"
}
}
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 |
required | object Update team body request details. |
{- "data": {
- "attributes": {
- "auto_join": true,
- "cla": "string",
- "cla_required": true,
- "name": "string"
}, - "id": "o:organization_slug:t:team_slug",
- "type": "teams"
}
}
{- "data": [
- {
- "attributes": {
- "auto_join": true,
- "cla": "string",
- "cla_required": true,
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "name": "string",
- "slug": "team_slug"
}, - "id": "o:organization_slug:t:team_slug",
- "links": {
- "self": "/teams/o:organization_slug:t:team_slug"
}, - "relationships": {
- "managers": {
- "links": {
- "related": "/teams/o:organization_slug:t:team_slug/managers",
- "self": "/teams/o:organization_slug:t:team_slug/relationships/managers"
}
}, - "organization": {
- "data": {
- "id": "o:org_123",
- "type": "organizations"
}, - "links": {
- "related": "/organizations/o:organization_slug"
}
}
}, - "type": "teams"
}
]
}
Get the managers of a team.
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 |
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. |
{- "data": [
- {
- "id": "u:user_1",
- "type": "users",
- "attributes": {
- "username": "user_1"
}, - "links": {
- "self": "/users/u:user_1"
}
}
], - "links": {
- "next": "/teams/o:organization_slug:t:team_slug/managers?page[cursor]=XXX",
- "previous": "/teams/o:organization_slug:t:team_slug/managers?page[cursor]=XXX",
- "self": "/teams/o:organization_slug:t:team_slug/managers"
}
}
Remove managers from team.
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 |
required | Array of objects |
{- "data": [
- {
- "id": "u:user_1",
- "type": "users"
}
]
}
{- "errors": [
- {
- "code": "invalid",
- "detail": "Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens",
- "source": {
- "pointer": "/data/attributes/name"
}, - "status": "400",
- "title": "Field `name` is invalid"
}
]
}
Get team manager relationships.
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 |
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. |
{- "data": [
- {
- "id": "u:user_1",
- "type": "users"
}
], - "links": {
- "next": "/teams/o:organization_slug:t:team_slug/relationships/managers?page[cursor]=XXX",
- "previous": "/teams/o:organization_slug:t:team_slug/relationships/managers?page[cursor]=XXX",
- "self": "/teams/o:organization_slug:t:team_slug/relationships/managers"
}
}
Completely replace team managers.
Warning: This is a highly destructive operation.
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 |
required | Array of objects |
{- "data": [
- {
- "id": "u:user_1",
- "type": "users"
}
]
}
{- "errors": [
- {
- "code": "invalid",
- "detail": "Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens",
- "source": {
- "pointer": "/data/attributes/name"
}, - "status": "400",
- "title": "Field `name` is invalid"
}
]
}
Add managers to team.
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 |
required | Array of objects |
{- "data": [
- {
- "id": "u:user_1",
- "type": "users"
}
]
}
{- "errors": [
- {
- "code": "invalid",
- "detail": "Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens",
- "source": {
- "pointer": "/data/attributes/name"
}, - "status": "400",
- "title": "Field `name` is invalid"
}
]
}
The response represents the file download job. Check the job's status and download the file itself once that is completed.
required | object Create tmx_async_download body request |
{- "data": {
- "attributes": {
- "callback_url": null,
- "email": false,
- "include_context": false,
- "include_untranslated": false
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}
}
}, - "type": "tmx_async_downloads"
}
}
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "failed"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/tmx_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "tmx_async_downloads"
}
}
With this endpoint, you can inquire about the status of an tmx file download job.
Location
to download the file.
The download link will be valid for 30 days.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. |
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "datetime_modified": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "status": "failed"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/tmx_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "tmx_async_downloads"
}
}
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.
required | object Create tmx_async_upload body request details |
{- "data": {
- "attributes": {
- "callback_url": null,
- "content": "<tmx></header><body><tu><tuv xml:lang=\"en\"><seg>hello</seg></tuv><tuv xml:lang=\"el\"><seg>Γειά σου</seg></tuv></tu></body></tmx>",
- "content_encoding": "text",
- "override": false
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}
}
}, - "type": "tmx_async_uploads"
}
}
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "override": true,
- "status": "pending"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/tmx_async_uploads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "tmx_async_uploads"
}
}
With this endpoint, you can inquire about the status of an tmx file upload job.
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. |
{- "data": {
- "attributes": {
- "datetime_created": "XXXX-XX-XXTXX:XX:XXZ",
- "errors": [
- {
- "code": "parse_error",
- "detail": "Could not decode JSON object"
}
], - "override": true,
- "status": "pending"
}, - "id": "4abfc726-6a27-4c33-9d99-e5254c8df748",
- "links": {
- "self": "/tmx_async_uploads/4abfc726-6a27-4c33-9d99-e5254c8df748"
}, - "relationships": {
- "language": {
- "data": {
- "id": "l:en_US",
- "type": "languages"
}, - "links": {
- "related": "/languages/l:en_US"
}
}, - "project": {
- "data": {
- "id": "o:organization_slug:p:project_slug",
- "type": "projects"
}, - "links": {
- "related": "/projects/o:organization_slug:p:project_slug"
}
}
}, - "type": "tmx_async_uploads"
}
}