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