openapi: 3.0.1
info:
contact:
email: support@transifex.com
name: Transifex Support
description: "
\n
\n\n# Introduction\n\nThis API is based on **{json:api}**.\n\n{json:api} is a specification that follows shared conventions and standards. This specification enables API discoverability and partial\nself-descriptiveness through conventions. The Json Api specification exposes resources and their relationships representations with\nunique uris and all CRUD operations are performed on those endpoints. With it's simplified approach it assists the API uniformity.\n\nRead more: https://jsonapi.org/\n\nAdditionally, this API is defined using OpenAPI (ex Swagger). This means that you can easily:\n* Generate clients in your preferred: https://swagger.io/tools/swagger-codegen/\n* Download the specification file (see above) and use it in clients like Postman etc\n\n
\n
\n\n# Pagination\n\nAll list endpoints include pagination to guarantee performant responses. Those endpoints will return `next` and `previous` links in the\nresponse payload (`links` section). The client does not have to construct any pagination specific URLs or headers, just follow those\nlinks.\n\nPage size is fixed to 150 items per page.\n\n
\n
\n\n# Content Negotiation\n\nThe basic media type for the API is `application/vnd.api+json`. If you want to execute a request that includes data (`POST`, `PATCH`, `DELETE`)\nyou should include this media type in the `Content-Type` header. The only case where a different `Content-Type` header will be accepted is for\nendpoints that can accept file like objects where the media type used should be `multipart/form-data`.\n\nThe base media type this API responds is `application/vnd.api+json`. To retrieve the data in this media type you should include it in the `Accept`\nheader. The only case where the server will return another media type is for endpoint that return file like objects.\nIn this case the media type used should be `*/*` and the server will prioritize the negotiation to the media type dictated from the file.\nNote that `application/vnd.api+json` will be also available for accept header in these cases and will return a JSON serialized representation of the file.\n\nRead more here: https://jsonapi.org/format/#content-negotiation\n\n# File Uploads\n\nThere are three different methods for uploading file content to Transifex:\n* Using Content-Type `application/vnd.api+json` the content must\n be JSON serializable.\n - For content that is directly JSON serializable you can dump the content\n of the file directly and set the `content_encoding` attribute to `text`.\n - For any content, even if it's not JSON serializable (eg .xlsx, .idml or .docx file extensions),\n you can encode the file using the `base64` encoding and set the `content_encoding` attribute to `base64`.\n* Using Content-Type `multipart/form-data` the content can be any raw file, and can\n be send without further processing.\n\n# Asynchronous Processing\n\nAsynchronous operations are triggered via a POST request. The response status in such cases is 202 Accepted, with a link in the Content-Location header.\nTo check the status of the operation, a client can send a request to the location given earlier.\nAn optional `callback_url` can be provided when the asynchronous operation is triggered. If such url is provided, upon completion\na HTTP POST request is executed containing all information required to identify the specific operation:\n\nExample request:\n```\nPOST callback_url HTTP/1.1\nContent-Type: application/json\n\n{\n \"data\": {\n \"type\": resource_strings_async_downloads\",\n \"id\": \"xxxxxxxxx\",\n \"attributes\": {\n \"location\": \"https://rest.api.transifex.com/resource_strings_async_downloads/xxxxxxxxx\",\n \"status\": \"succeeded\"\n }\n }\n}\n```\n\n# Restrictions\n\nThe following Plan based restrictions apply:\n* [Activity Reports](#tag/Activity-Reports) are available to Premium and up\n* [XLIFF export](#tag/Resource-Translations/paths/~1resource_translations_async_downloads/post) is available to Premium and up.\n* [Screenshots](#tag/Context-Screenshots) are available to Premium and up\n\n# Rate Limit\n\nTo maintain optimal performance and availability of the API, we limit the request rate to 500\nrequests/min or 30,000 requests / 5 minutes / IP. Polling endpoints like\n`resource_translations_async_downloads/{resource_translations_async_download_id}` and\n`resource_strings_async_downloads/{resource_strings_async_download_id}` have a rate limit of 1,200 requests/min.\nOnce past the respective limit, requests will be throttled and you will get a 429 Throttled response.\n\n\nExample response:\n```\n{\n \"errors\": [\n {\n \"code\": \"Throttled\",\n \"detail\": \"Request was throttled. Expected available in 60 seconds.\",\n \"status\": \"429\",\n \"title\": \"Throttled\"\n }\n ]\n}\n```\n\n# Authentication\n\n"
title: Transifex Activity Reports Resource Strings API
version: '3.0'
x-logo:
altText: Transifex logo
backgroundColor: '#FFFFFF'
url: transifex-blue-logo.svg
servers:
- url: https://rest.api.transifex.com
security:
- bearerAuth: []
tags:
- description: Resource Strings
name: Resource Strings
paths:
/resource_strings:
delete:
description: '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`.
'
requestBody:
content:
application/vnd.api+json;profile="bulk":
schema:
additionalProperties: false
properties:
data:
items:
additionalProperties: false
description: Resource String data container.
properties:
id:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
type:
enum:
- resource_strings
type: string
required:
- type
- id
type: object
maxItems: 150
minItems: 1
type: array
uniqueItems: true
required:
- data
type: object
required: true
responses:
'204':
description: No content
'429':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: Throttled
type: string
detail:
example: Request was throttled. Expected available in 60 seconds.
type: string
status:
example: '429'
type: string
title:
example: Throttled
type: string
type: object
type: array
type: object
description: Throttled
security:
- bearerAuth: []
summary: Bulk-delete resource strings
tags:
- Resource Strings
x-released: true
get:
parameters:
- description: Filter results by a resource
in: query
name: filter[resource]
required: true
schema:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
- description: 'The cursor used for pagination. The value of the cursor must be retrieved from pagination links included in previous responses; you should not attempt to write them on your own.
'
in: query
name: page[cursor]
schema:
type: string
- in: query
name: filter[strings_date_modified][gte]
required: false
schema:
oneOf:
- example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
- description: Date, will be treated as UTC by the API
example: XXXX-XX-XX
format: date
type: string
- in: query
name: filter[strings_date_modified][lte]
required: false
schema:
oneOf:
- example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
- description: Date, will be treated as UTC by the API
example: XXXX-XX-XX
format: date
type: string
- description: Exact match for the key of the resource string. This filter is case sensitive.
in: query
name: filter[key]
required: false
schema:
example: hello_world
minLength: 1
type: string
- description: Retrieve source strings that contain all specified query tags.
explode: false
in: query
name: filter[tags][all]
required: false
schema:
items:
example: tag1,tag2,tag3
type: string
minItems: 1
type: array
style: form
- description: 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.
explode: false
in: query
name: filter[tags][any]
required: false
schema:
items:
example: tag1,tag2,tag3
type: string
minItems: 1
type: array
style: form
- description: "Retrieve translation strings based on specified query tags.\n\nTo filter strings, use a combination of tags with the following syntax:\n- Use an ampersand ('&') to signify 'AND' functionality, indicating that all specified\n tags must be present.\n- Use a pipe ('|') to signify 'OR' functionality, meaning that at least one of\n the specified tags must be present.\n- Use parentheses '(' to ')' to define the order of statement execution.\n- To use the above special characters as part of the query content, escape them with a\n backslash ('\\\\')\n\nWhen combining AND and OR conditions, the query is evaluated from left to right, following operator precedence and respecting existing parentheses. Specifically, the AND operator (&) takes precedence over the OR operator (|).\n\nFor example, consider the query:\n'tag1&(tag2|tag3)'\n\nThis query is interpreted as follows:\ntag1 AND (tag2 OR tag3), and it returns strings that have both \"tag1\" and either \"tag2\" or \"tag3\"\n\nSimilarly, for the query:\n'tag1&tag2|tag3'\n\nThis query is read as follows:\n(tag1 AND tag2) OR tag3, and it returns strings that have both \"tag1\" and \"tag2\" or have \"tag3\"\n"
explode: false
in: query
name: filter[tags][query]
required: false
schema:
example: tag1&tag2|tag3
minLength: 1
type: string
style: form
- description: The page size limit. If not set, the default value is 150.
If set, the minimum value it can take is 150 and the maximum 1000.
in: query
name: limit
schema:
example: 150
nullable: true
type: string
responses:
'200':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
description: List of resource string objects.
items:
additionalProperties: false
properties:
attributes:
additionalProperties: false
description: Resource String attributes.
properties:
appearance_order:
description: 'The order that the resource string appears in it''s container.
In case of files appearance order is extracted automatically,
where in other cases this may be missing
'
nullable: true
type: integer
character_limit:
description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
example: 100
maximum: 2147483647
minimum: 0
nullable: true
type: integer
context:
description: 'Additional context added, in order to link the resource string
to the environment in which the communication takes
place and/or disambiguate resource strings with the same content.
Context can be multiple substrings, concatenated with some separator.
'
example: frontpage,footer,verb
type: string
datetime_created:
description: The date the resource string was created.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
developer_comment:
description: 'Developer comment gives additional information about the usage of this
string and/or technical details relevant to this string.
'
example: Wrapped in a 30px width div
nullable: true
type: string
instructions:
description: Additional translation instructions. Usually provided if the `developer_comment` is not present or not sufficiently clear. The maximum length should be up to 1000 characters.
example: Please use causal language for translations.
maxLength: 1000
nullable: true
type: string
key:
description: 'The identifier of the resource string in it''s container.
In cases where two resource strings in the same container share the same key,
`context` is also used to disambiguate the identity of each resource string.
'
example: hello_world
type: string
metadata_datetime_modified:
description: The date the resource string's metadata were last updated. Examples of such attributes are `tags` and `character limit`.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
occurrences:
description: The occurrences of the resource string in the source code.
example: /my_project/templates/frontpage/hello.html:30
nullable: true
type: string
pluralized:
description: If the resource string is pluralized or not.
type: boolean
string_hash:
description: The hash of the resource string. This is calculated as the hexadecimal digest on the md5 hash of the concatenation of the key and the context. More info [here](https://help.transifex.com/en/articles/6649327-how-string-hashes-are-calculated).
example: 2e354ef120752c67afa1b6855aa80c52
type: string
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
strings_datetime_modified:
description: The date the resource string's content was last updated.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
tags:
description: List of tags for the resource string.
example:
- foo
- bar
items:
type: string
type: array
required:
- appearance_order
- key
- context
- strings
- tags
- occurrences
- developer_comment
- instructions
- character_limit
- pluralized
- string_hash
- datetime_created
- metadata_datetime_modified
- strings_datetime_modified
type: object
id:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
links:
additionalProperties: false
description: Resource String link.
properties:
self:
description: Resource String details link.
example: /resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
type: string
required:
- self
type: object
relationships:
additionalProperties: false
description: Resource String relationships.
properties:
committer:
additionalProperties: false
description: User object.
properties:
data:
description: User id.
properties:
id:
description: User identifier.
example: u:user_1
pattern: ^u:[\w.-]+$
type: string
type:
enum:
- users
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: User links.
properties:
related:
description: User details link.
example: /users/u:user_1
type: string
required:
- related
type: object
required:
- links
- data
type: object
language:
additionalProperties: false
description: Language object.
properties:
data:
additionalProperties: false
description: Language data container.
properties:
id:
description: Language identifier.
example: l:en_US
pattern: ^l:[a-zA-Z0-9@_.-]+$
type: string
type:
enum:
- languages
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Language related link.
properties:
related:
description: Language details link.
example: /languages/l:en_US
type: string
required:
- related
type: object
required:
- links
- data
type: object
resource:
additionalProperties: false
description: Resource object.
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Resource related link.
properties:
related:
description: Resource details link.
example: /resources/o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- related
type: object
required:
- links
- data
type: object
required:
- language
- resource
- committer
type: object
type:
enum:
- resource_strings
type: string
required:
- type
- id
- attributes
- relationships
- links
type: object
type: array
links:
additionalProperties: false
description: Pagination links.
properties:
next:
description: Resource String collection cursor link.
example: /resource_strings?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug&page[cursor]=XXX
nullable: true
type: string
previous:
description: Resource String collection cursor link.
example: /resource_strings?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug&page[cursor]=XXX
nullable: true
type: string
self:
description: Resource String details link.
example: /resource_strings?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- self
- next
- previous
type: object
required:
- links
- data
type: object
description: List of source strings for a given resource.
'400':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: invalid
type: string
detail:
example: Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens
type: string
source:
anyOf:
- properties:
pointer:
example: /data/attributes/name
type: string
- properties:
parameter:
example: ?filter[foo]
type: string
status:
example: '400'
type: string
title:
example: Field `name` is invalid
type: string
type: object
type: array
type: object
description: Invalid
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: invalid
type: string
detail:
example: Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens
type: string
source:
anyOf:
- properties:
pointer:
example: /data/attributes/name
type: string
- properties:
parameter:
example: ?filter[foo]
type: string
status:
example: '400'
type: string
title:
example: Field `name` is invalid
type: string
type: object
type: array
type: object
description: Invalid
'409':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: conflict
type: string
detail:
example: Value `some_field_value` already exists
type: string
source:
additionalProperties: false
properties:
pointer:
example: /data/attributes/some_field
type: string
type: object
status:
example: '409'
type: string
title:
example: Field `some_field` conflicted
type: string
type: object
type: array
type: object
description: Conflict
'429':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: Throttled
type: string
detail:
example: Request was throttled. Expected available in 60 seconds.
type: string
status:
example: '429'
type: string
title:
example: Throttled
type: string
type: object
type: array
type: object
description: Throttled
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
security:
- bearerAuth: []
summary: Get resource strings collection
tags:
- Resource Strings
x-released: true
patch:
requestBody:
content:
application/vnd.api+json;profile="bulk":
schema:
additionalProperties: false
properties:
data:
items:
additionalProperties: false
description: Update resource body request details.
properties:
attributes:
additionalProperties: false
minProperties: 1
properties:
character_limit:
description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
example: 100
maximum: 2147483647
minimum: 0
nullable: true
type: integer
instructions:
description: Additional translation instructions. Usually provided if the `developer_comment` is not present or not sufficiently clear. The maximum length should be up to 1000 characters.
example: Please use causal language for translations.
maxLength: 1000
nullable: true
type: string
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
This field only applies to resources that support the
[source string edit](https://help.transifex.com/en/articles/6236820-edit-source-strings-online)
functionality. Otherwise, a `400 Bad request` response will be
returned. Changing the source string does not remove its translations.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
tags:
description: List of tags for the resource string.
example:
- foo
- bar
items:
type: string
type: array
type: object
id:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
type:
enum:
- resource_strings
type: string
required:
- type
- id
- attributes
type: object
maxItems: 150
minItems: 1
type: array
uniqueItems: true
required:
- data
type: object
required: true
responses:
'200':
content:
application/vnd.api+json;profile="bulk":
schema:
additionalProperties: false
properties:
data:
items:
additionalProperties: false
properties:
attributes:
additionalProperties: false
description: Resource String attributes.
properties:
appearance_order:
description: 'The order that the resource string appears in it''s container.
In case of files appearance order is extracted automatically,
where in other cases this may be missing
'
nullable: true
type: integer
character_limit:
description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
example: 100
maximum: 2147483647
minimum: 0
nullable: true
type: integer
context:
description: 'Additional context added, in order to link the resource string
to the environment in which the communication takes
place and/or disambiguate resource strings with the same content.
Context can be multiple substrings, concatenated with some separator.
'
example: frontpage,footer,verb
type: string
datetime_created:
description: The date the resource string was created.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
developer_comment:
description: 'Developer comment gives additional information about the usage of this
string and/or technical details relevant to this string.
'
example: Wrapped in a 30px width div
nullable: true
type: string
instructions:
description: Additional translation instructions. Usually provided if the `developer_comment` is not present or not sufficiently clear. The maximum length should be up to 1000 characters.
example: Please use causal language for translations.
maxLength: 1000
nullable: true
type: string
key:
description: 'The identifier of the resource string in it''s container.
In cases where two resource strings in the same container share the same key,
`context` is also used to disambiguate the identity of each resource string.
'
example: hello_world
type: string
metadata_datetime_modified:
description: The date the resource string's metadata were last updated. Examples of such attributes are `tags` and `character limit`.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
occurrences:
description: The occurrences of the resource string in the source code.
example: /my_project/templates/frontpage/hello.html:30
nullable: true
type: string
pluralized:
description: If the resource string is pluralized or not.
type: boolean
string_hash:
description: The hash of the resource string. This is calculated as the hexadecimal digest on the md5 hash of the concatenation of the key and the context. More info [here](https://help.transifex.com/en/articles/6649327-how-string-hashes-are-calculated).
example: 2e354ef120752c67afa1b6855aa80c52
type: string
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
strings_datetime_modified:
description: The date the resource string's content was last updated.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
tags:
description: List of tags for the resource string.
example:
- foo
- bar
items:
type: string
type: array
required:
- appearance_order
- key
- context
- strings
- tags
- occurrences
- developer_comment
- instructions
- character_limit
- pluralized
- string_hash
- datetime_created
- metadata_datetime_modified
- strings_datetime_modified
type: object
id:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
links:
additionalProperties: false
description: Resource String link.
properties:
self:
description: Resource String details link.
example: /resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
type: string
required:
- self
type: object
relationships:
additionalProperties: false
description: Resource String relationships.
properties:
committer:
additionalProperties: false
description: User object.
properties:
data:
description: User id.
properties:
id:
description: User identifier.
example: u:user_1
pattern: ^u:[\w.-]+$
type: string
type:
enum:
- users
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: User links.
properties:
related:
description: User details link.
example: /users/u:user_1
type: string
required:
- related
type: object
required:
- links
- data
type: object
language:
additionalProperties: false
description: Language object.
properties:
data:
additionalProperties: false
description: Language data container.
properties:
id:
description: Language identifier.
example: l:en_US
pattern: ^l:[a-zA-Z0-9@_.-]+$
type: string
type:
enum:
- languages
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Language related link.
properties:
related:
description: Language details link.
example: /languages/l:en_US
type: string
required:
- related
type: object
required:
- links
- data
type: object
resource:
additionalProperties: false
description: Resource object.
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Resource related link.
properties:
related:
description: Resource details link.
example: /resources/o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- related
type: object
required:
- links
- data
type: object
required:
- language
- resource
- committer
type: object
type:
enum:
- resource_strings
type: string
required:
- type
- id
- attributes
- relationships
- links
type: object
type: array
links:
additionalProperties: false
properties:
profile:
enum:
- https://github.com/transifex/openapi/txapi_spec/bulk_profile.md
type: string
required:
- profile
type: object
required:
- data
- links
type: object
description: Successful response.
'400':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: invalid
type: string
detail:
example: Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens
type: string
source:
anyOf:
- properties:
pointer:
example: /data/attributes/name
type: string
- properties:
parameter:
example: ?filter[foo]
type: string
status:
example: '400'
type: string
title:
example: Field `name` is invalid
type: string
type: object
type: array
type: object
description: Invalid
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
properties:
code:
example: not found
type: string
detail:
example: Object not found. It may have been deleted or not been created yet
type: string
status:
example: '404'
type: string
title:
example: Object not found
type: string
type: object
type: array
type: object
description: Not found
'409':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: conflict
type: string
detail:
example: Value `some_field_value` already exists
type: string
source:
additionalProperties: false
properties:
pointer:
example: /data/attributes/some_field
type: string
type: object
status:
example: '409'
type: string
title:
example: Field `some_field` conflicted
type: string
type: object
type: array
type: object
description: Conflict
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
security:
- bearerAuth: []
summary: Bulk update a resource strings collection
tags:
- Resource Strings
x-released: true
post:
description: 'Create a new resource string. This path is valid only for file-less
resources.
'
requestBody:
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
description: Create resource string body request details.
properties:
attributes:
additionalProperties: false
properties:
appearance_order:
description: 'The order that the resource string appears in it''s container.
In case of files appearance order is extracted automatically,
where in other cases this may be missing
'
nullable: true
type: integer
character_limit:
description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
example: 100
maximum: 2147483647
minimum: 0
nullable: true
type: integer
context:
description: 'Additional context added, in order to link the resource string
to the environment in which the communication takes
place and/or disambiguate resource strings with the same content.
Context can be multiple substrings, concatenated with some separator.
'
example: frontpage,footer,verb
type: string
developer_comment:
description: 'Developer comment gives additional information about the usage of this
string and/or technical details relevant to this string.
'
example: Wrapped in a 30px width div
nullable: true
type: string
instructions:
description: Additional translation instructions. Usually provided if the `developer_comment` is not present or not sufficiently clear. The maximum length should be up to 1000 characters.
example: Please use causal language for translations.
maxLength: 1000
nullable: true
type: string
key:
description: 'The identifier of the resource string in it''s container.
In cases where two resource strings in the same container share the same key,
`context` is also used to disambiguate the identity of each resource string.
'
example: hello_world
type: string
occurrences:
description: The occurrences of the resource string in the source code.
example: /my_project/templates/frontpage/hello.html:30
nullable: true
type: string
pluralized:
description: If the resource string is pluralized or not.
type: boolean
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
tags:
description: List of tags for the resource string.
example:
- foo
- bar
items:
type: string
type: array
required:
- key
- context
- strings
type: object
relationships:
additionalProperties: false
description: Resource String parent relationships.
properties:
resource:
additionalProperties: false
description: The `resource` the created resource string should belong to.
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
required:
- data
type: object
required:
- resource
type: object
type:
enum:
- resource_strings
type: string
required:
- type
- attributes
- relationships
type: object
required:
- data
type: object
application/vnd.api+json;profile="bulk":
schema:
additionalProperties: false
properties:
data:
items:
additionalProperties: false
description: Create resource string body request details.
properties:
attributes:
additionalProperties: false
properties:
appearance_order:
description: 'The order that the resource string appears in it''s container.
In case of files appearance order is extracted automatically,
where in other cases this may be missing
'
nullable: true
type: integer
character_limit:
description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
example: 100
maximum: 2147483647
minimum: 0
nullable: true
type: integer
context:
description: 'Additional context added, in order to link the resource string
to the environment in which the communication takes
place and/or disambiguate resource strings with the same content.
Context can be multiple substrings, concatenated with some separator.
'
example: frontpage,footer,verb
type: string
developer_comment:
description: 'Developer comment gives additional information about the usage of this
string and/or technical details relevant to this string.
'
example: Wrapped in a 30px width div
nullable: true
type: string
instructions:
description: Additional translation instructions. Usually provided if the `developer_comment` is not present or not sufficiently clear. The maximum length should be up to 1000 characters.
example: Please use causal language for translations.
maxLength: 1000
nullable: true
type: string
key:
description: 'The identifier of the resource string in it''s container.
In cases where two resource strings in the same container share the same key,
`context` is also used to disambiguate the identity of each resource string.
'
example: hello_world
type: string
occurrences:
description: The occurrences of the resource string in the source code.
example: /my_project/templates/frontpage/hello.html:30
nullable: true
type: string
pluralized:
description: If the resource string is pluralized or not.
type: boolean
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
tags:
description: List of tags for the resource string.
example:
- foo
- bar
items:
type: string
type: array
required:
- key
- context
- strings
type: object
relationships:
additionalProperties: false
description: Resource String parent relationships.
properties:
resource:
additionalProperties: false
description: The `resource` the created resource string should belong to.
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
required:
- data
type: object
required:
- resource
type: object
type:
enum:
- resource_strings
type: string
required:
- type
- attributes
- relationships
type: object
maxItems: 150
minItems: 1
type: array
uniqueItems: true
required:
- data
type: object
description: '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: true
responses:
'201':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
properties:
attributes:
additionalProperties: false
description: Resource String attributes.
properties:
appearance_order:
description: 'The order that the resource string appears in it''s container.
In case of files appearance order is extracted automatically,
where in other cases this may be missing
'
nullable: true
type: integer
character_limit:
description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
example: 100
maximum: 2147483647
minimum: 0
nullable: true
type: integer
context:
description: 'Additional context added, in order to link the resource string
to the environment in which the communication takes
place and/or disambiguate resource strings with the same content.
Context can be multiple substrings, concatenated with some separator.
'
example: frontpage,footer,verb
type: string
datetime_created:
description: The date the resource string was created.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
developer_comment:
description: 'Developer comment gives additional information about the usage of this
string and/or technical details relevant to this string.
'
example: Wrapped in a 30px width div
nullable: true
type: string
instructions:
description: Additional translation instructions. Usually provided if the `developer_comment` is not present or not sufficiently clear. The maximum length should be up to 1000 characters.
example: Please use causal language for translations.
maxLength: 1000
nullable: true
type: string
key:
description: 'The identifier of the resource string in it''s container.
In cases where two resource strings in the same container share the same key,
`context` is also used to disambiguate the identity of each resource string.
'
example: hello_world
type: string
metadata_datetime_modified:
description: The date the resource string's metadata were last updated. Examples of such attributes are `tags` and `character limit`.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
occurrences:
description: The occurrences of the resource string in the source code.
example: /my_project/templates/frontpage/hello.html:30
nullable: true
type: string
pluralized:
description: If the resource string is pluralized or not.
type: boolean
string_hash:
description: The hash of the resource string. This is calculated as the hexadecimal digest on the md5 hash of the concatenation of the key and the context. More info [here](https://help.transifex.com/en/articles/6649327-how-string-hashes-are-calculated).
example: 2e354ef120752c67afa1b6855aa80c52
type: string
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
strings_datetime_modified:
description: The date the resource string's content was last updated.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
tags:
description: List of tags for the resource string.
example:
- foo
- bar
items:
type: string
type: array
required:
- appearance_order
- key
- context
- strings
- tags
- occurrences
- developer_comment
- instructions
- character_limit
- pluralized
- string_hash
- datetime_created
- metadata_datetime_modified
- strings_datetime_modified
type: object
id:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
links:
additionalProperties: false
description: Resource String link.
properties:
self:
description: Resource String details link.
example: /resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
type: string
required:
- self
type: object
relationships:
additionalProperties: false
description: Resource String relationships.
properties:
committer:
additionalProperties: false
description: User object.
properties:
data:
description: User id.
properties:
id:
description: User identifier.
example: u:user_1
pattern: ^u:[\w.-]+$
type: string
type:
enum:
- users
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: User links.
properties:
related:
description: User details link.
example: /users/u:user_1
type: string
required:
- related
type: object
required:
- links
- data
type: object
language:
additionalProperties: false
description: Language object.
properties:
data:
additionalProperties: false
description: Language data container.
properties:
id:
description: Language identifier.
example: l:en_US
pattern: ^l:[a-zA-Z0-9@_.-]+$
type: string
type:
enum:
- languages
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Language related link.
properties:
related:
description: Language details link.
example: /languages/l:en_US
type: string
required:
- related
type: object
required:
- links
- data
type: object
resource:
additionalProperties: false
description: Resource object.
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Resource related link.
properties:
related:
description: Resource details link.
example: /resources/o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- related
type: object
required:
- links
- data
type: object
required:
- language
- resource
- committer
type: object
type:
enum:
- resource_strings
type: string
required:
- type
- id
- attributes
- relationships
- links
type: object
type: object
application/vnd.api+json;profile="bulk":
schema:
additionalProperties: false
properties:
data:
items:
additionalProperties: false
properties:
attributes:
additionalProperties: false
description: Resource String attributes.
properties:
appearance_order:
description: 'The order that the resource string appears in it''s container.
In case of files appearance order is extracted automatically,
where in other cases this may be missing
'
nullable: true
type: integer
character_limit:
description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
example: 100
maximum: 2147483647
minimum: 0
nullable: true
type: integer
context:
description: 'Additional context added, in order to link the resource string
to the environment in which the communication takes
place and/or disambiguate resource strings with the same content.
Context can be multiple substrings, concatenated with some separator.
'
example: frontpage,footer,verb
type: string
datetime_created:
description: The date the resource string was created.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
developer_comment:
description: 'Developer comment gives additional information about the usage of this
string and/or technical details relevant to this string.
'
example: Wrapped in a 30px width div
nullable: true
type: string
instructions:
description: Additional translation instructions. Usually provided if the `developer_comment` is not present or not sufficiently clear. The maximum length should be up to 1000 characters.
example: Please use causal language for translations.
maxLength: 1000
nullable: true
type: string
key:
description: 'The identifier of the resource string in it''s container.
In cases where two resource strings in the same container share the same key,
`context` is also used to disambiguate the identity of each resource string.
'
example: hello_world
type: string
metadata_datetime_modified:
description: The date the resource string's metadata were last updated. Examples of such attributes are `tags` and `character limit`.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
occurrences:
description: The occurrences of the resource string in the source code.
example: /my_project/templates/frontpage/hello.html:30
nullable: true
type: string
pluralized:
description: If the resource string is pluralized or not.
type: boolean
string_hash:
description: The hash of the resource string. This is calculated as the hexadecimal digest on the md5 hash of the concatenation of the key and the context. More info [here](https://help.transifex.com/en/articles/6649327-how-string-hashes-are-calculated).
example: 2e354ef120752c67afa1b6855aa80c52
type: string
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
strings_datetime_modified:
description: The date the resource string's content was last updated.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
tags:
description: List of tags for the resource string.
example:
- foo
- bar
items:
type: string
type: array
required:
- appearance_order
- key
- context
- strings
- tags
- occurrences
- developer_comment
- instructions
- character_limit
- pluralized
- string_hash
- datetime_created
- metadata_datetime_modified
- strings_datetime_modified
type: object
id:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
links:
additionalProperties: false
description: Resource String link.
properties:
self:
description: Resource String details link.
example: /resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
type: string
required:
- self
type: object
relationships:
additionalProperties: false
description: Resource String relationships.
properties:
committer:
additionalProperties: false
description: User object.
properties:
data:
description: User id.
properties:
id:
description: User identifier.
example: u:user_1
pattern: ^u:[\w.-]+$
type: string
type:
enum:
- users
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: User links.
properties:
related:
description: User details link.
example: /users/u:user_1
type: string
required:
- related
type: object
required:
- links
- data
type: object
language:
additionalProperties: false
description: Language object.
properties:
data:
additionalProperties: false
description: Language data container.
properties:
id:
description: Language identifier.
example: l:en_US
pattern: ^l:[a-zA-Z0-9@_.-]+$
type: string
type:
enum:
- languages
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Language related link.
properties:
related:
description: Language details link.
example: /languages/l:en_US
type: string
required:
- related
type: object
required:
- links
- data
type: object
resource:
additionalProperties: false
description: Resource object.
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Resource related link.
properties:
related:
description: Resource details link.
example: /resources/o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- related
type: object
required:
- links
- data
type: object
required:
- language
- resource
- committer
type: object
type:
enum:
- resource_strings
type: string
required:
- type
- id
- attributes
- relationships
- links
type: object
type: array
type: object
description: Created.
headers:
Location:
required: true
schema:
example: /resource_string/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
type: string
'400':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: invalid
type: string
detail:
example: Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens
type: string
source:
anyOf:
- properties:
pointer:
example: /data/attributes/name
type: string
- properties:
parameter:
example: ?filter[foo]
type: string
status:
example: '400'
type: string
title:
example: Field `name` is invalid
type: string
type: object
type: array
type: object
description: Invalid
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
properties:
code:
example: not found
type: string
detail:
example: Object not found. It may have been deleted or not been created yet
type: string
status:
example: '404'
type: string
title:
example: Object not found
type: string
type: object
type: array
type: object
description: Not found
'409':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: conflict
type: string
detail:
example: 'A resource string with key ''some_key'' and context
''[''some context'']'' already exists
'
type: string
source:
additionalProperties: false
properties:
pointer:
example: /data/attributes
type: string
type: object
status:
example: '409'
type: string
title:
example: Conflict error
type: string
type: object
type: array
type: object
application/vnd.api+json;profile="bulk":
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: conflict
type: string
detail:
example: 'A resource string with key ''some_key'' and context
''[''some context'']'' already exists
'
type: string
source:
additionalProperties: false
properties:
pointer:
example: /data/5/attributes
type: string
type: object
status:
example: '409'
type: string
title:
example: Conflict error
type: string
type: object
type: array
type: object
description: Conflict
'429':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: Throttled
type: string
detail:
example: Request was throttled. Expected available in 60 seconds.
type: string
status:
example: '429'
type: string
title:
example: Throttled
type: string
type: object
type: array
type: object
description: Throttled
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
security:
- bearerAuth: []
summary: Create resource string
tags:
- Resource Strings
x-released: true
/resource_strings/{resource_string_id}:
parameters:
- description: Format of the Resource String id should be `o:organization_slug:p:project_slug:r:resource_slug:s:string_hash`.
in: path
name: resource_string_id
required: true
schema:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
delete:
description: 'Delete a resource string.
Available only for file-less resources.
'
responses:
'204':
description: No Content
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
properties:
code:
example: not found
type: string
detail:
example: Object not found. It may have been deleted or not been created yet
type: string
status:
example: '404'
type: string
title:
example: Object not found
type: string
type: object
type: array
type: object
description: Not found
'409':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: conflict
type: string
detail:
example: Value `some_field_value` already exists
type: string
source:
additionalProperties: false
properties:
pointer:
example: /data/attributes/some_field
type: string
type: object
status:
example: '409'
type: string
title:
example: Field `some_field` conflicted
type: string
type: object
type: array
type: object
description: Conflict
'429':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: Throttled
type: string
detail:
example: Request was throttled. Expected available in 60 seconds.
type: string
status:
example: '429'
type: string
title:
example: Throttled
type: string
type: object
type: array
type: object
description: Throttled
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
security:
- bearerAuth: []
summary: Delete resource string
tags:
- Resource Strings
x-released: true
get:
description: Get the details of a specific resource string.
responses:
'200':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
properties:
attributes:
additionalProperties: false
description: Resource String attributes.
properties:
appearance_order:
description: 'The order that the resource string appears in it''s container.
In case of files appearance order is extracted automatically,
where in other cases this may be missing
'
nullable: true
type: integer
character_limit:
description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
example: 100
maximum: 2147483647
minimum: 0
nullable: true
type: integer
context:
description: 'Additional context added, in order to link the resource string
to the environment in which the communication takes
place and/or disambiguate resource strings with the same content.
Context can be multiple substrings, concatenated with some separator.
'
example: frontpage,footer,verb
type: string
datetime_created:
description: The date the resource string was created.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
developer_comment:
description: 'Developer comment gives additional information about the usage of this
string and/or technical details relevant to this string.
'
example: Wrapped in a 30px width div
nullable: true
type: string
instructions:
description: Additional translation instructions. Usually provided if the `developer_comment` is not present or not sufficiently clear. The maximum length should be up to 1000 characters.
example: Please use causal language for translations.
maxLength: 1000
nullable: true
type: string
key:
description: 'The identifier of the resource string in it''s container.
In cases where two resource strings in the same container share the same key,
`context` is also used to disambiguate the identity of each resource string.
'
example: hello_world
type: string
metadata_datetime_modified:
description: The date the resource string's metadata were last updated. Examples of such attributes are `tags` and `character limit`.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
occurrences:
description: The occurrences of the resource string in the source code.
example: /my_project/templates/frontpage/hello.html:30
nullable: true
type: string
pluralized:
description: If the resource string is pluralized or not.
type: boolean
string_hash:
description: The hash of the resource string. This is calculated as the hexadecimal digest on the md5 hash of the concatenation of the key and the context. More info [here](https://help.transifex.com/en/articles/6649327-how-string-hashes-are-calculated).
example: 2e354ef120752c67afa1b6855aa80c52
type: string
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
strings_datetime_modified:
description: The date the resource string's content was last updated.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
tags:
description: List of tags for the resource string.
example:
- foo
- bar
items:
type: string
type: array
required:
- appearance_order
- key
- context
- strings
- tags
- occurrences
- developer_comment
- instructions
- character_limit
- pluralized
- string_hash
- datetime_created
- metadata_datetime_modified
- strings_datetime_modified
type: object
id:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
links:
additionalProperties: false
description: Resource String link.
properties:
self:
description: Resource String details link.
example: /resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
type: string
required:
- self
type: object
relationships:
additionalProperties: false
description: Resource String relationships.
properties:
committer:
additionalProperties: false
description: User object.
properties:
data:
description: User id.
properties:
id:
description: User identifier.
example: u:user_1
pattern: ^u:[\w.-]+$
type: string
type:
enum:
- users
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: User links.
properties:
related:
description: User details link.
example: /users/u:user_1
type: string
required:
- related
type: object
required:
- links
- data
type: object
language:
additionalProperties: false
description: Language object.
properties:
data:
additionalProperties: false
description: Language data container.
properties:
id:
description: Language identifier.
example: l:en_US
pattern: ^l:[a-zA-Z0-9@_.-]+$
type: string
type:
enum:
- languages
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Language related link.
properties:
related:
description: Language details link.
example: /languages/l:en_US
type: string
required:
- related
type: object
required:
- links
- data
type: object
resource:
additionalProperties: false
description: Resource object.
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Resource related link.
properties:
related:
description: Resource details link.
example: /resources/o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- related
type: object
required:
- links
- data
type: object
required:
- language
- resource
- committer
type: object
type:
enum:
- resource_strings
type: string
required:
- type
- id
- attributes
- relationships
- links
type: object
required:
- data
type: object
description: Successful response.
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
properties:
code:
example: not found
type: string
detail:
example: Object not found. It may have been deleted or not been created yet
type: string
status:
example: '404'
type: string
title:
example: Object not found
type: string
type: object
type: array
type: object
description: Not found
'429':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: Throttled
type: string
detail:
example: Request was throttled. Expected available in 60 seconds.
type: string
status:
example: '429'
type: string
title:
example: Throttled
type: string
type: object
type: array
type: object
description: Throttled
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
security:
- bearerAuth: []
summary: Get resource string details
tags:
- Resource Strings
x-released: true
patch:
requestBody:
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
description: Update resource body request details.
properties:
attributes:
additionalProperties: false
minProperties: 1
properties:
character_limit:
description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
example: 100
maximum: 2147483647
minimum: 0
nullable: true
type: integer
instructions:
description: Additional translation instructions. Usually provided if the `developer_comment` is not present or not sufficiently clear. The maximum length should be up to 1000 characters.
example: Please use causal language for translations.
maxLength: 1000
nullable: true
type: string
keep_translations:
default: true
description: 'Option to keep translations if a source string with the same key
changes.
'
example: false
type: boolean
x-released: true
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
This field only applies to resources that support the
[source string edit](https://help.transifex.com/en/articles/6236820-edit-source-strings-online)
functionality. Otherwise, a `400 Bad request` response will be
returned. Changing the source string does not remove its translations.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
tags:
description: List of tags for the resource string.
example:
- foo
- bar
items:
type: string
type: array
type: object
id:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
type:
enum:
- resource_strings
type: string
required:
- type
- id
- attributes
type: object
required:
- data
type: object
required: true
responses:
'200':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
properties:
attributes:
additionalProperties: false
description: Resource String attributes.
properties:
appearance_order:
description: 'The order that the resource string appears in it''s container.
In case of files appearance order is extracted automatically,
where in other cases this may be missing
'
nullable: true
type: integer
character_limit:
description: The maximum translation string character length, excluding variables. Use value 0 to remove the existing character limit.
example: 100
maximum: 2147483647
minimum: 0
nullable: true
type: integer
context:
description: 'Additional context added, in order to link the resource string
to the environment in which the communication takes
place and/or disambiguate resource strings with the same content.
Context can be multiple substrings, concatenated with some separator.
'
example: frontpage,footer,verb
type: string
datetime_created:
description: The date the resource string was created.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
developer_comment:
description: 'Developer comment gives additional information about the usage of this
string and/or technical details relevant to this string.
'
example: Wrapped in a 30px width div
nullable: true
type: string
instructions:
description: Additional translation instructions. Usually provided if the `developer_comment` is not present or not sufficiently clear. The maximum length should be up to 1000 characters.
example: Please use causal language for translations.
maxLength: 1000
nullable: true
type: string
key:
description: 'The identifier of the resource string in it''s container.
In cases where two resource strings in the same container share the same key,
`context` is also used to disambiguate the identity of each resource string.
'
example: hello_world
type: string
metadata_datetime_modified:
description: The date the resource string's metadata were last updated. Examples of such attributes are `tags` and `character limit`.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
occurrences:
description: The occurrences of the resource string in the source code.
example: /my_project/templates/frontpage/hello.html:30
nullable: true
type: string
pluralized:
description: If the resource string is pluralized or not.
type: boolean
string_hash:
description: The hash of the resource string. This is calculated as the hexadecimal digest on the md5 hash of the concatenation of the key and the context. More info [here](https://help.transifex.com/en/articles/6649327-how-string-hashes-are-calculated).
example: 2e354ef120752c67afa1b6855aa80c52
type: string
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
strings_datetime_modified:
description: The date the resource string's content was last updated.
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
tags:
description: List of tags for the resource string.
example:
- foo
- bar
items:
type: string
type: array
required:
- appearance_order
- key
- context
- strings
- tags
- occurrences
- developer_comment
- instructions
- character_limit
- pluralized
- string_hash
- datetime_created
- metadata_datetime_modified
- strings_datetime_modified
type: object
id:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
links:
additionalProperties: false
description: Resource String link.
properties:
self:
description: Resource String details link.
example: /resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
type: string
required:
- self
type: object
relationships:
additionalProperties: false
description: Resource String relationships.
properties:
committer:
additionalProperties: false
description: User object.
properties:
data:
description: User id.
properties:
id:
description: User identifier.
example: u:user_1
pattern: ^u:[\w.-]+$
type: string
type:
enum:
- users
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: User links.
properties:
related:
description: User details link.
example: /users/u:user_1
type: string
required:
- related
type: object
required:
- links
- data
type: object
language:
additionalProperties: false
description: Language object.
properties:
data:
additionalProperties: false
description: Language data container.
properties:
id:
description: Language identifier.
example: l:en_US
pattern: ^l:[a-zA-Z0-9@_.-]+$
type: string
type:
enum:
- languages
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Language related link.
properties:
related:
description: Language details link.
example: /languages/l:en_US
type: string
required:
- related
type: object
required:
- links
- data
type: object
resource:
additionalProperties: false
description: Resource object.
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Resource related link.
properties:
related:
description: Resource details link.
example: /resources/o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- related
type: object
required:
- links
- data
type: object
required:
- language
- resource
- committer
type: object
type:
enum:
- resource_strings
type: string
required:
- type
- id
- attributes
- relationships
- links
type: object
required:
- data
type: object
description: Successful response.
'400':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: invalid
type: string
detail:
example: Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens
type: string
source:
anyOf:
- properties:
pointer:
example: /data/attributes/name
type: string
- properties:
parameter:
example: ?filter[foo]
type: string
status:
example: '400'
type: string
title:
example: Field `name` is invalid
type: string
type: object
type: array
type: object
description: Invalid
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
properties:
code:
example: not found
type: string
detail:
example: Object not found. It may have been deleted or not been created yet
type: string
status:
example: '404'
type: string
title:
example: Object not found
type: string
type: object
type: array
type: object
description: Not found
'409':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: conflict
type: string
detail:
example: Value `some_field_value` already exists
type: string
source:
additionalProperties: false
properties:
pointer:
example: /data/attributes/some_field
type: string
type: object
status:
example: '409'
type: string
title:
example: Field `some_field` conflicted
type: string
type: object
type: array
type: object
description: Conflict
'429':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: Throttled
type: string
detail:
example: Request was throttled. Expected available in 60 seconds.
type: string
status:
example: '429'
type: string
title:
example: Throttled
type: string
type: object
type: array
type: object
description: Throttled
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
security:
- bearerAuth: []
summary: Update resource string
tags:
- Resource Strings
x-released: true
/resource_strings_async_downloads:
summary: Create a source file download action
post:
description: 'The response represents the file download job. Check the job''s status
and download the file itself once that is completed.
'
requestBody:
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
description: Create resource string download body request details.
properties:
attributes:
additionalProperties: false
description: Resource strings async download attributes
properties:
callback_url:
default: null
description: 'The url that will be called when the processing is completed.
For more details about callback_url you can refer to [Asynchronous Processing](#section/Asynchronous-Processing) section
'
format: uri
nullable: true
type: string
content_encoding:
default: text
description: The encoding of the file.
enum:
- text
- base64
type: string
file_type:
default: default
description: The file type.
enum:
- default
- xliff
type: string
pseudo:
default: false
description: 'Generate mock string translations with a ~20% default length increase in characters.
More about pseudo-localization: https://help.transifex.com/en/articles/6231812-testing-localized-apps-with-pseudo-files.
'
type: boolean
pseudo_length_increase:
description: 'Length increase percentage of mock string translations.
Applied only when pseudo flag is True. Overrides default pseudo length.
'
maximum: 100
minimum: 1
nullable: true
type: integer
relationships:
additionalProperties: false
description: Resource strings download parent relationships.
properties:
resource:
additionalProperties: false
description: The `resource` for which a source file is downloaded.
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
required:
- data
type: object
required:
- resource
type: object
type:
enum:
- resource_strings_async_downloads
type: string
required:
- type
- relationships
type: object
required:
- data
type: object
required: true
responses:
'202':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
properties:
attributes:
additionalProperties: false
properties:
date_created:
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
date_modified:
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
errors:
items:
additionalProperties: false
properties:
code:
example: parse_error
type: string
detail:
example: Could not decode JSON object
type: string
required:
- code
- detail
type: object
type: array
status:
enum:
- pending
- processing
- failed
example: failed
type: string
required:
- status
- errors
- date_created
- date_modified
type: object
id:
example: 4abfc726-6a27-4c33-9d99-e5254c8df748
pattern: ^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
type: string
links:
additionalProperties: false
properties:
self:
example: /resource_strings_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748
type: string
required:
- self
type: object
relationships:
additionalProperties: false
properties:
resource:
additionalProperties: false
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Resource related link.
properties:
related:
description: Resource details link.
example: /resources/o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- related
type: object
required:
- links
- data
type: object
required:
- resource
type: object
type:
enum:
- resource_strings_async_downloads
type: string
required:
- type
- id
- attributes
- relationships
- links
type: object
required:
- data
type: object
description: Accepted.
headers:
Content-Location:
description: The location of the source download.
required: true
schema:
type: string
'400':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: invalid
type: string
detail:
example: Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens
type: string
source:
anyOf:
- properties:
pointer:
example: /data/attributes/name
type: string
- properties:
parameter:
example: ?filter[foo]
type: string
status:
example: '400'
type: string
title:
example: Field `name` is invalid
type: string
type: object
type: array
type: object
description: Invalid
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
properties:
code:
example: not found
type: string
detail:
example: Object not found. It may have been deleted or not been created yet
type: string
status:
example: '404'
type: string
title:
example: Object not found
type: string
type: object
type: array
type: object
description: Not found
'409':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: conflict
type: string
detail:
example: Value `some_field_value` already exists
type: string
source:
additionalProperties: false
properties:
pointer:
example: /data/attributes/some_field
type: string
type: object
status:
example: '409'
type: string
title:
example: Field `some_field` conflicted
type: string
type: object
type: array
type: object
description: Conflict
'429':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: Throttled
type: string
detail:
example: Request was throttled. Expected available in 60 seconds.
type: string
status:
example: '429'
type: string
title:
example: Throttled
type: string
type: object
type: array
type: object
description: Throttled
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
security:
- bearerAuth: []
summary: Create a source file download action
tags:
- Resource Strings
x-released: true
/resource_strings_async_downloads/{resource_strings_async_download_id}:
summary: Get resource strings download status
get:
description: "With this endpoint, you can inquire about the status of a resource strings download job.\n\n- If the value of the 'status' attribute is 'pending' or 'processing', you\n should check this endpoint again later.\n- If the 'status' is 'failed', the source file has failed to be compiled.\n- In case the download job has been successful, you will receive a \"303 - See\n Other\" response and you can follow its `Location` to [download the file](#tag/File-Downloads/paths/get)\n that have been extracted from your file.\n"
parameters:
- description: Format of the resource_strings_async_download_id should be `o:organization_slug:p:project_slug:r:resource_slug`.
in: path
name: resource_strings_async_download_id
required: true
schema:
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
responses:
'200':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
properties:
attributes:
additionalProperties: false
properties:
date_created:
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
date_modified:
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
errors:
items:
additionalProperties: false
properties:
code:
example: parse_error
type: string
detail:
example: Could not decode JSON object
type: string
required:
- code
- detail
type: object
type: array
status:
enum:
- pending
- processing
- failed
example: failed
type: string
required:
- status
- errors
- date_created
- date_modified
type: object
id:
example: 4abfc726-6a27-4c33-9d99-e5254c8df748
pattern: ^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
type: string
links:
additionalProperties: false
properties:
self:
example: /resource_strings_async_downloads/4abfc726-6a27-4c33-9d99-e5254c8df748
type: string
required:
- self
type: object
relationships:
additionalProperties: false
properties:
resource:
additionalProperties: false
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Resource related link.
properties:
related:
description: Resource details link.
example: /resources/o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- related
type: object
required:
- links
- data
type: object
required:
- resource
type: object
type:
enum:
- resource_strings_async_downloads
type: string
required:
- type
- id
- attributes
- relationships
- links
type: object
required:
- data
type: object
description: Successful response.
'303':
content:
application/vnd.api+json:
schema: {}
description: See other
headers:
Location:
description: The location of the source file.
required: true
schema:
example: https://storage.svc.transifex.net/files/663a7a83-cb15-4c72-a37d-125dfb8432a6-file?auth=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZXMiOiJkb3dubG9hZCIsIm1ldGFkYXRhIjpudWxsLCJmaWxlX2lkcyI6IjY2M2E3YTgzLWNiMTUtNGM3Mi1hMzdkLTEyNWRmYjg0MzJhNi1maWxlIiwiZXhwIjoxNTg0NzE3NTkzLCJwcm92aWRlciI6InR4YyJ9.IHgLS4gtL0A6YZd-2zKkrg__geitcvs9DV8LcE8-1io
type: string
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
properties:
code:
example: not found
type: string
detail:
example: Object not found. It may have been deleted or not been created yet
type: string
status:
example: '404'
type: string
title:
example: Object not found
type: string
type: object
type: array
type: object
description: Not found
'429':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: Throttled
type: string
detail:
example: Request was throttled. Expected available in 60 seconds.
type: string
status:
example: '429'
type: string
title:
example: Throttled
type: string
type: object
type: array
type: object
description: Throttled
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
security:
- bearerAuth: []
summary: Get resource strings download status
tags:
- Resource Strings
x-released: true
/resource_strings_async_uploads:
summary: Upload a new source file for a resource.
post:
description: 'For more details about File uploads you can refer to [File Uploads](#section/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}](#tag/Resource-Strings/paths/~1resource_strings_async_uploads~1{resource_strings_async_upload_id}/get)
endpoint.
'
requestBody:
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
description: Create source upload body request details.
properties:
attributes:
additionalProperties: false
description: Source Upload attributes attributes
properties:
callback_url:
default: null
description: 'The url that will be called when the processing is completed.
For more details about callback_url you can refer to [Asynchronous Processing](#section/Asynchronous-Processing) section
'
format: uri
nullable: true
type: string
content:
description: The file to upload json or base64 encoded.
example: '{"hello": "transifex"}'
type: string
content_encoding:
description: The encoding of the file.
enum:
- text
- base64
type: string
keep_translations:
default: false
description: Option to keep translations if a source string with the same key changes.
example: false
type: boolean
purge_added_strings:
default: false
description: Option to remove source strings that were added from the editor and were not uploaded as part of a file.
example: false
type: boolean
replace_edited_strings:
default: false
description: "Option to replace edited strings. \nIf true, updated strings modified in the editor will be overwritten.\n"
example: false
type: boolean
required:
- content
- content_encoding
relationships:
additionalProperties: false
description: Source Upload parent relationships.
properties:
resource:
additionalProperties: false
description: The `resource` source upload should belong to.
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
required:
- data
type: object
required:
- resource
type: object
type:
enum:
- resource_strings_async_uploads
type: string
required:
- type
- attributes
- relationships
type: object
required:
- data
type: object
multipart/form-data:
schema:
additionalProperties: false
properties:
callback_url:
default: null
description: 'The url that will be called when the processing is completed.
For more details about callback_url you can refer to [Asynchronous Processing](#section/Asynchronous-Processing) section
'
format: uri
nullable: true
type: string
content:
description: The file to upload.
example: FILE
format: binary
type: string
keep_translations:
default: false
description: Option to keep translations if a source string with the same key changes.
example: false
type: boolean
purge_added_strings:
default: false
description: Option to remove source strings that were added from the editor and were not uploaded as part of a file.
example: false
type: boolean
replace_edited_strings:
default: false
description: "Option to replace edited strings. \nIf true, updated strings modified in the editor will be overwritten.\n"
example: false
type: boolean
resource:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
required:
- content
- resource
required: true
responses:
'202':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
properties:
attributes:
additionalProperties: false
properties:
date_created:
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
date_modified:
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
details:
additionalProperties: false
nullable: true
properties:
strings_created:
type: integer
strings_deleted:
type: integer
strings_skipped:
type: integer
strings_updated:
type: integer
required:
- strings_created
- strings_updated
- strings_skipped
- strings_deleted
type: object
errors:
items:
additionalProperties: false
properties:
code:
example: parse_error
type: string
detail:
example: Could not decode JSON object
type: string
required:
- code
- detail
type: object
type: array
status:
enum:
- pending
- processing
- failed
- succeeded
example: failed
type: string
required:
- status
- errors
- date_created
- date_modified
type: object
id:
example: 4abfc726-6a27-4c33-9d99-e5254c8df748
pattern: ^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
type: string
links:
additionalProperties: false
properties:
self:
example: /resource_strings_async_uploads/4abfc726-6a27-4c33-9d99-e5254c8df748
type: string
required:
- self
type: object
relationships:
additionalProperties: false
properties:
resource:
additionalProperties: false
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Resource related link.
properties:
related:
description: Resource details link.
example: /resources/o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- related
type: object
required:
- links
- data
type: object
required:
- resource
type: object
type:
enum:
- resource_strings_async_uploads
type: string
required:
- type
- id
- attributes
- relationships
- links
type: object
required:
- data
type: object
description: Accepted.
headers:
Content-Location:
description: The location of the source upload.
required: true
schema:
type: string
'400':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: invalid
type: string
detail:
example: Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens
type: string
source:
anyOf:
- properties:
pointer:
example: /data/attributes/name
type: string
- properties:
parameter:
example: ?filter[foo]
type: string
status:
example: '400'
type: string
title:
example: Field `name` is invalid
type: string
type: object
type: array
type: object
description: Invalid
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
properties:
code:
example: not found
type: string
detail:
example: Object not found. It may have been deleted or not been created yet
type: string
status:
example: '404'
type: string
title:
example: Object not found
type: string
type: object
type: array
type: object
description: Not found
'409':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: conflict
type: string
detail:
example: Value `some_field_value` already exists
type: string
source:
additionalProperties: false
properties:
pointer:
example: /data/attributes/some_field
type: string
type: object
status:
example: '409'
type: string
title:
example: Field `some_field` conflicted
type: string
type: object
type: array
type: object
description: Conflict
'429':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: Throttled
type: string
detail:
example: Request was throttled. Expected available in 60 seconds.
type: string
status:
example: '429'
type: string
title:
example: Throttled
type: string
type: object
type: array
type: object
description: Throttled
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
security:
- bearerAuth: []
summary: Upload a new source file for a resource.
tags:
- Resource Strings
x-released: true
/resource_strings_async_uploads/{resource_strings_async_upload_id}:
summary: Get source upload
get:
description: "With this endpoint, you can inquire about the status of a source upload job.\n\n- If the value of the 'status' attribute is 'pending' or 'processing', you\n should check this endpoint again later.\n- If the 'status' is 'failed', the content has failed to be uploaded to the\n resource.\n- If the 'status' is 'succeeded', you can get more details about the number\n of strings created, deleted, skipped and updated in the `details` attribute\n of the response.\n"
parameters:
- description: Format of the resource_strings_async_upload_id should be a UUID.
in: path
name: resource_strings_async_upload_id
required: true
schema:
example: 4abfc726-6a27-4c33-9d99-e5254c8df748
pattern: ^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
type: string
responses:
'200':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
additionalProperties: false
properties:
attributes:
additionalProperties: false
properties:
date_created:
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
date_modified:
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
details:
additionalProperties: false
nullable: true
properties:
strings_created:
type: integer
strings_deleted:
type: integer
strings_skipped:
type: integer
strings_updated:
type: integer
required:
- strings_created
- strings_updated
- strings_skipped
- strings_deleted
type: object
errors:
items:
additionalProperties: false
properties:
code:
example: parse_error
type: string
detail:
example: Could not decode JSON object
type: string
required:
- code
- detail
type: object
type: array
status:
enum:
- pending
- processing
- failed
- succeeded
example: failed
type: string
required:
- status
- errors
- date_created
- date_modified
type: object
id:
example: 4abfc726-6a27-4c33-9d99-e5254c8df748
pattern: ^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
type: string
links:
additionalProperties: false
properties:
self:
example: /resource_strings_async_uploads/4abfc726-6a27-4c33-9d99-e5254c8df748
type: string
required:
- self
type: object
relationships:
additionalProperties: false
properties:
resource:
additionalProperties: false
properties:
data:
additionalProperties: false
description: Resource data container.
properties:
id:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
type:
enum:
- resources
type: string
required:
- type
- id
type: object
links:
additionalProperties: false
description: Resource related link.
properties:
related:
description: Resource details link.
example: /resources/o:organization_slug:p:project_slug:r:resource_slug
type: string
required:
- related
type: object
required:
- links
- data
type: object
required:
- resource
type: object
type:
enum:
- resource_strings_async_uploads
type: string
required:
- type
- id
- attributes
- relationships
- links
type: object
required:
- data
type: object
description: Successful response.
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
properties:
code:
example: not found
type: string
detail:
example: Object not found. It may have been deleted or not been created yet
type: string
status:
example: '404'
type: string
title:
example: Object not found
type: string
type: object
type: array
type: object
description: Not found
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
security:
- bearerAuth: []
summary: Get source upload
tags:
- Resource Strings
x-released: true
/resource_strings_revisions:
summary: Get revisions of resource strings
get:
description: Get revisions of resource strings
parameters:
- description: Filter results by a resource
in: query
name: filter[resource_string][resource]
required: true
schema:
description: Resource identifier.
example: o:organization_slug:p:project_slug:r:resource_slug
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+$
type: string
- description: Exact match for the key of the resource string. This filter is case sensitive.
in: query
name: filter[resource_string][key]
required: false
schema:
example: hello_world
minLength: 1
type: string
- description: Retrieve source strings revisions containing all of the query tags.
explode: false
in: query
name: filter[resource_string][tags][all]
required: false
schema:
items:
type: string
minItems: 1
type: array
style: form
- description: 'The cursor used for pagination. The value of the cursor must be retrieved from pagination links included in previous responses; you should not attempt to write them on your own.
'
in: query
name: page[cursor]
schema:
type: string
- description: The page size limit. If not set, the default value is 150.
If set, the minimum value it can take is 150 and the maximum 1000.
in: query
name: limit
schema:
example: 150
nullable: true
type: string
responses:
'200':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
data:
items:
additionalProperties: false
properties:
attributes:
additionalProperties: false
properties:
date_created:
example: XXXX-XX-XXTXX:XX:XXZ
format: date-time
type: string
strings:
additionalProperties: false
description: 'Dictionary with the translation content.
For pluralized resource strings, the keys should be all the
available plural rules for source language, as defined in CLDR,
and the values the actual content for each plural rule.
For non-pluralized resource strings, only the default plural rule
(''other'') is required.
'
example:
one: hello
other: world
properties:
few:
type: string
many:
type: string
one:
type: string
other:
type: string
two:
type: string
zero:
type: string
required:
- other
type: object
required:
- strings
- date_created
type: object
id:
description: Resource Strings Revisions identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52:v:2022-01-19T14:34:24UTC
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}:v:[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}UTC
type: string
relationships:
additionalProperties: false
description: Resource Strings Revisions relationships.
properties:
resource_string:
additionalProperties: false
description: Resource object.
properties:
data:
additionalProperties: false
properties:
id:
description: Resource String identifier.
example: o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
pattern: ^o:[a-zA-Z0-9._-]+:p:[a-zA-Z0-9_-]+:r:[a-zA-Z0-9_-]+:s:[0-9a-f]{32}
type: string
type:
enum:
- resource_strings
type: string
required:
- id
- type
type: object
links:
additionalProperties: false
properties:
related:
description: Resource String details link.
example: /resource_strings/o:organization_slug:p:project_slug:r:resource_slug:s:2e354ef120752c67afa1b6855aa80c52
type: string
required:
- related
type: object
required:
- data
- links
type: object
required:
- resource_string
type: object
type:
enum:
- resource_strings_revisions
type: string
required:
- type
- id
- attributes
- relationships
type: object
type: array
links:
additionalProperties: false
description: Pagination links.
properties:
next:
description: Resource results cursor link.
example: /resource_strings_revisions?filter[resource_string][resource]=o:organization:p:project_slug:r:resource_slug&filter[key]=key&page[cursor]=XXX
nullable: true
type: string
previous:
description: Resource results cursor link.
example: /resource_strings_revisions?filter[resource_string][resource]=o:organization:p:project_slug:r:resource_slug&filter[key]=key&page[cursor]=XXX
nullable: true
type: string
self:
description: Resource Strings Revisions details link.
example: /resource_strings_revisions?filter[resource_string][resource]=o:organization:p:project_slug:r:resource_slug&filter[key]=key
type: string
required:
- self
- next
- previous
type: object
required:
- data
type: object
description: Successful response.
'400':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: invalid
type: string
detail:
example: Enter a valid `name` consisting of Unicode letters, numbers, underscores, or hyphens
type: string
source:
anyOf:
- properties:
pointer:
example: /data/attributes/name
type: string
- properties:
parameter:
example: ?filter[foo]
type: string
status:
example: '400'
type: string
title:
example: Field `name` is invalid
type: string
type: object
type: array
type: object
description: Invalid
'401':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: unauthorized
type: string
detail:
example: Please verify your credentials
type: string
status:
example: '401'
type: string
title:
example: Unauthorized
type: string
type: object
type: array
type: object
description: Unauthorized
'403':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: true
properties:
code:
example: forbidden
type: string
detail:
example: You do not have permissions to perform this action
type: string
status:
example: '403'
type: string
title:
example: Operation not allowed
type: string
type: object
type: array
type: object
description: Forbidden
'404':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
properties:
code:
example: not found
type: string
detail:
example: Object not found. It may have been deleted or not been created yet
type: string
status:
example: '404'
type: string
title:
example: Object not found
type: string
type: object
type: array
type: object
description: Not found
'429':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: Throttled
type: string
detail:
example: Request was throttled. Expected available in 60 seconds.
type: string
status:
example: '429'
type: string
title:
example: Throttled
type: string
type: object
type: array
type: object
description: Throttled
'500':
content:
application/vnd.api+json:
schema:
additionalProperties: false
properties:
errors:
items:
additionalProperties: false
properties:
code:
example: server error
type: string
detail:
example: Something went wrong, please try again
type: string
status:
example: '500'
type: string
title:
example: Something went wrong
type: string
type: object
type: array
type: object
description: Internal Error
summary: Get revisions of resource strings
tags:
- Resource Strings
x-released: true
components:
securitySchemes:
bearerAuth:
description: 'To use the API you need to authenticate your requests using Token Authentication. Specifically, you need to
* Acquire an authentication token from the Transifex (under user settings)
* Uses the `Bearer` keyword and prepend the token when passing the header.
For example, if the authentication token is `1/0b4e75552e481aeae813aebad53f3de3fcc67ccd`, then the HTTP header should look like this:
`Authorization: Bearer 1/0b4e75552e481aeae813aebad53f3de3fcc67ccd`
To create an API token:
1. Head to your User Settings by going to the main navigation, and clicking on your profile image in the top right corner.
2. In the left menu, click on API token.
3. Click Generate a token.
Once you''ve generated a token, you can edit its name so it''s easier to remember where you use the token.
To keep your API token secure, we''ll only show it once, so please be sure to save it somewhere secure.
In case you lose your API token, you can regenerate a new one at any time. However, when you regenerate
a new token, you''ll need to update your applications and replace the old token with the new one.
'
scheme: bearer
type: http