github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/doc/compiled.json (about)

     1  {
     2    "openapi": "3.0.3",
     3    "info": {
     4      "title": "Phrase Strings API Reference",
     5      "version": "2.0.0",
     6      "description": "Phrase Strings is a translation management platform for software projects. You can collaborate on language file translation with your team or order translations through our platform. The API allows you to import locale files, download locale files, tag keys or interact in other ways with the localization data stored in Phrase Strings for your account.\n\n## API Endpoints\n\n### EU data center\n```\nhttps://api.phrase.com/v2/\n```\n\n### US data center\n\n```\nhttps://api.us.app.phrase.com/v2\n```\n\nThe API is only accessible via HTTPS and the current version is <code>v2</code>, which results in a base URL like: <code>https://api.phrase.com/v2/</code> depending on the datacenter.\n\n\n## Usage\n\n[curl](http://curl.haxx.se/) is used primarily to send requests to Phrase Strings in the examples. On most you'll find a second variant using the [Phrase Strings API v2 client](https://phrase.com/cli/) that might be more convenient to handle. For further information check its [documentation](https://support.phrase.com/hc/en-us/articles/5808300599068).\n\n## Use of HTTP Verbs\n\nPhrase Strings API v2 tries to use the appropriate HTTP verb for accessing each endpoint according to REST specification where possible:\n\n<div class=\"table-responsive\">\n  <table class=\"basic-table\">\n    <thead>\n      <tr class=\"basic-table__row basic-table__row--header\">\n        <th class=\"basic-table__cell basic-table__cell--header\">Verb</th>\n        <th class=\"basic-table__cell basic-table__cell--header\">Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td class=\"basic-table__cell\">GET</td>\n        <td class=\"basic-table__cell\">Retrieve one or multiple resources</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\">POST</td>\n        <td class=\"basic-table__cell\">Create a resource</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\">PUT</td>\n        <td class=\"basic-table__cell\">Update a resource</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\">PATCH</td>\n        <td class=\"basic-table__cell\">Update a resource (partially)</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\">DELETE</td>\n        <td class=\"basic-table__cell\">Delete a resource</td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n\n\n## Identification via User-Agent\n\nYou must include the User-Agent header with the name of your application or project. It might be a good idea to include some sort of contact information  as well, so that we can get in touch if necessary (e.g. to warn you about Rate-Limiting or badly formed requests). Examples of excellent User-Agent headers:\n\n```\nUser-Agent: Example Mobile App (example@phrase.com)\nUser-Agent: ACME Inc Python Client (http://example.com/contact)\n```\n\nIf you don't send this header, you will receive a response with 400 Bad Request.\n\n\n## Lists\n\nWhen you request a list of resources, the API will typically only return an array of resources including their most important attributes. For a detailed representation of the resource you should request its detailed representation.\n\nLists are usually [paginated](#pagination).\n\n\n## Parameters\n\nMany endpoints support additional parameters, e.g. for pagination. When passing them in a GET request you can send them as HTTP query string parameters:\n\n```\n$ curl -u EMAIL_OR_ACCESS_TOKEN \"https://api.phrase.com/v2/projects?page=2\"\n```\n\nWhen performing a POST, PUT, PATCH or DELETE request, we recommend sending parameters that are not already included in the URL, as JSON body:\n\n```\n$ curl -H 'Content-Type: application/json' -d '{\"name\":\"My new project\"}' -u EMAIL_OR_ACCESS_TOKEN https://api.phrase.com/v2/projects\n```\n\nEncoding parameters as JSON means better support for types (boolean, integer) and usually better readability. Don't forget to set the correct Content-Type for your request.\n\n*The Content-Type header is omitted in some of the following examples for better readbility.*\n\n\n## Errors\n\n\n### Request Errors\n\nIf a request contains invalid JSON or is missing a required parameter (besides resource attributes), the status `400 Bad Request` is returned:\n\n```\n{\n  \"message\": \"JSON could not be parsed\"\n}\n```\n\n\n### Validation Errors\n\nWhen the validation for a resource fails, the status `422 Unprocessable Entity` is returned, along with information on the affected fields:\n\n```\n{\n  \"message\": \"Validation Failed\",\n  \"errors\": [\n    {\n      \"resource\": \"Project\",\n      \"field\": \"name\",\n      \"message\": \"can't be blank\"\n    }\n  ]\n}\n```\n\n\n## Date Format\n\nTimes and dates are returned and expected in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) date format:\n\n```\nYYYY-MM-DDTHH:MM:SSZ\n```\n\nInstead of 'Z' for UTC time zone you can specify your time zone's locale offset using the following notation:\n\n```\nYYYY-MM-DDTHH:MM:SS±hh:mm\n```\n\nExample for CET (1 hour behind UTC):\n\n```\n2015-03-31T13:00+01:00\n```\n\nPlease note that in HTTP headers, we will use the appropriate recommended date formats instead of ISO 8601.\n\n\n## Authentication\n\nThere are two different ways to authenticate when performing API requests:\n\n* E-Mail and password\n* Oauth Access Token\n\n\n### E-Mail and password\n\nTo get started easily, you can use HTTP Basic authentication with your email and password:\n\n```\n$ curl -u username:password \"https://api.phrase.com/v2/projects\"\n```\n\n\n### OAuth via Access Tokens\n\nYou can create and manage access tokens in your [profile settings](https://app.phrase.com/settings/oauth_access_tokens) in Translation Center or via the [Authorizations API](#tag--Authorizations).\n\nSimply pass the access token as the username of your request:\n\n```\n$ curl -u ACCESS_TOKEN: \"https://api.phrase.com/v2/projects\"\n```\n\nor send the access token via the `Authorization` header field:\n\n```\n$ curl -H \"Authorization: token ACCESS_TOKEN\" https://api.phrase.com/v2/projects\n```\n\n#### Send via parameter\n\nAs JSONP (and other) requests cannot send HTTP Basic Auth credentials, a special query parameter `access_token` can be used:\n\n```\ncurl \"https://api.phrase.com/v2/projects?access_token=ACCESS_TOKEN\"\n```\n\nYou should only use this transport method if sending the authentication via header or Basic authentication is not possible.\n\n### Two-Factor-Authentication\n\nUsers with Two-Factor-Authentication enabled have to send a valid token along their request with certain authentication methods (such as Basic authentication). The necessity of a Two-Factor-Authentication token is indicated by the `X-PhraseApp-OTP: required; :MFA-type` header in the response. The `:MFA-type`field indicates the source of the token, e.g. `app` (refers to your Authenticator application):\n\n```\nX-PhraseApp-OTP: required; app\n```\n\nTo provide a Two-Factor-Authentication token you can simply send it in the header of the request:\n\n```\ncurl -H \"X-PhraseApp-OTP: MFA-TOKEN\" -u EMAIL https://api.phrase.com/v2/projects\n```\n\nSince Two-Factor-Authentication tokens usually expire quickly, we recommend using an alternative authentication method such as OAuth access tokens.\n\n### Multiple Accounts\n\nSome endpoints require the account ID to be specified if the authenticated user is a member of multiple accounts. You can find the eight-digit account ID inside <a href=\"https://app.phrase.com/\" target=\"_blank\">Translation Center</a> by switching to the desired account and then visiting the account details page. If required, you can specify the account just like a normal parameter within the request.\n\n## Pagination\n\nEndpoints that return a list or resources will usually return paginated results and include 25 items by default. To access further pages, use the `page` parameter:\n\n```\n$ curl -u EMAIL_OR_ACCESS_TOKEN \"https://api.phrase.com/v2/projects?page=2\"\n```\n\nSome endpoints also allow a custom page size by using the `per_page` parameter:\n\n```\n$ curl -u EMAIL_OR_ACCESS_TOKEN \"https://api.phrase.com/v2/projects?page=2&per_page=50\"\n```\n\nUnless specified otherwise in the description of the respective endpoint, `per_page` allows you to specify a page size up to 100 items.\n\n\n## Link-Headers\n\nWe provide you with pagination URLs in the [Link Header field](http://tools.ietf.org/html/rfc5988). Make use of this information to avoid building pagination URLs yourself.\n\n```\nLink: <https://api.phrase.com/v2/projects?page=1>; rel=\"first\", <https://api.phrase.com/v2/projects?page=3>; rel=\"prev\", <https://api.phrase.com/v2/projects?page=5>; rel=\"next\", <https://api.phrase.com/v2/projects?page=9>; rel=\"last\"\n```\n\nPossible `rel` values are:\n\n<div class=\"table-responsive\">\n  <table class=\"basic-table\">\n    <thead>\n      <tr class=\"basic-table__row basic-table__row--header\">\n        <th class=\"basic-table__cell basic-table__cell--header\">Value</th>\n        <th class=\"basic-table__cell basic-table__cell--header\">Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td class=\"basic-table__cell\">next</td>\n        <td class=\"basic-table__cell\">URL of the next page of results</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\">last</td>\n        <td class=\"basic-table__cell\">URL of the last page of results</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\">first</td>\n        <td class=\"basic-table__cell\">URL of the first page of results</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\">prev</td>\n        <td class=\"basic-table__cell\">URL of the previous page of results</td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n\n## Rate Limiting\n\nAll API endpoints are subject to rate limiting to ensure good performance for all customers. The rate limit is calculated per user:\n\n* 1000 requests per 5 minutes\n* 4 concurrent (parallel) requests\n\nFor your convenience we send information on the current rate limit within the response headers:\n\n<div class=\"table-responsive\">\n  <table class=\"basic-table\">\n    <thead>\n      <tr class=\"basic-table__row basic-table__row--header\">\n        <th class=\"basic-table__cell basic-table__cell--header\">Header</th>\n        <th class=\"basic-table__cell basic-table__cell--header\">Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td class=\"basic-table__cell\" style=\"white-space: nowrap;\"><code>X-Rate-Limit-Limit</code></td>\n        <td class=\"basic-table__cell\">Number of max requests allowed in the current time period</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\" style=\"white-space: nowrap;\"><code>X-Rate-Limit-Remaining</code></td>\n        <td class=\"basic-table__cell\">Number of remaining requests in the current time period</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\" style=\"white-space: nowrap;\"><code>X-Rate-Limit-Reset</code></td>\n        <td class=\"basic-table__cell\">Timestamp of end of current time period as UNIX timestamp</td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n\nIf you should run into the rate limit, you will receive the HTTP status code `429: Too many requests`.\n\nIf you should need higher rate limits, [contact us](https://phrase.com/contact).\n\n\n## Conditional GET requests / HTTP Caching\n\n<div class=\"alert alert-info\"><p><i>Note: Conditional GET requests are currently only supported for <a href=\"#locales_download\">locales#download</a> and <a href=\"#translations_index\">translations#index</a></i></p></div>\n\nWe will return an ETag or Last-Modified header with most GET requests. When you request a resource we recommend to store this value and submit them on subsequent requests as `If-Modified-Since` and `If-None-Match` headers. If the resource has not changed in the meantime, we will return the status `304 Not Modified` instead of rendering and returning the resource again. In most cases this is less time-consuming and makes your application/integration faster.\n\nPlease note that all conditional requests that return a response with status 304 don't count against your rate limits.\n\n```\n$ curl -i -u EMAIL_OR_ACCESS_TOKEN \"https://api.phrase.com/v2/projects/1234abcd1234abcdefefabcd1234efab/locales/en/download\"\nHTTP/1.1 200 OK\nETag: \"abcd1234abcdefefabcd1234efab1234\"\nLast-Modified: Wed, 28 Jan 2015 15:31:30 UTC\nStatus: 200 OK\n\n$ curl -i -u EMAIL_OR_ACCESS_TOKEN \"https://api.phrase.com/v2/projects/1234abcd1234abcdefefabcd1234efab/locales/en/download\" -H 'If-None-Match: \"abcd1234abcdefefabcd1234efab1234\"'\nHTTP/1.1 304 Not Modified\nETag: \"abcd1234abcdefefabcd1234efab1234\"\nLast-Modified: Wed, 28 Jan 2015 15:31:30 UTC\nStatus: 304 Not Modified\n\n$ curl -i -u EMAIL_OR_ACCESS_TOKEN \"https://api.phrase.com/v2/projects/1234abcd1234abcdefefabcd1234efab/locales/en/download\" -H \"If-Modified-Since: Wed, 28 Jan 2015 15:31:30 UTC\"\nHTTP/1.1 304 Not Modified\nLast-Modified: Wed, 28 Jan 2015 15:31:30 UTC\nStatus: 304 Not Modified\n```\n\n\n## JSONP\n\nThe Phrase Strings API supports [JSONP](http://en.wikipedia.org/wiki/JSONP) for all GET requests in order to deal with cross-domain request issues. Just send a `?callback` parameter along with the request to specify the Javascript function name to be called with the response content:\n\n```\n$ curl \"https://api.phrase.com/v2/projects?callback=myFunction\"\n```\n\nThe response will include the normal output for that endpoint, along with a `meta` section including header data:\n\n```\nmyFunction({\n  {\n    \"meta\": {\n      \"status\": 200,\n      ...\n    },\n    \"data\": [\n      {\n        \"id\": \"1234abcd1234abc1234abcd1234abc\"\n        ...\n      }\n    ]\n  }\n});\n```\n\nTo authenticate a JSONP request, you can send a valid [access token](#overview--oauth-via-access-tokens) as the `?access_token` parameter along the request:\n\n```\n$ curl \"https://api.phrase.com/v2/projects?callback=myFunction&access_token=ACCESS-TOKEN\"\n```\n\n<div class=\"section resource\">\n\n<div id=\"examples\" class=\"resource__section resource__section--head\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n## Usage examples\n\nLearn how to work more efficiently with Phrase Strings API v2 with these\nworkflow-oriented examples.\n\n</div>\n\n</div>\n\n<div id=\"examples_excluded_translations\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Find excluded translations with a certain content\n\n    GET /v2/projects/:project_id/translations\n\nList excluded translations for the given project which start with the\nterm `PhraseApp`.\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n<table>\n<colgroup>\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n</colgroup>\n<thead>\n<tr class=\"header\">\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"odd\">\n<td><code>sort</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Sort criteria. Can be one of: key_name, created_at, updated_at.<br />\nDefault: key_name</td>\n</tr>\n<tr class=\"even\">\n<td><code>order</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Order direction. Can be one of: asc, desc.<br />\nDefault: asc</td>\n</tr>\n<tr class=\"odd\">\n<td><code>q</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Specify a query to find translations by content (including wildcards).<br />\n<i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i>\n<br />\nThe following qualifiers are supported in the query:<br />\n\n<ul>\n<li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n<li><code>tags:XYZ</code> for tags on the translation</li>\n<li><code>unverified:{true|false}</code> for verification status</li>\n<li><code>reviewed:{true|false}</code> for reviewed status</li>\n<li><code>excluded:{true|false}</code> for exclusion status</li>\n<li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.</td>\n</tr>\n</tbody>\n</table>\n\n</div>\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/translations?sort=updated_at&order=desc&q=PhraseApp*%20excluded:true\" \\\n  -u USERNAME_OR_ACCESS_TOKEN\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase translations list \\\n--project_id <project_id> \\\n--sort updated_at \\\n--order desc \\\n--query 'PhraseApp* excluded:true' \\\n--access_token <token>\n```\n\n</div>\n\n\n</div>\n\n</div>\n\n<div id=\"examples_unverified_translations\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Find unverified translations with a certain content\n\n    GET /v2/projects/:project_id/translations\n\nList unverified translations for the given project which start with the\nterm `PhraseApp` and are not verified.\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n<table>\n<colgroup>\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n</colgroup>\n<thead>\n<tr class=\"header\">\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"odd\">\n<td><code>sort</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Sort criteria. Can be one of: key_name, created_at, updated_at.<br />\nDefault: key_name</td>\n</tr>\n<tr class=\"even\">\n<td><code>order</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Order direction. Can be one of: asc, desc.<br />\nDefault: asc</td>\n</tr>\n<tr class=\"odd\">\n<td><code>q</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Specify a query to find translations by content (including wildcards).<br />\n<br><i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i>\n<br />\nThe following qualifiers are supported in the query:<br />\n\n<ul>\n<li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n<li><code>tags:XYZ</code> for tags on the translation</li>\n<li><code>unverified:{true|false}</code> for verification status</li>\n<li><code>reviewed:{true|false}</code> for reviewed status</li>\n<li><code>excluded:{true|false}</code> for exclusion status</li>\n<li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.</td>\n</tr>\n</tbody>\n</table>\n\n</div>\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/translations?sort=updated_at&order=desc&q=PhraseApp*%20unverified:true\" \\\n  -u USERNAME_OR_ACCESS_TOKEN\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase translations list \\\n--project_id <project_id> \\\n--sort updated_at \\\n--order desc \\\n--query 'PhraseApp* unverified:true' \\\n--access_token <token>\n```\n\n</div>\n\n</div>\n\n</div>\n\n<div id=\"examples_verify_translations\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Verify translations selected by query\n\n    PATCH /v2/projects/:project_id/translations/verify\n\nVerify all translations that are matching the query `my dog`.\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n<table>\n<colgroup>\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n</colgroup>\n<thead>\n<tr class=\"header\">\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"odd\">\n<td><code>q</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Specify a query to find translations by content (including wildcards).<br />\n<br><i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i>\n<br />\nThe following qualifiers are supported in the query:<br />\n\n<ul>\n<li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n<li><code>tags:XYZ</code> for tags on the translation</li>\n<li><code>unverified:{true|false}</code> for verification status</li>\n<li><code>reviewed:{true|false}</code> for reviewed status</li>\n<li><code>excluded:{true|false}</code> for exclusion status</li>\n<li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.</td>\n</tr>\n<tr class=\"even\">\n<td><code>sort</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Sort criteria. Can be one of: key_name, created_at, updated_at.<br />\nDefault: key_name</td>\n</tr>\n<tr class=\"odd\">\n<td><code>order</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Order direction. Can be one of: asc, desc.<br />\nDefault: asc</td>\n</tr>\n</tbody>\n</table>\n\n</div>\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/translations/verify\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"q\":\"my dog unverified:true\",\"sort\":\"updated_at\",\"order\":\"desc\"}' \\\n  -H 'Content-Type: application/json'\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase translations verify \\\n--project_id <project_id> \\\n--data '{\"query\":\"\"my dog unverified:true\"\", \"sort\":\"updated_at\", \"order\":\"desc\"}' \\\n--access_token <token>\n```\n\n</div>\n\n</div>\n\n</div>\n\n<div id=\"examples_updated_keys\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Find recently updated keys\n\n    GET /v2/projects/:project_id/keys\n\nFind updated keys with with the `updated_at` qualifier like\n`updated_at:>=2013-02-21T00:00:00Z`. This example returns keys that have\nbeen updated on or after 2013-02-21.\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n<table>\n<colgroup>\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n</colgroup>\n<thead>\n<tr class=\"header\">\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"odd\">\n<td><code>sort</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Sort by field. Can be one of: name, created_at, updated_at.<br />\nDefault: name</td>\n</tr>\n<tr class=\"even\">\n<td><code>order</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Order direction. Can be one of: asc, desc.<br />\nDefault: asc</td>\n</tr>\n<tr class=\"odd\">\n<td><code>q</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Specify a query to do broad search for keys by name (including wildcards).<br />\n<br />\nThe following qualifiers are also supported in the search term:<br />\n\n<ul>\n<li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n<li><code>name:key_name,...</code> for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes</li>\n<li><code>tags:tag_name,...</code> to filter for keys with certain comma-seperated list of tags</li>\n<li><code>uploads:upload_id,...</code> to filter for keys with certain comma-seperated list of uploads</li>\n<li><code>job:{true|false}</code> to filter for keys mentioned in an active job</li>\n<li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n<li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n<li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.</td>\n</tr>\n<tr class=\"even\">\n<td><code>locale_id</code></td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n\n</div>\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/keys?sort=updated_at&order=desc&q=updated_at:%3E=2013-02-21T00:00:00Z&locale_id=abcd1234abcd1234abcd1234abcd1234\" \\\n  -u USERNAME_OR_ACCESS_TOKEN\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase keys list \\\n--project_id <project_id> \\\n--sort updated_at \\\n--order desc \\\n--query \"updated_at:>=2013-02-21T00:00:00Z\" \\\n--locale_id abcd1234abcd1234abcd1234abcd1234 \\\n--access_token <token>\n```\n\n</div>\n\n</div>\n\n</div>\n\n<div id=\"examples_tagged_keys\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Find keys with a certain tag\n\n    GET /v2/projects/:project_id/keys\n\nKeys with certain tags can be filtered with the qualifier `tags:`.\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n<table>\n<colgroup>\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n</colgroup>\n<thead>\n<tr class=\"header\">\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"odd\">\n<td><code>q</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Specify a query to do broad search for keys by name (including wildcards).<br />\n<br />\nThe following qualifiers are also supported in the search term:<br />\n\n<ul>\n<li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n<li><code>name:key_name,...</code> for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes</li>\n<li><code>tags:tag_name,...</code> to filter for keys with certain comma-seperated list of tags</li>\n<li><code>uploads:upload_id,...</code> to filter for keys with certain comma-seperated list of uploads</li>\n<li><code>job:{true|false}</code> to filter for keys mentioned in an active job</li>\n<li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n<li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n<li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.</td>\n</tr>\n</tbody>\n</table>\n\n</div>\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/keys?q=tags:admin\" \\\n  -u USERNAME_OR_ACCESS_TOKEN\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase keys list \\\n--project_id <project_id> \\\n--query \"tags:admin\" \\\n--access_token <token>\n```\n\n</div>\n\n</div>\n\n</div>\n\n<div id=\"examples_tag\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Add tags to collection of keys\n\n    PATCH /v2/projects/:project_id/keys/tag\n\nAdd the tags `landing-page` and `release-1.2` to all keys that start\nwith `dog` and are translated in the locale\n`abcd1234abcd1234abcd1234abcd1234`.\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n<table>\n<colgroup>\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n</colgroup>\n<thead>\n<tr class=\"header\">\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"odd\">\n<td><code>q</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Specify a query to do broad search for keys by name (including wildcards).<br />\n<br />\nThe following qualifiers are also supported in the search term:<br />\n\n<ul>\n<li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n<li><code>name:key_name,...</code> for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes</li>\n<li><code>tags:tag_name,...</code> to filter for keys with certain comma-seperated list of tags</li>\n<li><code>uploads:upload_id,...</code> to filter for keys with certain comma-seperated list of uploads</li>\n<li><code>job:{true|false}</code> to filter for keys mentioned in an active job</li>\n<li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n<li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n<li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.</td>\n</tr>\n<tr class=\"even\">\n<td><code>tags</code></td>\n<td><code>string</code></td>\n<td>Tag or comma-separated list of tags to add to the matching collection of keys</td>\n</tr>\n<tr class=\"odd\">\n<td><code>locale_id</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>id</code></td>\n<td>Locale used to determine the translation state of a key when filtering for untranslated or translated keys.</td>\n</tr>\n</tbody>\n</table>\n\n</div>\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/keys/tag\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"q\":\"dog* translated:true\",\"tags\":\"landing-page,release-1.2\",\"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n  -H 'Content-Type: application/json'\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase keys tag \\\n--project_id <project_id> \\\n--data '{\"query\":\"'dog* translated:true'\", \"tags\":\"landing-page,release-1.2\", \"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n--access_token <token>\n```\n\n</div>\n\n</div>\n\n</div>\n\n<div id=\"examples_untag\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Remove tags from collection of keys\n\n    PATCH /v2/projects/:project_id/keys/untag\n\nRemove the tags `landing-page` and `release-1.2` from all keys that\nstart with `dog` and are translated in the locale\n`abcd1234abcd1234abcd1234abcd1234`.\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n<table>\n<colgroup>\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n</colgroup>\n<thead>\n<tr class=\"header\">\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"odd\">\n<td><code>q</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Specify a query to do broad search for keys by name (including wildcards).<br />\n<br />\nThe following qualifiers are also supported in the search term:<br />\n\n<ul>\n<li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n<li><code>name:key_name,...</code> for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes</li>\n<li><code>tags:tag_name,...</code> to filter for keys with certain comma-seperated list of tags</li>\n<li><code>uploads:upload_id,...</code> to filter for keys with certain comma-seperated list of uploads</li>\n<li><code>job:{true|false}</code> to filter for keys mentioned in an active job</li>\n<li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n<li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n<li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.</td>\n</tr>\n<tr class=\"even\">\n<td><code>tags</code></td>\n<td><code>string</code></td>\n<td>Tag or comma-separated list of tags to remove from the matching collection of keys</td>\n</tr>\n<tr class=\"odd\">\n<td><code>locale_id</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>id</code></td>\n<td>Locale used to determine the translation state of a key when filtering for untranslated or translated keys.</td>\n</tr>\n</tbody>\n</table>\n\n</div>\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/keys/untag\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"q\":\"dog* translated:true\",\"tags\":\"landing-page,release-1.2\",\"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n  -H 'Content-Type: application/json'\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase keys untag \\\n--project_id <project_id> \\\n--data '{\"query\":\"'dog* translated:true'\", \"tags\":\"landing-page,release-1.2\", \"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n--access_token <token>\n```\n\n</div>\n\n</div>\n\n</div>\n\n<div id=\"examples_broad_match\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Find keys with broad text match\n\n    GET /v2/projects/:project_id/keys\n\nExample query `my dog`\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n<table>\n<colgroup>\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n</colgroup>\n<thead>\n<tr class=\"header\">\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"odd\">\n<td><code>q</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Specify a query to do broad search for keys by name (including wildcards).<br />\n<br />\nThe following qualifiers are also supported in the search term:<br />\n\n<ul>\n<li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n<li><code>name:key_name,...</code> for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes</li>\n<li><code>tags:tag_name,...</code> to filter for keys with certain comma-seperated list of tags</li>\n<li><code>uploads:upload_id,...</code> to filter for keys with certain comma-seperated list of uploads</li>\n<li><code>job:{true|false}</code> to filter for keys mentioned in an active job</li>\n<li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n<li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n<li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.</td>\n</tr>\n</tbody>\n</table>\n\n</div>\n\n#### Matches\n\n<span class=\"result-match\">**My dog** is lazy\n</span> <span class=\"result-match\">**my dog** is lazy\n</span> <span class=\"result-match\">angry **dog** in **my** house</span>\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/keys?q=my%20dog\" \\\n  -u USERNAME_OR_ACCESS_TOKEN\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase keys list \\\n--project_id <project_id> \\\n--query \"my dog\" \\\n--access_token <token>\n```\n\n</div>\n\n</div>\n\n</div>\n\n<div id=\"examples_exact_match\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Find keys with exact text match\n\n    GET /v2/projects/:project_id/keys\n\nExample query `\"my dog is lazy\"` (note backslashes before any whitespace\ncharacter in the example query)\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n<table>\n<colgroup>\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n</colgroup>\n<thead>\n<tr class=\"header\">\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"odd\">\n<td><code>q</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Specify a query to do broad search for keys by name (including wildcards).<br />\n<br />\nThe following qualifiers are also supported in the search term:<br />\n\n<ul>\n<li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n<li><code>name:key_name,...</code> for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes</li>\n<li><code>tags:tag_name,...</code> to filter for keys with certain comma-seperated list of tags</li>\n<li><code>uploads:upload_id,...</code> to filter for keys with certain comma-seperated list of uploads</li>\n<li><code>job:{true|false}</code> to filter for keys mentioned in an active job</li>\n<li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n<li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n<li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.</td>\n</tr>\n</tbody>\n</table>\n\n</div>\n\n#### Matches\n\n~~My dog is lazy~~\n<span class=\"result-match\">**my dog is lazy**\n</span> ~~angry dog in my house~~\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/keys?q=name:my%5C%20dog%5C%20is%5C%20lazy\" \\\n  -u USERNAME_OR_ACCESS_TOKEN\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase keys list \\\n--project_id <project_id> \\\n--query \"name:my\\ dog\\ is\\ lazy\" \\\n--access_token <token>\n```\n\n</div>\n\n</div>\n\n</div>\n\n<div id=\"examples_wildcard_match\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Find keys with wildcard character matching\n\n    GET /v2/projects/:project_id/keys\n\nExample query `*dog is*`\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n<table>\n<colgroup>\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n<col style=\"width: 33%\" />\n</colgroup>\n<thead>\n<tr class=\"header\">\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"odd\">\n<td><code>q</code><br />\n<span class=\"small\">optional</span></td>\n<td><code>string</code></td>\n<td>Specify a query to do broad search for keys by name (including wildcards).<br />\n<br />\nThe following qualifiers are also supported in the search term:<br />\n\n<ul>\n<li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n<li><code>name:key_name,...</code> for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes</li>\n<li><code>tags:tag_name,...</code> to filter for keys with certain comma-seperated list of tags</li>\n<li><code>uploads:upload_id,...</code> to filter for keys with certain comma-seperated list of uploads</li>\n<li><code>job:{true|false}</code> to filter for keys mentioned in an active job</li>\n<li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n<li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n<li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.</td>\n</tr>\n</tbody>\n</table>\n\n</div>\n\n#### Matches\n\n<span class=\"result-match\">My **dog is** lazy\n</span> <span class=\"result-match\">my **dog is** lazy\n</span> ~~angry dog in my house~~\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/keys?q=*dog%20is*\" \\\n  -u USERNAME_OR_ACCESS_TOKEN\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase keys list \\\n--project_id <project_id> \\\n--query '*dog is*' \\\n--access_token <token>\n```\n\n</div>\n\n</div>\n\n</div>\n\n<div id=\"examples_xlsx_upload\" class=\"resource__section\" data-target=\"page.section\">\n\n<div class=\"resource__copy\">\n\n### Upload an Excel file with several translations\n\n    POST /v2/projects/:project_id/uploads\n\nSuppose you have an excel file where the 'A' column contains the key\nnames, the 'B' column contains English translations, the 'C' column\ncontains German translations and the 'D' column contains comments.\nFurthermore, the actual content starts in the second row, since the\nfirst row is reserved for a header. You can upload this file and import\nall translations at once\\!\n\n#### Parameters\n\n<div class=\"table-responsive\">\n\n| Name                                | Type     | Description                                                 |\n| ----------------------------------- | -------- | ----------------------------------------------------------- |\n| `file`                              | `file`   | File to be imported                                         |\n| `file_format`                       | `string` | File format. Auto-detected when possible and not specified. |\n| `locale_mapping[en]`                | `string` | Name of the column containing translations for locale en.   |\n| `locale_mapping[de]`                | `string` | Name of the column containing translations for locale de.   |\n| `format_options[comment_column]`    | `string` | Name of the column containing descriptions for keys.        |\n| `format_options[tag_column]`        | `string` | Name of the column containing tags for keys.                |\n| `format_options[key_name_column]`   | `string` | Name of the column containing the names of the keys.        |\n| `format_options[first_content_row]` | `string` | Name of the first row containing actual translations.       |\n\n</div>\n\n</div>\n\n<div class=\"resource__code\">\n\n#### Example Request\n\n<div class=\"code-section\" data-target=\"technology-switch.example\" data-technology=\"curl\">\n\n``` language-bash\ncurl \"https://api.phrase.com/v2/projects/:project_id/uploads\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -F file=@/path/to/my/file.xlsx \\\n  -F file_format=xlsx \\\n  -F locale_mapping[en]=B \\\n  -F locale_mapping[de]=C \\\n  -F format_options[comment_column]=D \\\n  -F format_options[tag_column]=E \\\n  -F format_options[key_name_column]=A \\\n  -F format_options[first_content_row]=2\n```\n\n</div>\n\n<div class=\"code-section hidden\" data-target=\"technology-switch.example\" data-technology=\"cli v2\">\n\n``` language-bash\nphrase uploads create \\\n--project_id <project_id> \\\n--file /path/to/my/file.xlsx \\\n--file_format xlsx \\\n--locale_id abcd1234cdef1234abcd1234cdef1234 \\\n--tags awesome-feature,needs-proofreading \\\n--locale_mapping '{\"en\": \"B\", \"de\": \"C\"}' \\\n--format_options '{\"comment_column\": \"D\", \"tag_column\": \"E\", \"key_name_column\": \"A\", \"first_content_row\": \"2\"}' \\\n--access_token <token>\n```\n\n</div>\n\n</div>\n\n</div>\n\n</div>\n",
     7      "contact": {
     8        "name": "Phrase Support",
     9        "url": "https://developers.phrase.com/api/",
    10        "email": "support@phrase.com"
    11      },
    12      "x-logo": {
    13        "url": "https://developers.phrase.com/images/phrase-logo.svg",
    14        "backgroundColor": "#03eab3",
    15        "altText": "Phrase Strings"
    16      },
    17      "termsOfService": "https://phrase.com/terms/",
    18      "license": {
    19        "name": "MIT",
    20        "url": "https://choosealicense.com/licenses/mit/"
    21      }
    22    },
    23    "servers": [
    24      {
    25        "url": "https://api.phrase.com/v2"
    26      }
    27    ],
    28    "security": [
    29      {
    30        "Token": []
    31      },
    32      {
    33        "Basic": []
    34      }
    35    ],
    36    "tags": [
    37      {
    38        "name": "Accounts"
    39      },
    40      {
    41        "name": "Authorizations",
    42        "description": "The endpoints provided by the Authorizations API are **only accessible via Basic authentication with email and password**.\n\nWhen creating a new authorization, the new access token for this authorization will be returned in the immediate response but not later, due to security reasons. When accessing authorizations later, you will only see the last eight chars of the token in plain text (`token_last_eight`) and the SHA256 digest of the token for reference (`hashed_token`).\n\nFor instructions on how authorization in general works, see our [Auth Guide](#overview--authentication).\n\n### Scopes\n\nWhen creating or updating an OAuth authorization, you can define a list of scopes to limit the access that can be performed by that authorization.\n\n#### Available Scopes\n\n<div class=\"table-responsive\">\n  <table class=\"basic-table\">\n    <thead>\n      <tr class=\"basic-table__row basic-table__row--header\">\n        <th class=\"basic-table__cell basic-table__cell--header\">Scope</th>\n        <th class=\"basic-table__cell basic-table__cell--header\">Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td class=\"basic-table__cell\"><code>read</code></td>\n        <td class=\"basic-table__cell\">Read projects, locales, keys, translations, orders</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>write</code></td>\n        <td class=\"basic-table__cell\">Write projects, locales, keys, translations but not orders</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>orders.create</code></td>\n        <td class=\"basic-table__cell\">Create and confirm orders</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>team.manage</code></td>\n        <td class=\"basic-table__cell\">Manage invitations and members</td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n"
    43      },
    44      {
    45        "name": "Bitbucket Sync"
    46      },
    47      {
    48        "name": "Blacklisted Keys"
    49      },
    50      {
    51        "name": "Branches",
    52        "description": "### Branch creation\n\nBranches will be created asynchronously. State of branch creation is returned as state.\n\n#### Available States\n\n<div class=\"table-responsive\">\n  <table class=\"basic-table\">\n    <thead>\n      <tr class=\"basic-table__row basic-table__row--header\">\n        <th class=\"basic-table__cell basic-table__cell--header\">State</th>\n        <th class=\"basic-table__cell basic-table__cell--header\">Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td class=\"basic-table__cell\"><code>initialized</code></td>\n        <td class=\"basic-table__cell\">Data received.</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>processing</code></td>\n        <td class=\"basic-table__cell\">Branch is currently creating.</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>success</code></td>\n        <td class=\"basic-table__cell\">Branch was created successfully</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>error</code></td>\n        <td class=\"basic-table__cell\">Branch creation failed.</td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n"
    53      },
    54      {
    55        "name": "Comments"
    56      },
    57      {
    58        "name": "Comment Reactions"
    59      },
    60      {
    61        "name": "Comment Replies"
    62      },
    63      {
    64        "name": "Custom Metadata"
    65      },
    66      {
    67        "name": "Distributions"
    68      },
    69      {
    70        "name": "Documents"
    71      },
    72      {
    73        "name": "Figma Attachments"
    74      },
    75      {
    76        "name": "Formats"
    77      },
    78      {
    79        "name": "GitHub Sync"
    80      },
    81      {
    82        "name": "GitLab Sync"
    83      },
    84      {
    85        "name": "Glossaries"
    86      },
    87      {
    88        "name": "Glossary Terms"
    89      },
    90      {
    91        "name": "Glossary Term Translations"
    92      },
    93      {
    94        "name": "ICU"
    95      },
    96      {
    97        "name": "Invitations",
    98        "description": "With the invitation endpoint you can [manage and invite users](https://support.phrase.com/hc/en-us/articles/5709742418716) to Phrase Strings via API. A user can have the role Manager, Developer or Translator each with its own access rights. Developers and translators need resources like projects and locales assigned in order to access them.\n"
    99      },
   100      {
   101        "name": "Job Comments"
   102      },
   103      {
   104        "name": "Job Locales"
   105      },
   106      {
   107        "name": "Job Template Locales"
   108      },
   109      {
   110        "name": "Job Templates"
   111      },
   112      {
   113        "name": "Jobs"
   114      },
   115      {
   116        "name": "Keys"
   117      },
   118      {
   119        "name": "Locales"
   120      },
   121      {
   122        "name": "Members",
   123        "description": "With the members endpoints you can do basic [team and user management](https://support.phrase.com/hc/en-us/articles/5709742418716) via API. A user can have the role Manager, Developer or Translator each with its own access rights. Developers and translators need resources like projects and locales assigned in order to access them.\n"
   124      },
   125      {
   126        "name": "Notifications"
   127      },
   128      {
   129        "name": "Notification Groups"
   130      },
   131      {
   132        "name": "Orders",
   133        "description": "### List of categories [TextMaster]\n\nWhen ordering translations from TextMaster, you need to specify a category ID along with your order. See this list for information on the category ID and their equivalent description.\n\n<div class=\"table-responsive\">\n  <table class=\"basic-table\">\n    <thead>\n      <tr class=\"basic-table__row basic-table__row--header\">\n        <th class=\"basic-table__cell basic-table__cell--header\">Category ID</th>\n        <th class=\"basic-table__cell basic-table__cell--header\">Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr><td class=\"basic-table__cell\">C001</td><td class=\"basic-table__cell\">Agriculture</td></tr>\n      <tr><td class=\"basic-table__cell\">C002</td><td class=\"basic-table__cell\">Aerospace</td></tr>\n      <tr><td class=\"basic-table__cell\">C003</td><td class=\"basic-table__cell\">Animals/Pets/Plants</td></tr>\n      <tr><td class=\"basic-table__cell\">C004</td><td class=\"basic-table__cell\">Arts/Culture/Literature</td></tr>\n      <tr><td class=\"basic-table__cell\">C005</td><td class=\"basic-table__cell\">Automotive/Transportation</td></tr>\n      <tr><td class=\"basic-table__cell\">C006</td><td class=\"basic-table__cell\">Computers/Technology/Software</td></tr>\n      <tr><td class=\"basic-table__cell\">C007</td><td class=\"basic-table__cell\">Telecom</td></tr>\n      <tr><td class=\"basic-table__cell\">C008</td><td class=\"basic-table__cell\">Real Estate/Construction/Building</td></tr>\n      <tr><td class=\"basic-table__cell\">C009</td><td class=\"basic-table__cell\">Consumer Goods</td></tr>\n      <tr><td class=\"basic-table__cell\">C010</td><td class=\"basic-table__cell\">Education</td></tr>\n      <tr><td class=\"basic-table__cell\">C011</td><td class=\"basic-table__cell\">Entertainment</td></tr>\n      <tr><td class=\"basic-table__cell\">C012</td><td class=\"basic-table__cell\">Ecology/Environment</td></tr>\n      <tr><td class=\"basic-table__cell\">C013</td><td class=\"basic-table__cell\">Health/Biotechnology/Pharma</td></tr>\n      <tr><td class=\"basic-table__cell\">C014</td><td class=\"basic-table__cell\">Internet</td></tr>\n      <tr><td class=\"basic-table__cell\">C015</td><td class=\"basic-table__cell\">Policy/Government/Public</td></tr>\n      <tr><td class=\"basic-table__cell\">C016</td><td class=\"basic-table__cell\">Publishing/Media/Communication</td></tr>\n      <tr><td class=\"basic-table__cell\">C017</td><td class=\"basic-table__cell\">Religion</td></tr>\n      <tr><td class=\"basic-table__cell\">C018</td><td class=\"basic-table__cell\">Food/Beverages</td></tr>\n      <tr><td class=\"basic-table__cell\">C019</td><td class=\"basic-table__cell\">Retail</td></tr>\n      <tr><td class=\"basic-table__cell\">C020</td><td class=\"basic-table__cell\">Fashion/Luxury/Textiles</td></tr>\n      <tr><td class=\"basic-table__cell\">C021</td><td class=\"basic-table__cell\">Travel/Tourism</td></tr>\n      <tr><td class=\"basic-table__cell\">C022</td><td class=\"basic-table__cell\">Natural Resources/Energy</td></tr>\n      <tr><td class=\"basic-table__cell\">C023</td><td class=\"basic-table__cell\">Banking/Financial Services/Insurance</td></tr>\n      <tr><td class=\"basic-table__cell\">C024</td><td class=\"basic-table__cell\">Legal Affairs/Tax/Law</td></tr>\n      <tr><td class=\"basic-table__cell\">C025</td><td class=\"basic-table__cell\">Raw Materials/Industrial Goods</td></tr>\n      <tr><td class=\"basic-table__cell\">C026</td><td class=\"basic-table__cell\">Lifestyle/Leisure/Hobbies</td></tr>\n      <tr><td class=\"basic-table__cell\">C027</td><td class=\"basic-table__cell\">Sports</td></tr>\n      <tr><td class=\"basic-table__cell\">C028</td><td class=\"basic-table__cell\">Home/Family/Friends/Children</td></tr>\n      <tr><td class=\"basic-table__cell\">C029</td><td class=\"basic-table__cell\">Economy/Financial Markets</td></tr>\n      <tr><td class=\"basic-table__cell\">C030</td><td class=\"basic-table__cell\">Science</td></tr>\n      <tr><td class=\"basic-table__cell\">C031</td><td class=\"basic-table__cell\">Human Resources/Employment</td></tr>\n      <tr><td class=\"basic-table__cell\">C032</td><td class=\"basic-table__cell\">Adult (Pornography, Violence, etc.)</td></tr>\n    </tbody>\n  </table>\n</div>\n"
   134      },
   135      {
   136        "name": "Organization Job Template Locales"
   137      },
   138      {
   139        "name": "Organization Job Templates"
   140      },
   141      {
   142        "name": "Projects"
   143      },
   144      {
   145        "name": "Quality"
   146      },
   147      {
   148        "name": "Releases"
   149      },
   150      {
   151        "name": "Repo Syncs",
   152        "description": "The Repo Syncs API allows you to synchronize your Phrase projects with your code repositories.\nYou can import translations from your repository to Phrase and export translations from Phrase to your repository.\n"
   153      },
   154      {
   155        "name": "Reports"
   156      },
   157      {
   158        "name": "Search"
   159      },
   160      {
   161        "name": "Screenshot Markers"
   162      },
   163      {
   164        "name": "Screenshots"
   165      },
   166      {
   167        "name": "Spaces"
   168      },
   169      {
   170        "name": "Style guides"
   171      },
   172      {
   173        "name": "Tags"
   174      },
   175      {
   176        "name": "Teams"
   177      },
   178      {
   179        "name": "Translations"
   180      },
   181      {
   182        "name": "Uploads",
   183        "description": "### Formats\n\nWe support all common localization file formats. For a detailed overview, see our [Format Guide](https://support.phrase.com/hc/en-us/sections/6111343326364).\n\n### Processing\n\nUploads will be processed asynchronously and thus the data might not be imported yet although the upload is completed. Therefore we recommend to evaluate the returned <code>state</code> field for information on the import progress.\n\n#### Available States\n\n<div class=\"table-responsive\">\n  <table class=\"basic-table\">\n    <thead>\n      <tr class=\"basic-table__row basic-table__row--header\">\n        <th class=\"basic-table__cell basic-table__cell--header\">State</th>\n        <th class=\"basic-table__cell basic-table__cell--header\">Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td class=\"basic-table__cell\"><code>initialized</code></td>\n        <td class=\"basic-table__cell\">Data received.</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>waiting_for_preview</code></td>\n        <td class=\"basic-table__cell\">Upload is waiting for preview to be finished.</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>waiting</code></td>\n        <td class=\"basic-table__cell\">Upload is waiting for processing.</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>processing</code></td>\n        <td class=\"basic-table__cell\">Upload is being processed, data is currently imported.</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>success</code></td>\n        <td class=\"basic-table__cell\">Upload is complete and all data is imported.</td>\n      </tr>\n      <tr>\n        <td class=\"basic-table__cell\"><code>error</code></td>\n        <td class=\"basic-table__cell\">Upload or import process failed.</td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n"
   184      },
   185      {
   186        "name": "Users"
   187      },
   188      {
   189        "name": "Variables"
   190      },
   191      {
   192        "name": "Versions / History"
   193      },
   194      {
   195        "name": "Webhooks"
   196      },
   197      {
   198        "name": "Webhook Deliveries"
   199      }
   200    ],
   201    "x-tagGroups": [
   202      {
   203        "name": "Core Resources",
   204        "tags": [
   205          "Projects",
   206          "Locales",
   207          "Keys",
   208          "Translations",
   209          "Uploads",
   210          "Tags",
   211          "Custom Metadata Properties",
   212          "Blacklisted Keys",
   213          "Versions / History"
   214        ]
   215      },
   216      {
   217        "name": "Workflows",
   218        "tags": [
   219          "Spaces",
   220          "Jobs",
   221          "Job Comments",
   222          "Job Locales",
   223          "Job Templates",
   224          "Job Template Locales",
   225          "Organization Job Templates",
   226          "Organization Job Template Locales",
   227          "Comments",
   228          "Comment Reactions",
   229          "Comment Replies",
   230          "Branches"
   231        ]
   232      },
   233      {
   234        "name": "Quality",
   235        "tags": [
   236          "Glossaries",
   237          "Glossary Terms",
   238          "Glossary Term Translations"
   239        ]
   240      },
   241      {
   242        "name": "Integrations",
   243        "tags": [
   244          "Bitbucket Sync",
   245          "GitHub Sync",
   246          "GitLab Sync",
   247          "Webhooks",
   248          "Distributions",
   249          "Releases"
   250        ]
   251      },
   252      {
   253        "name": "Ordering",
   254        "tags": [
   255          "Orders",
   256          "Style guides"
   257        ]
   258      },
   259      {
   260        "name": "User management",
   261        "tags": [
   262          "Authorizations",
   263          "Users",
   264          "Accounts",
   265          "Members",
   266          "Invitations"
   267        ]
   268      },
   269      {
   270        "name": "Screenshots",
   271        "tags": [
   272          "Screenshots",
   273          "Screenshot Markers"
   274        ]
   275      },
   276      {
   277        "name": "Misc",
   278        "tags": [
   279          "Formats"
   280        ]
   281      },
   282      {
   283        "name": "Figma Attachments",
   284        "tags": [
   285          "Figma attachments",
   286          "Key's Figma attachments"
   287        ]
   288      }
   289    ],
   290    "components": {
   291      "securitySchemes": {
   292        "Token": {
   293          "type": "apiKey",
   294          "in": "header",
   295          "name": "Authorization",
   296          "description": "Enter your token in the format `token TOKEN`"
   297        },
   298        "Basic": {
   299          "type": "http",
   300          "scheme": "basic"
   301        }
   302      },
   303      "headers": {
   304        "Link": {
   305          "description": "Links to related resources, in the format defined by\n[RFC 5988](https://tools.ietf.org/html/rfc5988#section-5).\nThis will include a link with relation type `next` to the\nnext page, if there is a next page.",
   306          "schema": {
   307            "type": "string"
   308          }
   309        },
   310        "X-PhraseApp-OTP": {
   311          "description": "The number of allowed requests in the current period",
   312          "schema": {
   313            "type": "string"
   314          }
   315        },
   316        "X-Rate-Limit-Limit": {
   317          "description": "The number of allowed requests in the current period",
   318          "schema": {
   319            "type": "integer"
   320          }
   321        },
   322        "X-Rate-Limit-Remaining": {
   323          "description": "The number of remaining requests in the current period",
   324          "schema": {
   325            "type": "integer"
   326          }
   327        },
   328        "X-Rate-Limit-Reset": {
   329          "description": "The number of seconds left in the current period",
   330          "schema": {
   331            "type": "integer"
   332          }
   333        },
   334        "Pagination": {
   335          "description": "Pagination details for navigating through a collection of resources, provided in JSON format.",
   336          "schema": {
   337            "type": "object",
   338            "properties": {
   339              "total_count": {
   340                "description": "Total count of items in the collection.",
   341                "type": "integer",
   342                "example": 10
   343              },
   344              "total_pages_count": {
   345                "description": "Total number of pages available for the collection.",
   346                "type": "integer",
   347                "example": 2
   348              },
   349              "current_page": {
   350                "description": "The current page number.",
   351                "type": "integer",
   352                "example": 1
   353              },
   354              "current_per_page": {
   355                "description": "Number of items currently displayed per page.",
   356                "type": "integer",
   357                "example": 5
   358              },
   359              "previous_page": {
   360                "description": "Page number of the previous page, if available.",
   361                "type": "integer"
   362              },
   363              "next_page": {
   364                "description": "Page number of the next page, if available.",
   365                "type": "integer",
   366                "example": 2
   367              }
   368            }
   369          }
   370        }
   371      },
   372      "schemas": {
   373        "authorization": {
   374          "type": "object",
   375          "title": "authorization",
   376          "properties": {
   377            "id": {
   378              "type": "string"
   379            },
   380            "note": {
   381              "type": "string"
   382            },
   383            "token_last_eight": {
   384              "type": "string"
   385            },
   386            "hashed_token": {
   387              "type": "string"
   388            },
   389            "scopes": {
   390              "type": "array",
   391              "items": {
   392                "type": "string"
   393              }
   394            },
   395            "expires_at": {
   396              "type": "string",
   397              "format": "date-time"
   398            },
   399            "created_at": {
   400              "type": "string",
   401              "format": "date-time"
   402            },
   403            "updated_at": {
   404              "type": "string",
   405              "format": "date-time"
   406            }
   407          },
   408          "example": {
   409            "id": "abcd1234cdef1234abcd1234cdef1234",
   410            "note": "My Deploy Script",
   411            "token_last_eight": "1234abcd",
   412            "hashed_token": "abcd1234cdef1234abcd1234cdef1234abcd1234cdef1234abcd1234cdef1234",
   413            "scopes": [
   414              "read"
   415            ],
   416            "expires_at": "2015-03-30T09:52:53Z",
   417            "created_at": "2015-01-28T09:52:53Z",
   418            "updated_at": "2015-01-28T09:52:53Z"
   419          }
   420        },
   421        "authorization_with_token": {
   422          "allOf": [
   423            {
   424              "$ref": "#/components/schemas/authorization"
   425            },
   426            {
   427              "type": "object",
   428              "title": "authorization_with_token",
   429              "properties": {
   430                "token": {
   431                  "type": "string"
   432                }
   433              },
   434              "example": {
   435                "token": "abcd1234cdef1234abcd1234cdef1234abcd1234cdef1234abcd1234cdef1234abcd1234cdef1234abcd1234cdef1234abcd1234cdef1234abcd1234cdef1234"
   436              }
   437            }
   438          ]
   439        },
   440        "bitbucket_sync": {
   441          "type": "object",
   442          "title": "bitbucket_sync",
   443          "properties": {
   444            "id": {
   445              "type": "string"
   446            },
   447            "repository_name": {
   448              "type": "string"
   449            },
   450            "last_export_to_bitbucket_at": {
   451              "type": "string",
   452              "format": "date-time"
   453            },
   454            "last_import_from_bitbucket_at": {
   455              "type": "string",
   456              "format": "date-time"
   457            },
   458            "valid_phraseapp_yaml": {
   459              "type": "boolean"
   460            },
   461            "phraseapp_projects": {
   462              "type": "array",
   463              "items": {
   464                "$ref": "#/components/schemas/project_short"
   465              }
   466            }
   467          },
   468          "example": {
   469            "id": "aad1ar91-0331-4181-b90p-4crdnv0bd812",
   470            "repository_name": "some-repository",
   471            "last_export_to_bitbucket_at": "2015-01-28T09:52:53Z",
   472            "last_import_from_bitbucket_at": "2015-01-28T09:52:53Z",
   473            "valid_phraseapp_yaml": true,
   474            "phraseapp_projects": [
   475              {
   476                "id": "abcd1234cdef1234abcd1234cdef1234",
   477                "name": "My Android Project",
   478                "main_format": "xml",
   479                "created_at": "2015-01-28T09:52:53Z",
   480                "updated_at": "2015-01-28T09:52:53Z"
   481              }
   482            ]
   483          }
   484        },
   485        "bitbucket_sync_export_response": {
   486          "type": "object",
   487          "title": "bitbucket_sync_export_response",
   488          "properties": {
   489            "status_path": {
   490              "type": "string"
   491            }
   492          },
   493          "example": {
   494            "status_path": "https://bitbucket.sync.phraseapp.com/export_to_bitbucket_status"
   495          }
   496        },
   497        "gitlab_sync": {
   498          "type": "object",
   499          "title": "gitlab_sync",
   500          "properties": {
   501            "id": {
   502              "type": "string"
   503            },
   504            "project_id": {
   505              "type": "string"
   506            },
   507            "gitlab_project_id": {
   508              "type": "integer"
   509            },
   510            "gitlab_branch_name": {
   511              "type": "string"
   512            },
   513            "auto_import": {
   514              "type": "boolean"
   515            },
   516            "auto_import_secret": {
   517              "type": "string"
   518            },
   519            "auto_import_url": {
   520              "type": "string"
   521            },
   522            "self_hosted_api_url": {
   523              "type": "string"
   524            },
   525            "last_exported_at": {
   526              "type": "string",
   527              "format": "date-time"
   528            },
   529            "last_imported_at": {
   530              "type": "string",
   531              "format": "date-time"
   532            },
   533            "last_status": {
   534              "type": "string"
   535            }
   536          },
   537          "example": {
   538            "id": "abcd1234cdef1234abcd1234cdef1234",
   539            "project_id": "ft5yufdh1234cdef1234abc5d12d4cdef123",
   540            "gitlab_project_id": 18188930,
   541            "gitlab_branch_name": "master",
   542            "auto_import": true,
   543            "auto_import_secret": "import_secret",
   544            "auto_import_url": "import_url",
   545            "self_hosted_api_url": "www.example.com/api/v4",
   546            "last_exported_at": "2015-01-28T12:55:14.000+00:00",
   547            "last_imported_at": "2015-01-28T12:55:14.000+00:00",
   548            "last_status": "success"
   549          }
   550        },
   551        "gitlab_sync_export": {
   552          "type": "object",
   553          "title": "gitlab_sync_export",
   554          "properties": {
   555            "merge_request_id": {
   556              "type": "integer"
   557            },
   558            "merge_request_web_url": {
   559              "type": "string"
   560            }
   561          },
   562          "example": {
   563            "merge_request_id": 1234,
   564            "merge_request_web_url": "https://gitlab.com/account/project/-/merge_requests/1234"
   565          }
   566        },
   567        "gitlab_sync_history": {
   568          "type": "object",
   569          "title": "gitlab_sync_history",
   570          "properties": {
   571            "status": {
   572              "type": "string"
   573            },
   574            "action": {
   575              "type": "string"
   576            },
   577            "errors": {
   578              "type": "array",
   579              "items": {
   580                "type": "object",
   581                "properties": {
   582                  "error": {
   583                    "type": "string"
   584                  },
   585                  "message": {
   586                    "type": "string"
   587                  }
   588                }
   589              }
   590            },
   591            "date": {
   592              "type": "string",
   593              "format": "date-time"
   594            },
   595            "details": {
   596              "type": "object"
   597            }
   598          },
   599          "example": {
   600            "type": "history",
   601            "attributes": {
   602              "status": "success",
   603              "action": "import",
   604              "errors": [
   605                {
   606                  "error": "error type",
   607                  "message": "can't be blank"
   608                }
   609              ],
   610              "date": "2015-01-28T12:55:14.000+00:00",
   611              "details": {
   612                "auto_import": false
   613              }
   614            }
   615          }
   616        },
   617        "blacklisted_key": {
   618          "type": "object",
   619          "title": "blacklisted_key",
   620          "properties": {
   621            "id": {
   622              "type": "string"
   623            },
   624            "name": {
   625              "type": "string"
   626            },
   627            "created_at": {
   628              "type": "string",
   629              "format": "date-time"
   630            },
   631            "updated_at": {
   632              "type": "string",
   633              "format": "date-time"
   634            }
   635          },
   636          "example": {
   637            "id": "abcd1234cdef1234abcd1234cdef1234",
   638            "name": "date.formats.*",
   639            "created_at": "2015-01-28T09:52:53Z",
   640            "updated_at": "2015-01-28T09:52:53Z"
   641          }
   642        },
   643        "comment": {
   644          "type": "object",
   645          "title": "comment",
   646          "properties": {
   647            "id": {
   648              "type": "string"
   649            },
   650            "message": {
   651              "type": "string"
   652            },
   653            "has_replies": {
   654              "type": "boolean"
   655            },
   656            "user": {
   657              "$ref": "#/components/schemas/user_preview"
   658            },
   659            "created_at": {
   660              "type": "string",
   661              "format": "date-time"
   662            },
   663            "updated_at": {
   664              "type": "string",
   665              "format": "date-time"
   666            },
   667            "mentioned_users": {
   668              "type": "array",
   669              "items": {
   670                "$ref": "#/components/schemas/user_preview"
   671              }
   672            },
   673            "locales": {
   674              "type": "array",
   675              "items": {
   676                "$ref": "#/components/schemas/locale_preview"
   677              }
   678            }
   679          },
   680          "example": {
   681            "id": "abcd1234cdef1234abcd1234cdef1234",
   682            "message": "Some message...",
   683            "has_replies": true,
   684            "user": {
   685              "id": "abcd1234cdef1234abcd1234cdef1234",
   686              "username": "joe.doe",
   687              "name": "Joe Doe"
   688            },
   689            "created_at": "2015-01-28T09:52:53Z",
   690            "updated_at": "2015-01-28T09:52:53Z",
   691            "locales": [
   692              {
   693                "id": "abcd1234cdef1234abcd1234cdef1234",
   694                "name": "English",
   695                "code": "en-GB"
   696              }
   697            ]
   698          }
   699        },
   700        "comment_reaction": {
   701          "type": "object",
   702          "title": "comment_reaction",
   703          "properties": {
   704            "id": {
   705              "type": "string"
   706            },
   707            "emoji": {
   708              "type": "string"
   709            },
   710            "created_at": {
   711              "type": "string",
   712              "format": "date-time"
   713            },
   714            "updated_at": {
   715              "type": "string",
   716              "format": "date-time"
   717            },
   718            "comment": {
   719              "$ref": "#/components/schemas/comment"
   720            },
   721            "user": {
   722              "$ref": "#/components/schemas/user_preview"
   723            }
   724          },
   725          "example": {
   726            "id": "abcd1234cdef1234abcd1234cdef1234",
   727            "emoji": "🔥",
   728            "created_at": "2015-01-28T09:52:53Z",
   729            "updated_at": "2015-01-28T09:52:53Z",
   730            "comment": {
   731              "id": "abcd1234cdef1234abcd1234cdef1234",
   732              "message": "Some comment...",
   733              "name": "Joe Doe"
   734            },
   735            "user": {
   736              "id": "abcd1234cdef1234abcd1234cdef1234",
   737              "username": "joe.doe",
   738              "name": "Joe Doe"
   739            }
   740          }
   741        },
   742        "custom_metadata_property": {
   743          "type": "object",
   744          "title": "custom_metadata_property",
   745          "properties": {
   746            "id": {
   747              "type": "string"
   748            },
   749            "name": {
   750              "type": "string"
   751            },
   752            "description": {
   753              "type": "string"
   754            },
   755            "data_type": {
   756              "$ref": "#/components/schemas/custom_metadata_data_type"
   757            },
   758            "user": {
   759              "$ref": "#/components/schemas/user_preview"
   760            },
   761            "projects": {
   762              "type": "array",
   763              "items": {
   764                "$ref": "#/components/schemas/project_short"
   765              }
   766            },
   767            "value_options": {
   768              "type": "array",
   769              "items": {
   770                "type": "string"
   771              }
   772            },
   773            "created_at": {
   774              "type": "string",
   775              "format": "date-time"
   776            },
   777            "updated_at": {
   778              "type": "string",
   779              "format": "date-time"
   780            }
   781          },
   782          "example": {
   783            "id": "abcd1234cdef1234abcd1234cdef1234",
   784            "name": "Nuts",
   785            "description": "A healthy snack for all ages",
   786            "data_type": "multi_select",
   787            "user": {
   788              "id": "abcd1234cdef1234abcd1234cdef1234",
   789              "username": "joe.doe",
   790              "name": "Joe Doe"
   791            },
   792            "created_at": "2015-01-28T09:52:53Z",
   793            "updated_at": "2015-01-28T09:52:53Z",
   794            "projects": [
   795              {
   796                "id": "abcd1234cdef1234abcd1234cdef1234",
   797                "name": "My Android Project",
   798                "main_format": "xml",
   799                "created_at": "2015-01-28T09:52:53Z",
   800                "updated_at": "2015-01-28T09:52:53Z"
   801              }
   802            ],
   803            "value_options": [
   804              "apple",
   805              "banana",
   806              "coconut"
   807            ]
   808          }
   809        },
   810        "custom_metadata_data_type": {
   811          "type": "string",
   812          "description": "data type of the property",
   813          "enum": [
   814            "boolean",
   815            "date",
   816            "link",
   817            "multi_select",
   818            "number",
   819            "single_select",
   820            "string",
   821            "text"
   822          ],
   823          "example": "string"
   824        },
   825        "key_preview": {
   826          "type": "object",
   827          "title": "key_preview",
   828          "properties": {
   829            "id": {
   830              "type": "string"
   831            },
   832            "name": {
   833              "type": "string"
   834            },
   835            "plural": {
   836              "type": "boolean"
   837            }
   838          },
   839          "example": null
   840        },
   841        "affected_count": {
   842          "type": "object",
   843          "title": "affected_count",
   844          "properties": {
   845            "records_affected": {
   846              "type": "integer"
   847            }
   848          },
   849          "example": {
   850            "records_affected": 96
   851          }
   852        },
   853        "account": {
   854          "type": "object",
   855          "title": "account",
   856          "properties": {
   857            "id": {
   858              "type": "string"
   859            },
   860            "name": {
   861              "type": "string"
   862            },
   863            "slug": {
   864              "type": "string"
   865            },
   866            "company": {
   867              "type": "string"
   868            },
   869            "created_at": {
   870              "type": "string",
   871              "format": "date-time"
   872            },
   873            "updated_at": {
   874              "type": "string",
   875              "format": "date-time"
   876            },
   877            "company_logo_url": {
   878              "type": "string"
   879            }
   880          },
   881          "example": {
   882            "id": "abcd1234",
   883            "name": "Company Account",
   884            "slug": "company_account",
   885            "company": "My Awesome Company",
   886            "created_at": "2015-01-28T09:52:53Z",
   887            "updated_at": "2015-01-28T09:52:53Z",
   888            "company_logo_url": "http://assets.example.com/company_logo.png"
   889          }
   890        },
   891        "account_details": {
   892          "allOf": [
   893            {
   894              "$ref": "#/components/schemas/account"
   895            },
   896            {
   897              "type": "object",
   898              "title": "account_details",
   899              "properties": {
   900                "subscription": {
   901                  "type": "object",
   902                  "title": "subscription",
   903                  "properties": {
   904                    "is_current": {
   905                      "type": "boolean"
   906                    },
   907                    "trial_expired": {
   908                      "type": "boolean"
   909                    }
   910                  },
   911                  "example": {
   912                    "is_current": true,
   913                    "trial_expired": false
   914                  }
   915                },
   916                "slug": {
   917                  "type": "string"
   918                }
   919              },
   920              "example": {
   921                "slug": "company-account",
   922                "subscription": "subscription"
   923              }
   924            }
   925          ]
   926        },
   927        "member": {
   928          "type": "object",
   929          "title": "member",
   930          "properties": {
   931            "id": {
   932              "type": "string"
   933            },
   934            "email": {
   935              "type": "string"
   936            },
   937            "username": {
   938              "type": "string"
   939            },
   940            "created_at": {
   941              "type": "string",
   942              "format": "date-time"
   943            },
   944            "last_activity_at": {
   945              "type": "string",
   946              "format": "date-time"
   947            },
   948            "role": {
   949              "type": "string"
   950            },
   951            "projects": {
   952              "type": "array",
   953              "items": {
   954                "$ref": "#/components/schemas/project_locales"
   955              }
   956            },
   957            "permissions": {
   958              "type": "object"
   959            },
   960            "default_locale_codes": {
   961              "type": "array",
   962              "items": {
   963                "type": "string"
   964              }
   965            },
   966            "teams": {
   967              "type": "array",
   968              "items": {
   969                "$ref": "#/components/schemas/team_short"
   970              }
   971            },
   972            "spaces": {
   973              "type": "array",
   974              "items": {
   975                "type": "object",
   976                "properties": {
   977                  "id": {
   978                    "type": "string"
   979                  },
   980                  "name": {
   981                    "type": "string"
   982                  },
   983                  "created_at": {
   984                    "type": "string",
   985                    "format": "date-time"
   986                  },
   987                  "updated_at": {
   988                    "type": "string",
   989                    "format": "date-time"
   990                  },
   991                  "projects_count": {
   992                    "type": "integer"
   993                  }
   994                }
   995              }
   996            }
   997          },
   998          "example": {
   999            "id": "acbdacbdacbdacbdacbdacbd",
  1000            "email": "foo@bar.com",
  1001            "username": "myname",
  1002            "created_at": "2020-12-07T12:56:21Z",
  1003            "last_activity_at": "2020-12-09T12:56:21Z",
  1004            "role": "Manager",
  1005            "projects": [
  1006              {
  1007                "id": "abcd1234cdef1234abcd1234cdef1234",
  1008                "name": "My Android Project",
  1009                "main_format": "xml",
  1010                "created_at": "2015-01-28T09:52:53Z",
  1011                "updated_at": "2015-01-28T09:52:53Z",
  1012                "locales": [
  1013                  {
  1014                    "id": "abcd1234cdef1234abcd1234cdef1234",
  1015                    "name": "English",
  1016                    "code": "en-Gb"
  1017                  }
  1018                ]
  1019              }
  1020            ],
  1021            "permissions": [
  1022              {
  1023                "create_upload": true,
  1024                "review_translations": true
  1025              }
  1026            ],
  1027            "default_locale_codes": [
  1028              "en",
  1029              "fi"
  1030            ],
  1031            "teams": [
  1032              {
  1033                "id": "04d36d845576b9d494d05e0b70fe813c",
  1034                "name": "Team 1",
  1035                "created_at": "2020-12-07T12:56:21Z",
  1036                "updated_at": "2020-12-07T12:56:21Z"
  1037              }
  1038            ],
  1039            "spaces": [
  1040              {
  1041                "id": "04d36d845576b9d494d05e0b70fe813b",
  1042                "name": "Space2",
  1043                "created_at": "2020-12-07T12:56:21Z",
  1044                "updated_at": "2020-12-07T12:56:21Z",
  1045                "projects_count": 1
  1046              }
  1047            ]
  1048          }
  1049        },
  1050        "member_project_detail": {
  1051          "type": "object",
  1052          "title": "member_project_detail",
  1053          "properties": {
  1054            "id": {
  1055              "type": "string"
  1056            },
  1057            "email": {
  1058              "type": "string"
  1059            },
  1060            "username": {
  1061              "type": "string"
  1062            },
  1063            "role": {
  1064              "type": "string"
  1065            },
  1066            "projects": {
  1067              "type": "array",
  1068              "items": {
  1069                "$ref": "#/components/schemas/project_locales"
  1070              }
  1071            },
  1072            "permissions": {
  1073              "type": "object"
  1074            },
  1075            "locale_ids": {
  1076              "type": "array",
  1077              "items": {
  1078                "type": "string"
  1079              }
  1080            },
  1081            "default_locale_codes": {
  1082              "type": "array",
  1083              "items": {
  1084                "type": "string"
  1085              }
  1086            },
  1087            "spaces": {
  1088              "type": "array",
  1089              "items": {
  1090                "type": "object",
  1091                "properties": {
  1092                  "id": {
  1093                    "type": "string"
  1094                  },
  1095                  "name": {
  1096                    "type": "string"
  1097                  },
  1098                  "created_at": {
  1099                    "type": "string",
  1100                    "format": "date-time"
  1101                  },
  1102                  "updated_at": {
  1103                    "type": "string",
  1104                    "format": "date-time"
  1105                  },
  1106                  "projects_count": {
  1107                    "type": "integer"
  1108                  }
  1109                }
  1110              }
  1111            },
  1112            "project_roles": {
  1113              "type": "array",
  1114              "items": {
  1115                "type": "object",
  1116                "properties": {
  1117                  "project_id": {
  1118                    "type": "string"
  1119                  },
  1120                  "role": {
  1121                    "type": "string"
  1122                  }
  1123                }
  1124              }
  1125            }
  1126          },
  1127          "example": {
  1128            "id": "acbdacbdacbdacbdacbdacbd",
  1129            "email": "foo@bar.com",
  1130            "username": "myname",
  1131            "role": "Manager",
  1132            "projects": [
  1133              {
  1134                "id": "abcd1234cdef1234abcd1234cdef1234",
  1135                "name": "My Android Project",
  1136                "main_format": "xml",
  1137                "created_at": "2015-01-28T09:52:53Z",
  1138                "updated_at": "2015-01-28T09:52:53Z",
  1139                "locales": [
  1140                  {
  1141                    "id": "abcd1234cdef1234abcd1234cdef1234",
  1142                    "name": "English",
  1143                    "code": "en-Gb"
  1144                  }
  1145                ]
  1146              }
  1147            ],
  1148            "permissions": [
  1149              {
  1150                "create_upload": true,
  1151                "review_translations": true
  1152              }
  1153            ],
  1154            "locale_ids": [
  1155              "abcd1234abcd1234abcd1234",
  1156              "abcd1234abcd1234abcd1235"
  1157            ],
  1158            "default_locale_codes": [
  1159              "en",
  1160              "fi"
  1161            ],
  1162            "spaces": [
  1163              {
  1164                "id": "04d36d845576b9d494d05e0b70fe813b",
  1165                "name": "Space2",
  1166                "created_at": "2020-12-07T12:56:21Z",
  1167                "updated_at": "2020-12-07T12:56:21Z",
  1168                "projects_count": 1
  1169              }
  1170            ],
  1171            "project_roles": [
  1172              {
  1173                "project_id": "abcd1234cdef1234abcd1234cdef1234",
  1174                "role": "Developer"
  1175              }
  1176            ]
  1177          }
  1178        },
  1179        "invitation": {
  1180          "type": "object",
  1181          "title": "invitation",
  1182          "properties": {
  1183            "id": {
  1184              "type": "string"
  1185            },
  1186            "email": {
  1187              "type": "string"
  1188            },
  1189            "role": {
  1190              "type": "string"
  1191            },
  1192            "state": {
  1193              "type": "string"
  1194            },
  1195            "projects": {
  1196              "type": "array",
  1197              "items": {
  1198                "$ref": "#/components/schemas/project_short"
  1199              }
  1200            },
  1201            "locales": {
  1202              "type": "array",
  1203              "items": {
  1204                "$ref": "#/components/schemas/locale_preview"
  1205              }
  1206            },
  1207            "teams": {
  1208              "type": "array",
  1209              "items": {
  1210                "$ref": "#/components/schemas/team_short"
  1211              }
  1212            },
  1213            "default_locale_codes": {
  1214              "type": "array",
  1215              "items": {
  1216                "type": "string"
  1217              }
  1218            },
  1219            "permissions": {
  1220              "type": "object"
  1221            },
  1222            "locale_ids": {
  1223              "type": "array",
  1224              "items": {
  1225                "type": "string"
  1226              }
  1227            },
  1228            "created_at": {
  1229              "type": "string",
  1230              "format": "date-time"
  1231            },
  1232            "updated_at": {
  1233              "type": "string",
  1234              "format": "date-time"
  1235            },
  1236            "accepted_at": {
  1237              "type": "string",
  1238              "format": "date-time"
  1239            },
  1240            "spaces": {
  1241              "type": "array",
  1242              "items": {
  1243                "$ref": "#/components/schemas/project/properties/space"
  1244              }
  1245            },
  1246            "project_role": {
  1247              "type": "array",
  1248              "items": {
  1249                "type": "object",
  1250                "properties": {
  1251                  "project_id": {
  1252                    "type": "string"
  1253                  },
  1254                  "role": {
  1255                    "type": "string"
  1256                  }
  1257                }
  1258              }
  1259            }
  1260          },
  1261          "example": {
  1262            "id": "acbdacbdacbdacbdacbdacbd",
  1263            "email": "foo@bar.com",
  1264            "role": "Manager",
  1265            "state": "accepted",
  1266            "projects": [
  1267              {
  1268                "id": "abcd1234cdef1234abcd1234cdef1234",
  1269                "name": "My Android Project",
  1270                "main_format": "xml",
  1271                "created_at": "2015-01-28T09:52:53Z",
  1272                "updated_at": "2015-01-28T09:52:53Z"
  1273              }
  1274            ],
  1275            "locales": [
  1276              {
  1277                "id": "abcd1234cdef1234abcd1234cdef1234",
  1278                "name": "English",
  1279                "code": "en-GB"
  1280              }
  1281            ],
  1282            "default_locale_codes": [
  1283              "en",
  1284              "de"
  1285            ],
  1286            "permissions": [
  1287              {
  1288                "create_upload": true,
  1289                "review_translations": true
  1290              }
  1291            ],
  1292            "locale_ids": [
  1293              "abcd1234abcd1234abcd1234",
  1294              "abcd1234abcd1234abcd1235"
  1295            ],
  1296            "created_at": "2015-01-28T09:52:53Z",
  1297            "updated_at": "2015-01-28T09:52:53Z",
  1298            "accepted_at": "2015-02-28T09:52:53Z",
  1299            "spaces": [
  1300              {
  1301                "id": "04d36d845576b9d494d05e0b70fe813b",
  1302                "name": "Space2",
  1303                "created_at": "2020-12-07T12:56:21Z",
  1304                "updated_at": "2020-12-07T12:56:21Z",
  1305                "projects_count": 1
  1306              }
  1307            ],
  1308            "teams": [
  1309              {
  1310                "id": "04d36d845576b9d494d05e0b70fe813c",
  1311                "name": "Team 1",
  1312                "created_at": "2020-12-07T12:56:21Z",
  1313                "updated_at": "2020-12-07T12:56:21Z"
  1314              }
  1315            ],
  1316            "project_roles": [
  1317              {
  1318                "project_id": "abcd1234cdef1234abcd1234cdef1234",
  1319                "role": "Developer"
  1320              }
  1321            ]
  1322          }
  1323        },
  1324        "figma_attachment": {
  1325          "type": "object",
  1326          "title": "figma_attachment",
  1327          "properties": {
  1328            "id": {
  1329              "type": "string"
  1330            },
  1331            "url": {
  1332              "type": "string"
  1333            },
  1334            "created_at": {
  1335              "type": "string",
  1336              "format": "date-time"
  1337            },
  1338            "updated_at": {
  1339              "type": "string",
  1340              "format": "date-time"
  1341            }
  1342          },
  1343          "example": {
  1344            "id": "626ea67628690c73ac86ac81eec2d185",
  1345            "url": "https://figma.com/file/something",
  1346            "created_at": "2017-01-28T09:52:53Z",
  1347            "updated_at": "2017-01-28T09:52:53Z"
  1348          }
  1349        },
  1350        "glossary": {
  1351          "type": "object",
  1352          "title": "glossary",
  1353          "properties": {
  1354            "id": {
  1355              "type": "string"
  1356            },
  1357            "name": {
  1358              "type": "string"
  1359            },
  1360            "projects": {
  1361              "type": "array",
  1362              "items": {
  1363                "$ref": "#/components/schemas/project_short"
  1364              }
  1365            },
  1366            "created_at": {
  1367              "type": "string",
  1368              "format": "date-time"
  1369            },
  1370            "updated_at": {
  1371              "type": "string",
  1372              "format": "date-time"
  1373            }
  1374          },
  1375          "example": {
  1376            "id": "abcd1234cdef1234abcd1234cdef1234",
  1377            "name": "My glossary",
  1378            "projects": [
  1379              {
  1380                "id": "abcd1234cdef1234abcd1234cdef1234",
  1381                "name": "My Android Project",
  1382                "main_format": "xml",
  1383                "created_at": "2015-01-28T09:52:53Z",
  1384                "updated_at": "2015-01-28T09:52:53Z"
  1385              }
  1386            ],
  1387            "spaces": [
  1388              {
  1389                "id": "abcd1234cdef1234abcd1234cdef1234",
  1390                "name": "My Project Space",
  1391                "projects_count": 1,
  1392                "created_at": "2015-01-28T09:52:53Z",
  1393                "updated_at": "2015-01-28T09:52:53Z"
  1394              }
  1395            ],
  1396            "created_at": "2015-01-28T09:52:53Z",
  1397            "updated_at": "2015-01-28T09:52:53Z"
  1398          }
  1399        },
  1400        "glossary_term": {
  1401          "type": "object",
  1402          "title": "glossary_term",
  1403          "properties": {
  1404            "id": {
  1405              "type": "string"
  1406            },
  1407            "term": {
  1408              "type": "string"
  1409            },
  1410            "description": {
  1411              "type": "string"
  1412            },
  1413            "translatable": {
  1414              "type": "boolean"
  1415            },
  1416            "case_sensitive": {
  1417              "type": "boolean"
  1418            },
  1419            "translations": {
  1420              "type": "array",
  1421              "items": {
  1422                "$ref": "#/components/schemas/glossary_term_translation"
  1423              }
  1424            },
  1425            "created_at": {
  1426              "type": "string",
  1427              "format": "date-time"
  1428            },
  1429            "updated_at": {
  1430              "type": "string",
  1431              "format": "date-time"
  1432            }
  1433          },
  1434          "example": {
  1435            "id": "abcd1234cdef1234abcd1234cdef1233",
  1436            "term": "Save",
  1437            "description": "This term is used on the 'Save' buttons of our website",
  1438            "translatable": true,
  1439            "case_sensitive": true,
  1440            "translations": [
  1441              {
  1442                "id": "abcd1234cdef1234abcd1234cdef1234",
  1443                "locale_code": "fr-FR",
  1444                "content": "Entasser",
  1445                "created_at": "2015-01-28T09:52:53Z",
  1446                "updated_at": "2015-01-28T09:52:53Z"
  1447              },
  1448              {
  1449                "id": "abcd1234cdef1234abcd1234cdef1235",
  1450                "locale_code": "de-DE",
  1451                "content": "Speichern",
  1452                "created_at": "2015-01-28T09:52:53Z",
  1453                "updated_at": "2015-01-28T09:52:53Z"
  1454              }
  1455            ],
  1456            "created_at": "2015-01-28T09:52:53Z",
  1457            "updated_at": "2015-01-28T09:52:53Z"
  1458          }
  1459        },
  1460        "glossary_term_translation": {
  1461          "type": "object",
  1462          "title": "glossary_term_translation",
  1463          "properties": {
  1464            "id": {
  1465              "type": "string"
  1466            },
  1467            "locale_code": {
  1468              "type": "string"
  1469            },
  1470            "content": {
  1471              "type": "string"
  1472            },
  1473            "created_at": {
  1474              "type": "string",
  1475              "format": "date-time"
  1476            },
  1477            "updated_at": {
  1478              "type": "string",
  1479              "format": "date-time"
  1480            }
  1481          },
  1482          "example": {
  1483            "id": "abcd1234cdef1234abcd1234cdef1234",
  1484            "locale_code": "en-US",
  1485            "content": "Save",
  1486            "created_at": "2015-01-28T09:52:53Z",
  1487            "updated_at": "2015-01-28T09:52:53Z"
  1488          }
  1489        },
  1490        "project_short": {
  1491          "type": "object",
  1492          "title": "project_short",
  1493          "properties": {
  1494            "id": {
  1495              "type": "string"
  1496            },
  1497            "name": {
  1498              "type": "string"
  1499            },
  1500            "main_format": {
  1501              "type": "string"
  1502            },
  1503            "created_at": {
  1504              "type": "string",
  1505              "format": "date-time"
  1506            },
  1507            "updated_at": {
  1508              "type": "string",
  1509              "format": "date-time"
  1510            }
  1511          },
  1512          "example": {
  1513            "id": "abcd1234cdef1234abcd1234cdef1234",
  1514            "name": "My Android Project",
  1515            "main_format": "xml",
  1516            "created_at": "2015-01-28T09:52:53Z",
  1517            "updated_at": "2015-01-28T09:52:53Z"
  1518          }
  1519        },
  1520        "project_locales": {
  1521          "allOf": [
  1522            {
  1523              "type": "object",
  1524              "title": "project_member_specific",
  1525              "properties": {
  1526                "id": {
  1527                  "type": "string"
  1528                },
  1529                "name": {
  1530                  "type": "string"
  1531                },
  1532                "project_role": {
  1533                  "type": "string"
  1534                },
  1535                "main_format": {
  1536                  "type": "string"
  1537                },
  1538                "created_at": {
  1539                  "type": "string",
  1540                  "format": "date-time"
  1541                },
  1542                "updated_at": {
  1543                  "type": "string",
  1544                  "format": "date-time"
  1545                }
  1546              },
  1547              "example": {
  1548                "id": "abcd1234cdef1234abcd1234cdef1234",
  1549                "name": "My Android Project",
  1550                "project_role": "Developer",
  1551                "main_format": "xml",
  1552                "created_at": "2015-01-28T09:52:53Z",
  1553                "updated_at": "2015-01-28T09:52:53Z"
  1554              }
  1555            },
  1556            {
  1557              "type": "object",
  1558              "title": "project_locales",
  1559              "properties": {
  1560                "locales": {
  1561                  "type": "array",
  1562                  "items": {
  1563                    "$ref": "#/components/schemas/locale_preview"
  1564                  }
  1565                }
  1566              },
  1567              "example": {
  1568                "locales": [
  1569                  {
  1570                    "id": "abcd1234cdef1234abcd1234cdef1234",
  1571                    "name": "English",
  1572                    "code": "en-GB"
  1573                  }
  1574                ]
  1575              }
  1576            }
  1577          ]
  1578        },
  1579        "project_report": {
  1580          "type": "object",
  1581          "title": "project report",
  1582          "properties": {
  1583            "locales_count": {
  1584              "type": "integer"
  1585            },
  1586            "keys_count": {
  1587              "type": "integer"
  1588            },
  1589            "translations_count": {
  1590              "type": "integer"
  1591            },
  1592            "untranslated_keys_count": {
  1593              "type": "integer"
  1594            },
  1595            "unverified_translations_count": {
  1596              "type": "integer"
  1597            },
  1598            "reviewed_translations_count": {
  1599              "type": "integer"
  1600            },
  1601            "managed_words_count": {
  1602              "type": "integer"
  1603            },
  1604            "project": {
  1605              "$ref": "#/components/schemas/project_short"
  1606            }
  1607          }
  1608        },
  1609        "locale_preview": {
  1610          "type": "object",
  1611          "title": "locale_preview",
  1612          "properties": {
  1613            "id": {
  1614              "type": "string"
  1615            },
  1616            "name": {
  1617              "type": "string"
  1618            },
  1619            "code": {
  1620              "type": "string"
  1621            }
  1622          },
  1623          "example": {
  1624            "id": "abcd1234cdef1234abcd1234cdef1234",
  1625            "name": "English",
  1626            "code": "en-GB"
  1627          }
  1628        },
  1629        "locale": {
  1630          "type": "object",
  1631          "title": "locale",
  1632          "properties": {
  1633            "id": {
  1634              "type": "string"
  1635            },
  1636            "name": {
  1637              "type": "string"
  1638            },
  1639            "code": {
  1640              "type": "string"
  1641            },
  1642            "default": {
  1643              "type": "boolean"
  1644            },
  1645            "main": {
  1646              "type": "boolean"
  1647            },
  1648            "rtl": {
  1649              "type": "boolean"
  1650            },
  1651            "plural_forms": {
  1652              "type": "array",
  1653              "items": {
  1654                "type": "string"
  1655              }
  1656            },
  1657            "source_locale": {
  1658              "$ref": "#/components/schemas/locale_preview"
  1659            },
  1660            "fallback_locale": {
  1661              "$ref": "#/components/schemas/locale_preview"
  1662            },
  1663            "created_at": {
  1664              "type": "string",
  1665              "format": "date-time"
  1666            },
  1667            "updated_at": {
  1668              "type": "string",
  1669              "format": "date-time"
  1670            }
  1671          },
  1672          "example": {
  1673            "id": "abcd1234cdef1234abcd1234cdef1234",
  1674            "name": "de",
  1675            "code": "de-DE",
  1676            "default": true,
  1677            "main": false,
  1678            "rtl": false,
  1679            "plural_forms": [
  1680              "zero",
  1681              "one",
  1682              "other"
  1683            ],
  1684            "source_locale": {
  1685              "id": "abcd1234cdef1234abcd1234cdef1234",
  1686              "name": "en",
  1687              "code": "en-GB"
  1688            },
  1689            "fallback_locale": {
  1690              "id": "abcd1234cdef1234abcd1234cdef1234",
  1691              "name": "en",
  1692              "code": "en-GB"
  1693            },
  1694            "created_at": "2015-01-28T09:52:53Z",
  1695            "updated_at": "2015-01-28T09:52:53Z"
  1696          }
  1697        },
  1698        "locale_statistics": {
  1699          "type": "object",
  1700          "title": "locale_statistics",
  1701          "properties": {
  1702            "keys_total_count": {
  1703              "type": "integer"
  1704            },
  1705            "keys_untranslated_count": {
  1706              "type": "integer"
  1707            },
  1708            "words_total_count": {
  1709              "type": "integer"
  1710            },
  1711            "translations_completed_count": {
  1712              "type": "integer"
  1713            },
  1714            "translations_unverified_count": {
  1715              "type": "integer"
  1716            },
  1717            "unverified_words_count": {
  1718              "type": "integer"
  1719            },
  1720            "missing_words_count": {
  1721              "type": "integer"
  1722            }
  1723          },
  1724          "example": null
  1725        },
  1726        "locale_report": {
  1727          "type": "object",
  1728          "title": "locale report",
  1729          "properties": {
  1730            "keys_count": {
  1731              "type": "integer"
  1732            },
  1733            "translated_translations_percentage": {
  1734              "type": "integer"
  1735            },
  1736            "unverified_translations_percentage": {
  1737              "type": "integer"
  1738            },
  1739            "reviewed_translations_percentage": {
  1740              "type": "integer"
  1741            },
  1742            "untranslated_keys_percentage": {
  1743              "type": "integer"
  1744            },
  1745            "completed_translations_count": {
  1746              "type": "integer"
  1747            },
  1748            "untranslated_keys_count": {
  1749              "type": "integer"
  1750            },
  1751            "unverified_translations_count": {
  1752              "type": "integer"
  1753            },
  1754            "reviewed_translations_count": {
  1755              "type": "integer"
  1756            },
  1757            "source_word_count": {
  1758              "type": "integer"
  1759            },
  1760            "word_count": {
  1761              "type": "integer"
  1762            },
  1763            "word_count_unverified": {
  1764              "type": "integer"
  1765            },
  1766            "word_count_missing": {
  1767              "type": "integer"
  1768            },
  1769            "locale": {
  1770              "$ref": "#/components/schemas/locale_preview"
  1771            }
  1772          }
  1773        },
  1774        "locale_details": {
  1775          "allOf": [
  1776            {
  1777              "$ref": "#/components/schemas/locale"
  1778            },
  1779            {
  1780              "type": "object",
  1781              "title": "locale_details",
  1782              "properties": {
  1783                "statistics": {
  1784                  "$ref": "#/components/schemas/locale_statistics"
  1785                }
  1786              },
  1787              "example": {
  1788                "statistics": {
  1789                  "keys_total_count": 2120,
  1790                  "keys_untranslated_count": 100,
  1791                  "words_total_count": 3102102,
  1792                  "translations_completed_count": 1920,
  1793                  "translations_unverified_count": 32,
  1794                  "unverified_words_count": 129,
  1795                  "missing_words_count": 3920
  1796                }
  1797              }
  1798            }
  1799          ]
  1800        },
  1801        "locale_user_preview": {
  1802          "type": "object",
  1803          "title": "locale_user_preview",
  1804          "properties": {
  1805            "id": {
  1806              "type": "string"
  1807            },
  1808            "username": {
  1809              "type": "string"
  1810            },
  1811            "name": {
  1812              "type": "string"
  1813            },
  1814            "role": {
  1815              "type": "string"
  1816            }
  1817          },
  1818          "example": null
  1819        },
  1820        "locale_team_preview": {
  1821          "type": "object",
  1822          "title": "locale_team_preview",
  1823          "properties": {
  1824            "id": {
  1825              "type": "string"
  1826            },
  1827            "name": {
  1828              "type": "string"
  1829            },
  1830            "role": {
  1831              "type": "string"
  1832            }
  1833          },
  1834          "example": null
  1835        },
  1836        "upload": {
  1837          "type": "object",
  1838          "title": "upload",
  1839          "properties": {
  1840            "id": {
  1841              "type": "string"
  1842            },
  1843            "filename": {
  1844              "type": "string"
  1845            },
  1846            "format": {
  1847              "type": "string"
  1848            },
  1849            "state": {
  1850              "type": "string"
  1851            },
  1852            "tag": {
  1853              "type": "string"
  1854            },
  1855            "url": {
  1856              "type": "string",
  1857              "description": "The URL to the upload in Phrase Strings app.\n"
  1858            },
  1859            "summary": {
  1860              "type": "object",
  1861              "properties": {
  1862                "locales_created": {
  1863                  "type": "integer"
  1864                },
  1865                "translation_keys_created": {
  1866                  "type": "integer"
  1867                },
  1868                "translation_keys_updated": {
  1869                  "type": "integer"
  1870                },
  1871                "translation_keys_unmentioned": {
  1872                  "type": "integer"
  1873                },
  1874                "translations_created": {
  1875                  "type": "integer"
  1876                },
  1877                "translations_updated": {
  1878                  "type": "integer"
  1879                },
  1880                "tags_created": {
  1881                  "type": "integer"
  1882                },
  1883                "translation_keys_ignored": {
  1884                  "type": "integer"
  1885                }
  1886              }
  1887            },
  1888            "created_at": {
  1889              "type": "string",
  1890              "format": "date-time"
  1891            },
  1892            "updated_at": {
  1893              "type": "string",
  1894              "format": "date-time"
  1895            }
  1896          },
  1897          "example": {
  1898            "id": "abcd1234cdef1234abcd1234cdef1234",
  1899            "filename": "example.json",
  1900            "format": "json",
  1901            "state": "success",
  1902            "tag": "tag",
  1903            "summary": {
  1904              "locales_created": 2,
  1905              "translation_keys_created": 162,
  1906              "translation_keys_updated": 10,
  1907              "translation_keys_unmentioned": 0,
  1908              "translations_created": 291,
  1909              "translations_updated": 3,
  1910              "tags_created": 2,
  1911              "translation_keys_ignored": 0
  1912            },
  1913            "created_at": "2015-01-28T09:52:53Z",
  1914            "updated_at": "2015-01-28T09:52:53Z"
  1915          }
  1916        },
  1917        "format": {
  1918          "type": "object",
  1919          "title": "format",
  1920          "properties": {
  1921            "name": {
  1922              "type": "string"
  1923            },
  1924            "api_name": {
  1925              "type": "string"
  1926            },
  1927            "description": {
  1928              "type": "string"
  1929            },
  1930            "extension": {
  1931              "type": "string"
  1932            },
  1933            "default_encoding": {
  1934              "type": "string"
  1935            },
  1936            "importable": {
  1937              "type": "boolean"
  1938            },
  1939            "exportable": {
  1940              "type": "boolean"
  1941            },
  1942            "default_file": {
  1943              "type": "string"
  1944            },
  1945            "renders_default_locale": {
  1946              "type": "boolean"
  1947            },
  1948            "includes_locale_information": {
  1949              "type": "boolean"
  1950            }
  1951          },
  1952          "example": {
  1953            "name": "Ruby/Rails YAML",
  1954            "api_name": "yml",
  1955            "description": "YAML file format for use with Ruby/Rails applications",
  1956            "extension": "yml",
  1957            "default_encoding": "UTF-8",
  1958            "importable": true,
  1959            "exportable": true,
  1960            "default_file": "./config/locales/<locale_name>.yml",
  1961            "renders_default_locale": false,
  1962            "includes_locale_information": true
  1963          }
  1964        },
  1965        "project": {
  1966          "type": "object",
  1967          "title": "project",
  1968          "properties": {
  1969            "id": {
  1970              "type": "string"
  1971            },
  1972            "name": {
  1973              "type": "string"
  1974            },
  1975            "slug": {
  1976              "type": "string"
  1977            },
  1978            "main_format": {
  1979              "type": "string"
  1980            },
  1981            "project_image_url": {
  1982              "type": "string"
  1983            },
  1984            "media": {
  1985              "type": "string"
  1986            },
  1987            "account": {
  1988              "$ref": "#/components/schemas/account"
  1989            },
  1990            "space": {
  1991              "type": "object",
  1992              "title": "space",
  1993              "properties": {
  1994                "id": {
  1995                  "type": "string"
  1996                },
  1997                "name": {
  1998                  "type": "string"
  1999                },
  2000                "created_at": {
  2001                  "type": "string",
  2002                  "format": "date-time"
  2003                },
  2004                "updated_at": {
  2005                  "type": "string",
  2006                  "format": "date-time"
  2007                },
  2008                "projects_count": {
  2009                  "type": "integer"
  2010                }
  2011              },
  2012              "example": {
  2013                "id": "2e7574e8f2372906a03110c2a7cfe671",
  2014                "name": "My first space",
  2015                "created_at": "2020-02-25T12:17:25Z",
  2016                "updated_at": "2020-03-13T14:46:57Z",
  2017                "projects_count": 2
  2018              }
  2019            },
  2020            "point_of_contact": {
  2021              "$ref": "#/components/schemas/user_preview"
  2022            },
  2023            "created_at": {
  2024              "type": "string",
  2025              "format": "date-time"
  2026            },
  2027            "updated_at": {
  2028              "type": "string",
  2029              "format": "date-time"
  2030            }
  2031          },
  2032          "example": {
  2033            "id": "abcd1234cdef1234abcd1234cdef1234",
  2034            "name": "My Android Project",
  2035            "slug": "android_project",
  2036            "main_format": "xml",
  2037            "project_image_url": "http://assets.example.com/project.png",
  2038            "account": "account",
  2039            "space": "space",
  2040            "created_at": "2015-01-28T09:52:53Z",
  2041            "updated_at": "2015-01-28T09:52:53Z"
  2042          }
  2043        },
  2044        "project_details": {
  2045          "allOf": [
  2046            {
  2047              "$ref": "#/components/schemas/project"
  2048            },
  2049            {
  2050              "type": "object",
  2051              "title": "project_details",
  2052              "properties": {
  2053                "slug": {
  2054                  "type": "string"
  2055                },
  2056                "shares_translation_memory": {
  2057                  "type": "boolean"
  2058                }
  2059              },
  2060              "example": {
  2061                "slug": "my-android-project",
  2062                "shares_translation_memory": true
  2063              }
  2064            }
  2065          ]
  2066        },
  2067        "styleguide": {
  2068          "type": "object",
  2069          "title": "styleguide",
  2070          "properties": {
  2071            "id": {
  2072              "type": "string"
  2073            },
  2074            "title": {
  2075              "type": "string"
  2076            },
  2077            "created_at": {
  2078              "type": "string",
  2079              "format": "date-time"
  2080            },
  2081            "updated_at": {
  2082              "type": "string",
  2083              "format": "date-time"
  2084            }
  2085          },
  2086          "example": {
  2087            "id": "abcd1234cdef1234abcd1234cdef1234",
  2088            "title": "My Style Guide",
  2089            "created_at": "2015-01-28T09:52:53Z",
  2090            "updated_at": "2015-01-28T09:52:53Z"
  2091          }
  2092        },
  2093        "styleguide_preview": {
  2094          "type": "object",
  2095          "title": "styleguide_preview",
  2096          "properties": {
  2097            "id": {
  2098              "type": "string"
  2099            },
  2100            "title": {
  2101              "type": "string"
  2102            }
  2103          },
  2104          "example": {
  2105            "id": "abcd1234cdef1234abcd1234cdef1234",
  2106            "title": "My Style Guide"
  2107          }
  2108        },
  2109        "styleguide_details": {
  2110          "allOf": [
  2111            {
  2112              "$ref": "#/components/schemas/styleguide"
  2113            },
  2114            {
  2115              "type": "object",
  2116              "title": "styleguide_details",
  2117              "properties": {
  2118                "public_url": {
  2119                  "type": "string"
  2120                },
  2121                "audience": {
  2122                  "type": "string"
  2123                },
  2124                "target_audience": {
  2125                  "type": "string"
  2126                },
  2127                "grammatical_person": {
  2128                  "type": "string"
  2129                },
  2130                "vocabulary_type": {
  2131                  "type": "string"
  2132                },
  2133                "business": {
  2134                  "type": "string"
  2135                },
  2136                "company_branding": {
  2137                  "type": "string"
  2138                },
  2139                "formatting": {
  2140                  "type": "string"
  2141                },
  2142                "glossary_terms": {
  2143                  "type": "string"
  2144                },
  2145                "grammar_consistency": {
  2146                  "type": "string"
  2147                },
  2148                "literal_translation": {
  2149                  "type": "string"
  2150                },
  2151                "overall_tone": {
  2152                  "type": "string"
  2153                },
  2154                "samples": {
  2155                  "type": "string"
  2156                }
  2157              },
  2158              "example": {
  2159                "public_url": "https://phrase.com/styleguide/my-project/26f065cf597be340",
  2160                "audience": "customer-facing",
  2161                "target_audience": "teenager",
  2162                "grammatical_person": "first_person_singular",
  2163                "vocabulary_type": "technical",
  2164                "business": "We are a travel site that helps customers find the best hotels and flights.",
  2165                "company_branding": "ACME Inc. should never be translated.",
  2166                "formatting": "Never use capital letters",
  2167                "glossary_terms": "Apartment, cabin, loft",
  2168                "grammar_consistency": "",
  2169                "literal_translation": "Neutral",
  2170                "overall_tone": "Tone should be fun and light",
  2171                "samples": "http://www.myexample.com/my/document/path/to/samples.pdf"
  2172              }
  2173            }
  2174          ]
  2175        },
  2176        "tag": {
  2177          "type": "object",
  2178          "title": "tag",
  2179          "properties": {
  2180            "name": {
  2181              "type": "string"
  2182            },
  2183            "keys_count": {
  2184              "type": "integer"
  2185            },
  2186            "created_at": {
  2187              "type": "string",
  2188              "format": "date-time"
  2189            },
  2190            "updated_at": {
  2191              "type": "string",
  2192              "format": "date-time"
  2193            }
  2194          },
  2195          "example": {
  2196            "name": "my-feature",
  2197            "keys_count": 8,
  2198            "created_at": "2015-01-28T09:52:53Z",
  2199            "updated_at": "2015-01-28T09:52:53Z"
  2200          }
  2201        },
  2202        "tag_with_stats": {
  2203          "allOf": [
  2204            {
  2205              "$ref": "#/components/schemas/tag"
  2206            },
  2207            {
  2208              "type": "object",
  2209              "title": "tag_with_stats",
  2210              "properties": {
  2211                "statistics": {
  2212                  "type": "array",
  2213                  "items": {
  2214                    "type": "object",
  2215                    "properties": {
  2216                      "locale": {
  2217                        "$ref": "#/components/schemas/locale_preview"
  2218                      },
  2219                      "statistics": {
  2220                        "type": "object",
  2221                        "properties": {
  2222                          "keys_total_count": {
  2223                            "type": "integer"
  2224                          },
  2225                          "translations_completed_count": {
  2226                            "type": "integer"
  2227                          },
  2228                          "translations_unverified_count": {
  2229                            "type": "integer"
  2230                          },
  2231                          "keys_untranslated_count": {
  2232                            "type": "integer"
  2233                          }
  2234                        }
  2235                      }
  2236                    }
  2237                  }
  2238                }
  2239              },
  2240              "example": {
  2241                "statistics": [
  2242                  {
  2243                    "locale": {
  2244                      "id": "abcd1234cdef1234abcd1234cdef1234",
  2245                      "name": "de",
  2246                      "code": "de-DE"
  2247                    },
  2248                    "statistics": {
  2249                      "keys_total_count": 12,
  2250                      "translations_completed_count": 9,
  2251                      "translations_unverified_count": 11,
  2252                      "keys_untranslated_count": 3
  2253                    }
  2254                  }
  2255                ]
  2256              }
  2257            }
  2258          ]
  2259        },
  2260        "translation": {
  2261          "type": "object",
  2262          "title": "translation",
  2263          "properties": {
  2264            "id": {
  2265              "type": "string"
  2266            },
  2267            "content": {
  2268              "type": "string",
  2269              "x-json-tag": "json:\"content\""
  2270            },
  2271            "unverified": {
  2272              "type": "boolean"
  2273            },
  2274            "excluded": {
  2275              "type": "boolean"
  2276            },
  2277            "plural_suffix": {
  2278              "type": "string"
  2279            },
  2280            "key": {
  2281              "$ref": "#/components/schemas/key_preview"
  2282            },
  2283            "locale": {
  2284              "$ref": "#/components/schemas/locale_preview"
  2285            },
  2286            "placeholders": {
  2287              "type": "array",
  2288              "items": {
  2289                "type": "string"
  2290              }
  2291            },
  2292            "state": {
  2293              "type": "string"
  2294            },
  2295            "created_at": {
  2296              "type": "string",
  2297              "format": "date-time"
  2298            },
  2299            "updated_at": {
  2300              "type": "string",
  2301              "format": "date-time"
  2302            }
  2303          },
  2304          "example": {
  2305            "id": "abcd1234cdef1234abcd1234cdef1234",
  2306            "content": "My translation",
  2307            "unverified": false,
  2308            "excluded": false,
  2309            "plural_suffix": "",
  2310            "key": {
  2311              "id": "abcd1234cdef1234abcd1234cdef1234",
  2312              "name": "home.index.headline",
  2313              "plural": false
  2314            },
  2315            "locale": {
  2316              "id": "abcd1234cdef1234abcd1234cdef1234",
  2317              "name": "de",
  2318              "code": "de-DE"
  2319            },
  2320            "placeholders": [
  2321              "%{count}"
  2322            ],
  2323            "state": "translated",
  2324            "created_at": "2015-01-28T09:52:53Z",
  2325            "updated_at": "2015-01-28T09:52:53Z"
  2326          }
  2327        },
  2328        "translation_details": {
  2329          "allOf": [
  2330            {
  2331              "$ref": "#/components/schemas/translation"
  2332            },
  2333            {
  2334              "type": "object",
  2335              "title": "translation_details",
  2336              "properties": {
  2337                "user": {
  2338                  "$ref": "#/components/schemas/user_preview"
  2339                },
  2340                "word_count": {
  2341                  "type": "integer"
  2342                },
  2343                "linked_translation": {
  2344                  "type": "object",
  2345                  "title": "translation_parent",
  2346                  "properties": {
  2347                    "id": {
  2348                      "type": "string"
  2349                    },
  2350                    "content": {
  2351                      "type": "string"
  2352                    }
  2353                  },
  2354                  "example": {
  2355                    "id": "abcd1234cdef1234abcd1234cdef1234",
  2356                    "content": "My parent translation"
  2357                  }
  2358                }
  2359              },
  2360              "example": {
  2361                "user": {
  2362                  "id": "abcd1234cdef1234abcd1234cdef1234",
  2363                  "username": "joe.doe",
  2364                  "name": "Joe Doe"
  2365                },
  2366                "word_count": 2
  2367              }
  2368            }
  2369          ]
  2370        },
  2371        "translation_key": {
  2372          "type": "object",
  2373          "title": "translation_key",
  2374          "properties": {
  2375            "id": {
  2376              "type": "string"
  2377            },
  2378            "name": {
  2379              "type": "string"
  2380            },
  2381            "description": {
  2382              "type": "string"
  2383            },
  2384            "name_hash": {
  2385              "type": "string"
  2386            },
  2387            "plural": {
  2388              "type": "boolean"
  2389            },
  2390            "tags": {
  2391              "type": "array",
  2392              "items": {
  2393                "type": "string"
  2394              }
  2395            },
  2396            "data_type": {
  2397              "type": "string"
  2398            },
  2399            "created_at": {
  2400              "type": "string",
  2401              "format": "date-time"
  2402            },
  2403            "updated_at": {
  2404              "type": "string",
  2405              "format": "date-time"
  2406            }
  2407          },
  2408          "example": {
  2409            "id": "abcd1234cdef1234abcd1234cdef1234",
  2410            "name": "home.index.headline",
  2411            "description": "My description for this key...",
  2412            "name_hash": "1b31d2580ce324f246f66b3be00ed399",
  2413            "plural": false,
  2414            "tags": [
  2415              "awesome-feature",
  2416              "needs-proofreading"
  2417            ],
  2418            "data_type": "string",
  2419            "created_at": "2015-01-28T09:52:53Z",
  2420            "updated_at": "2015-01-28T09:52:53Z"
  2421          }
  2422        },
  2423        "translation_key_details": {
  2424          "allOf": [
  2425            {
  2426              "$ref": "#/components/schemas/translation_key"
  2427            },
  2428            {
  2429              "type": "object",
  2430              "title": "translation_key_details",
  2431              "properties": {
  2432                "name_plural": {
  2433                  "type": "string"
  2434                },
  2435                "comments_count": {
  2436                  "type": "integer"
  2437                },
  2438                "max_characters_allowed": {
  2439                  "type": "integer"
  2440                },
  2441                "screenshot_url": {
  2442                  "type": "string"
  2443                },
  2444                "unformatted": {
  2445                  "type": "boolean"
  2446                },
  2447                "xml_space_preserve": {
  2448                  "type": "boolean"
  2449                },
  2450                "original_file": {
  2451                  "type": "string"
  2452                },
  2453                "format_value_type": {
  2454                  "type": "string"
  2455                },
  2456                "creator": {
  2457                  "$ref": "#/components/schemas/user_preview"
  2458                },
  2459                "custom_metadata": {
  2460                  "type": "object",
  2461                  "title": "custom_metadata",
  2462                  "additionalProperties": {
  2463                    "type": "string"
  2464                  }
  2465                }
  2466              },
  2467              "example": {
  2468                "name_plural": "home.index.headlines",
  2469                "comments_count": 2,
  2470                "data_type": "string",
  2471                "max_characters_allowed": 140,
  2472                "screenshot_url": "http://assets.example.com/screenshot.png",
  2473                "unformatted": false,
  2474                "xml_space_preserve": false,
  2475                "original_file": "",
  2476                "format_value_type": "",
  2477                "creator": {
  2478                  "id": "abcd1234cdef1234abcd1234cdef1234",
  2479                  "username": "joe.doe",
  2480                  "name": "Joe Doe"
  2481                },
  2482                "custom_metadata": {
  2483                  "fruit": "Apple",
  2484                  "vegetable": "Tomato"
  2485                }
  2486              }
  2487            }
  2488          ]
  2489        },
  2490        "affected_resources": {
  2491          "type": "object",
  2492          "title": "affected_resources",
  2493          "properties": {
  2494            "records_affected": {
  2495              "type": "integer"
  2496            }
  2497          },
  2498          "example": {
  2499            "records_affected": 2
  2500          }
  2501        },
  2502        "translation_order": {
  2503          "type": "object",
  2504          "title": "translation_order",
  2505          "properties": {
  2506            "id": {
  2507              "type": "string"
  2508            },
  2509            "name": {
  2510              "type": "string"
  2511            },
  2512            "lsp": {
  2513              "type": "string"
  2514            },
  2515            "amount_in_cents": {
  2516              "type": "integer"
  2517            },
  2518            "currency": {
  2519              "type": "string"
  2520            },
  2521            "message": {
  2522              "type": "string"
  2523            },
  2524            "state": {
  2525              "type": "string"
  2526            },
  2527            "translation_type": {
  2528              "type": "string"
  2529            },
  2530            "progress_percent": {
  2531              "type": "integer"
  2532            },
  2533            "source_locale": {
  2534              "$ref": "#/components/schemas/locale_preview"
  2535            },
  2536            "target_locales": {
  2537              "type": "array",
  2538              "items": {
  2539                "$ref": "#/components/schemas/locale_preview"
  2540              }
  2541            },
  2542            "tag": {
  2543              "type": "string"
  2544            },
  2545            "styleguide": {
  2546              "$ref": "#/components/schemas/styleguide_preview"
  2547            },
  2548            "unverify_translations_upon_delivery": {
  2549              "type": "boolean"
  2550            },
  2551            "quality": {
  2552              "type": "boolean"
  2553            },
  2554            "priority": {
  2555              "type": "boolean"
  2556            },
  2557            "created_at": {
  2558              "type": "string",
  2559              "format": "date-time"
  2560            },
  2561            "updated_at": {
  2562              "type": "string",
  2563              "format": "date-time"
  2564            }
  2565          },
  2566          "example": {
  2567            "id": "30AB4884",
  2568            "lsp": "gengo",
  2569            "amount_in_cents": 1152,
  2570            "currency": "usd",
  2571            "message": "Please make everything sound really nice :)",
  2572            "state": "confirmed",
  2573            "translation_type": "pro",
  2574            "progress_percent": 50,
  2575            "source_locale": {
  2576              "id": "abcd1234cdef1234abcd1234cdef1234",
  2577              "name": "en",
  2578              "code": "en-GB"
  2579            },
  2580            "target_locales": [
  2581              {
  2582                "id": "abcd1234cdef1234abcd1234cdef1234",
  2583                "name": "de",
  2584                "code": "de-DE"
  2585              },
  2586              {
  2587                "id": "abcd1234cdef1234abcd1234cdef1234",
  2588                "name": "fr",
  2589                "code": "fr-FR"
  2590              }
  2591            ],
  2592            "tag": "latest-upload",
  2593            "styleguide": {
  2594              "id": "abcd1234cdef1234abcd1234cdef1234",
  2595              "title": "My Styleguide"
  2596            },
  2597            "unverify_translations_upon_delivery": true,
  2598            "quality": true,
  2599            "priority": true,
  2600            "created_at": "2015-01-28T09:52:53Z",
  2601            "updated_at": "2015-01-28T09:52:53Z"
  2602          }
  2603        },
  2604        "translation_version": {
  2605          "type": "object",
  2606          "title": "translation_version",
  2607          "properties": {
  2608            "id": {
  2609              "type": "string"
  2610            },
  2611            "content": {
  2612              "type": "string"
  2613            },
  2614            "plural_suffix": {
  2615              "type": "string"
  2616            },
  2617            "key": {
  2618              "$ref": "#/components/schemas/key_preview"
  2619            },
  2620            "locale": {
  2621              "$ref": "#/components/schemas/locale_preview"
  2622            },
  2623            "created_at": {
  2624              "type": "string",
  2625              "format": "date-time"
  2626            },
  2627            "updated_at": {
  2628              "type": "string",
  2629              "format": "date-time"
  2630            },
  2631            "changed_at": {
  2632              "type": "string",
  2633              "format": "date-time"
  2634            }
  2635          },
  2636          "example": {
  2637            "id": "abcd1234cdef1234abcd1234cdef1234",
  2638            "content": "My translation",
  2639            "plural_suffix": "",
  2640            "key": {
  2641              "id": "abcd1234cdef1234abcd1234cdef1234",
  2642              "name": "home.index.headline",
  2643              "plural": false
  2644            },
  2645            "locale": {
  2646              "id": "abcd1234cdef1234abcd1234cdef1234",
  2647              "name": "en",
  2648              "code": "en-GB"
  2649            },
  2650            "created_at": "2015-01-28T09:52:53Z",
  2651            "updated_at": "2015-01-28T09:52:53Z",
  2652            "changed_at": "2015-01-28T09:52:53Z"
  2653          }
  2654        },
  2655        "translation_version_with_user": {
  2656          "allOf": [
  2657            {
  2658              "$ref": "#/components/schemas/translation_version"
  2659            },
  2660            {
  2661              "type": "object",
  2662              "title": "translation_version_with_user",
  2663              "properties": {
  2664                "user": {
  2665                  "$ref": "#/components/schemas/user_preview"
  2666                }
  2667              },
  2668              "example": {
  2669                "user": {
  2670                  "id": "abcd1234cdef1234abcd1234cdef1234",
  2671                  "username": "joe.doe",
  2672                  "name": "Joe Doe"
  2673                }
  2674              }
  2675            }
  2676          ]
  2677        },
  2678        "user_preview": {
  2679          "type": "object",
  2680          "title": "user_preview",
  2681          "properties": {
  2682            "id": {
  2683              "type": "string"
  2684            },
  2685            "username": {
  2686              "type": "string"
  2687            },
  2688            "name": {
  2689              "type": "string"
  2690            },
  2691            "gravatar_uid": {
  2692              "type": "string"
  2693            }
  2694          },
  2695          "example": null
  2696        },
  2697        "user": {
  2698          "type": "object",
  2699          "title": "user",
  2700          "properties": {
  2701            "id": {
  2702              "type": "string"
  2703            },
  2704            "username": {
  2705              "type": "string"
  2706            },
  2707            "name": {
  2708              "type": "string"
  2709            },
  2710            "position": {
  2711              "type": "string"
  2712            },
  2713            "created_at": {
  2714              "type": "string",
  2715              "format": "date-time"
  2716            },
  2717            "updated_at": {
  2718              "type": "string",
  2719              "format": "date-time"
  2720            }
  2721          },
  2722          "example": {
  2723            "id": "abcd1234cdef1234abcd1234cdef1234",
  2724            "username": "joe.doe",
  2725            "name": "Joe Doe",
  2726            "position": "Lead Developer",
  2727            "created_at": "2015-01-28T09:52:53Z",
  2728            "updated_at": "2015-01-28T09:52:53Z"
  2729          }
  2730        },
  2731        "current_user": {
  2732          "type": "object",
  2733          "title": "user",
  2734          "properties": {
  2735            "id": {
  2736              "type": "string"
  2737            },
  2738            "username": {
  2739              "type": "string"
  2740            },
  2741            "name": {
  2742              "type": "string"
  2743            },
  2744            "email": {
  2745              "type": "string"
  2746            },
  2747            "position": {
  2748              "type": "string"
  2749            },
  2750            "language": {
  2751              "type": "string"
  2752            },
  2753            "created_at": {
  2754              "type": "string",
  2755              "format": "date-time"
  2756            },
  2757            "updated_at": {
  2758              "type": "string",
  2759              "format": "date-time"
  2760            }
  2761          },
  2762          "example": {
  2763            "id": "abcd1234cdef1234abcd1234cdef1234",
  2764            "username": "joe.doe",
  2765            "name": "Joe Doe",
  2766            "email": "joe@phrase.com",
  2767            "position": "Lead Developer",
  2768            "language": "de",
  2769            "created_at": "2015-01-28T09:52:53Z",
  2770            "updated_at": "2015-01-28T09:52:53Z"
  2771          }
  2772        },
  2773        "webhook": {
  2774          "type": "object",
  2775          "title": "webhook",
  2776          "properties": {
  2777            "id": {
  2778              "type": "string"
  2779            },
  2780            "callback_url": {
  2781              "type": "string"
  2782            },
  2783            "description": {
  2784              "type": "string"
  2785            },
  2786            "events": {
  2787              "type": "array",
  2788              "items": {
  2789                "type": "string"
  2790              }
  2791            },
  2792            "active": {
  2793              "type": "boolean"
  2794            },
  2795            "include_branches": {
  2796              "type": "boolean"
  2797            },
  2798            "created_at": {
  2799              "type": "string",
  2800              "format": "date-time"
  2801            },
  2802            "updated_at": {
  2803              "type": "string",
  2804              "format": "date-time"
  2805            }
  2806          },
  2807          "example": {
  2808            "id": "abcd1234cdef1234abcd1234cdef1234",
  2809            "callback_url": "http://example.com/hooks/phraseapp-notifications",
  2810            "description": "My webhook for chat notifications",
  2811            "events": "locales:create,translations:update",
  2812            "active": true,
  2813            "include_branches": false,
  2814            "created_at": "2015-01-28T09:52:53Z",
  2815            "updated_at": "2015-01-28T09:52:53Z"
  2816          }
  2817        },
  2818        "webhook_delivery": {
  2819          "type": "object",
  2820          "title": "webhook delivery",
  2821          "properties": {
  2822            "id": {
  2823              "type": "string"
  2824            },
  2825            "webhook_id": {
  2826              "type": "string"
  2827            },
  2828            "response_status_code": {
  2829              "type": "integer"
  2830            },
  2831            "delivered_at": {
  2832              "type": "string",
  2833              "format": "date-time"
  2834            },
  2835            "duration_ms": {
  2836              "type": "integer"
  2837            },
  2838            "created_at": {
  2839              "type": "string",
  2840              "format": "date-time"
  2841            },
  2842            "updated_at": {
  2843              "type": "string",
  2844              "format": "date-time"
  2845            }
  2846          }
  2847        },
  2848        "space": {
  2849          "type": "object",
  2850          "title": "space",
  2851          "properties": {
  2852            "id": {
  2853              "type": "string"
  2854            },
  2855            "name": {
  2856              "type": "string"
  2857            },
  2858            "created_at": {
  2859              "type": "string",
  2860              "format": "date-time"
  2861            },
  2862            "updated_at": {
  2863              "type": "string",
  2864              "format": "date-time"
  2865            },
  2866            "projects_count": {
  2867              "type": "integer"
  2868            },
  2869            "projects": {
  2870              "type": "array",
  2871              "items": {
  2872                "$ref": "#/components/schemas/project"
  2873              }
  2874            }
  2875          },
  2876          "example": {
  2877            "id": "2e7574e8f2372906a03110c2a7cfe671",
  2878            "name": "My first space",
  2879            "created_at": "2020-02-25T12:17:25Z",
  2880            "updated_at": "2020-03-13T14:46:57Z",
  2881            "projects_count": 2,
  2882            "projects": [
  2883              {
  2884                "id": "abcd1234cdef1234abcd1234cdef1234",
  2885                "name": "My Android Project",
  2886                "main_format": "xml",
  2887                "project_image_url": "http://assets.example.com/project.png",
  2888                "account": "account",
  2889                "created_at": "2015-01-28T09:52:53Z",
  2890                "updated_at": "2015-01-28T09:52:53Z"
  2891              },
  2892              {
  2893                "id": "abcd11231fadef1234adacd1234cdef1234",
  2894                "name": "My IOS Project",
  2895                "main_format": "yml",
  2896                "project_image_url": "http://assets.example.com/project2.png",
  2897                "account": "account",
  2898                "created_at": "2015-01-28T09:52:53Z",
  2899                "updated_at": "2015-01-28T09:52:53Z"
  2900              }
  2901            ]
  2902          }
  2903        },
  2904        "team": {
  2905          "type": "object",
  2906          "title": "team",
  2907          "properties": {
  2908            "id": {
  2909              "type": "string"
  2910            },
  2911            "name": {
  2912              "type": "string"
  2913            },
  2914            "created_at": {
  2915              "type": "string",
  2916              "format": "date-time"
  2917            },
  2918            "updated_at": {
  2919              "type": "string",
  2920              "format": "date-time"
  2921            },
  2922            "projects": {
  2923              "type": "array",
  2924              "items": {
  2925                "$ref": "#/components/schemas/project"
  2926              }
  2927            },
  2928            "spaces": {
  2929              "type": "array",
  2930              "items": {
  2931                "$ref": "#/components/schemas/project/properties/space"
  2932              }
  2933            },
  2934            "users": {
  2935              "type": "array",
  2936              "items": {
  2937                "$ref": "#/components/schemas/user_preview"
  2938              }
  2939            }
  2940          },
  2941          "example": {
  2942            "id": "2e7574e8f2372906a03110c2a7cfe671",
  2943            "name": "My first Team",
  2944            "created_at": "2020-02-25T12:17:25Z",
  2945            "updated_at": "2020-03-13T14:46:57Z",
  2946            "projects": [
  2947              {
  2948                "id": "abcd11231fadef1234adacd1234cdef1234",
  2949                "name": "My IOS Project",
  2950                "main_format": "yml",
  2951                "created_at": "2015-01-28T09:52:53Z",
  2952                "updated_at": "2015-01-28T09:52:53Z"
  2953              }
  2954            ],
  2955            "spaces": [
  2956              {
  2957                "id": "626ea67628690c73ac86ac81eec2d185",
  2958                "name": "IOS",
  2959                "created_at": "2015-01-28T09:52:53Z",
  2960                "updated_at": "2015-01-28T09:52:53Z",
  2961                "projects_count": 3
  2962              }
  2963            ],
  2964            "users": [
  2965              {
  2966                "id": "3465jhkjhk3465hjjkhl346hklk3456kl",
  2967                "username": "Max",
  2968                "name": "Max Mustermann"
  2969              }
  2970            ]
  2971          }
  2972        },
  2973        "team_detail": {
  2974          "type": "object",
  2975          "title": "team",
  2976          "properties": {
  2977            "id": {
  2978              "type": "string"
  2979            },
  2980            "name": {
  2981              "type": "string"
  2982            },
  2983            "created_at": {
  2984              "type": "string",
  2985              "format": "date-time"
  2986            },
  2987            "updated_at": {
  2988              "type": "string",
  2989              "format": "date-time"
  2990            },
  2991            "projects": {
  2992              "type": "array",
  2993              "items": {
  2994                "$ref": "#/components/schemas/project"
  2995              }
  2996            },
  2997            "spaces": {
  2998              "type": "array",
  2999              "items": {
  3000                "$ref": "#/components/schemas/project/properties/space"
  3001              }
  3002            },
  3003            "users": {
  3004              "type": "array",
  3005              "items": {
  3006                "$ref": "#/components/schemas/user"
  3007              }
  3008            }
  3009          },
  3010          "example": {
  3011            "id": "2e7574e8f2372906a03110c2a7cfe671",
  3012            "name": "My first Team",
  3013            "created_at": "2020-02-25T12:17:25Z",
  3014            "updated_at": "2020-03-13T14:46:57Z",
  3015            "projects": [
  3016              {
  3017                "id": "abcd11231fadef1234adacd1234cdef1234",
  3018                "name": "My IOS Project",
  3019                "main_format": "yml",
  3020                "created_at": "2015-01-28T09:52:53Z",
  3021                "updated_at": "2015-01-28T09:52:53Z"
  3022              }
  3023            ],
  3024            "spaces": [
  3025              {
  3026                "id": "626ea67628690c73ac86ac81eec2d185",
  3027                "name": "IOS",
  3028                "created_at": "2015-01-28T09:52:53Z",
  3029                "updated_at": "2015-01-28T09:52:53Z",
  3030                "projects_count": 3
  3031              }
  3032            ],
  3033            "users": [
  3034              {
  3035                "id": "3465jhkjhk3465hjjkhl346hklk3456kl",
  3036                "username": "Max",
  3037                "name": "Max Mustermann",
  3038                "position": "Developer",
  3039                "created_at": "2015-01-28T09:52:53Z",
  3040                "updated_at": "2015-01-28T09:52:53Z"
  3041              }
  3042            ]
  3043          }
  3044        },
  3045        "team_short": {
  3046          "type": "object",
  3047          "title": "team_short",
  3048          "properties": {
  3049            "id": {
  3050              "type": "string"
  3051            },
  3052            "name": {
  3053              "type": "string"
  3054            },
  3055            "created_at": {
  3056              "type": "string",
  3057              "format": "date-time"
  3058            },
  3059            "updated_at": {
  3060              "type": "string",
  3061              "format": "date-time"
  3062            }
  3063          },
  3064          "example": {
  3065            "id": "2e7574e8f2372906a03110c2a7cfe671",
  3066            "name": "My first Team",
  3067            "created_at": "2020-02-25T12:17:25Z",
  3068            "updated_at": "2020-03-13T14:46:57Z"
  3069          }
  3070        },
  3071        "job": {
  3072          "type": "object",
  3073          "title": "job",
  3074          "properties": {
  3075            "id": {
  3076              "type": "string"
  3077            },
  3078            "name": {
  3079              "type": "string"
  3080            },
  3081            "briefing": {
  3082              "type": "string"
  3083            },
  3084            "due_date": {
  3085              "type": "string",
  3086              "format": "date-time",
  3087              "nullable": true
  3088            },
  3089            "state": {
  3090              "type": "string"
  3091            },
  3092            "ticket_url": {
  3093              "type": "string"
  3094            },
  3095            "project": {
  3096              "$ref": "#/components/schemas/project_short"
  3097            },
  3098            "branch": {
  3099              "type": "object",
  3100              "title": "branch_name",
  3101              "properties": {
  3102                "name": {
  3103                  "type": "string"
  3104                }
  3105              },
  3106              "example": {
  3107                "name": "new-branch"
  3108              }
  3109            },
  3110            "created_at": {
  3111              "type": "string",
  3112              "format": "date-time"
  3113            },
  3114            "updated_at": {
  3115              "type": "string",
  3116              "format": "date-time"
  3117            }
  3118          },
  3119          "example": {
  3120            "id": "626ea67628690c73ac86ac81eec2d185",
  3121            "name": "Translations for new Feature",
  3122            "briefing": "Some instructions for the translators",
  3123            "due_date": "2017-02-28T09:52:53Z",
  3124            "state": "completed",
  3125            "ticket_url": "https://example.atlassian.net/browse/FOO",
  3126            "created_at": "2017-01-28T09:52:53Z",
  3127            "updated_at": "2017-01-28T09:52:53Z",
  3128            "project": {
  3129              "id": "abcd1234cdef1234abcd1234cdef1234",
  3130              "name": "My Android Project",
  3131              "main_format": "xml",
  3132              "created_at": "2015-01-28T09:52:53Z",
  3133              "updated_at": "2015-01-28T09:52:53Z"
  3134            }
  3135          }
  3136        },
  3137        "job_details": {
  3138          "allOf": [
  3139            {
  3140              "$ref": "#/components/schemas/job"
  3141            },
  3142            {
  3143              "type": "object",
  3144              "title": "job_details",
  3145              "properties": {
  3146                "owner": {
  3147                  "$ref": "#/components/schemas/user_preview"
  3148                },
  3149                "job_tag_name": {
  3150                  "type": "string"
  3151                },
  3152                "source_locale": {
  3153                  "$ref": "#/components/schemas/locale_preview"
  3154                },
  3155                "locales": {
  3156                  "type": "array",
  3157                  "items": {
  3158                    "$ref": "#/components/schemas/locale_preview"
  3159                  }
  3160                },
  3161                "keys": {
  3162                  "type": "array",
  3163                  "items": {
  3164                    "$ref": "#/components/schemas/key_preview"
  3165                  }
  3166                }
  3167              },
  3168              "example": {
  3169                "owner": {
  3170                  "id": "abcd1234cdef1234abcd1234cdef1234",
  3171                  "username": "joe.doe",
  3172                  "name": "Joe Doe"
  3173                },
  3174                "job_tag_name": "Job_123",
  3175                "source_locale": {
  3176                  "id": "abcd1234cdef1234abcd1234cdef1235",
  3177                  "name": "de-DE",
  3178                  "code": "de-DE"
  3179                },
  3180                "locales": [
  3181                  {
  3182                    "id": "abcd1234cdef1234abcd1234cdef1234",
  3183                    "name": "English",
  3184                    "code": "en-GB"
  3185                  }
  3186                ],
  3187                "keys": [
  3188                  {
  3189                    "id": "dbcd1234cdef1234abcd1234cdef1234",
  3190                    "name": "greeting.hello"
  3191                  }
  3192                ]
  3193              }
  3194            }
  3195          ]
  3196        },
  3197        "job_preview": {
  3198          "type": "object",
  3199          "title": "job_preview",
  3200          "properties": {
  3201            "id": {
  3202              "type": "string"
  3203            },
  3204            "name": {
  3205              "type": "string"
  3206            },
  3207            "state": {
  3208              "type": "string"
  3209            }
  3210          },
  3211          "example": null
  3212        },
  3213        "job_locale": {
  3214          "type": "object",
  3215          "title": "job_locale",
  3216          "properties": {
  3217            "id": {
  3218              "type": "string"
  3219            },
  3220            "job": {
  3221              "$ref": "#/components/schemas/job_preview"
  3222            },
  3223            "locale": {
  3224              "$ref": "#/components/schemas/locale_preview"
  3225            },
  3226            "users": {
  3227              "type": "array",
  3228              "items": {
  3229                "$ref": "#/components/schemas/locale_user_preview"
  3230              }
  3231            },
  3232            "teams": {
  3233              "type": "array",
  3234              "items": {
  3235                "$ref": "#/components/schemas/locale_team_preview"
  3236              }
  3237            },
  3238            "completed": {
  3239              "type": "boolean"
  3240            },
  3241            "translation_completed_at": {
  3242              "type": "string",
  3243              "format": "date-time"
  3244            },
  3245            "review_completed_at": {
  3246              "type": "string",
  3247              "format": "date-time"
  3248            }
  3249          },
  3250          "example": {
  3251            "id": "626ea67628690c73ac86ac81eec2d185",
  3252            "job": {
  3253              "id": "abcd1234cdef1234abcd1234cdef1234",
  3254              "name": "My Job 1",
  3255              "state": "completed"
  3256            },
  3257            "users": [
  3258              {
  3259                "id": "abcd1234cdef1234abcd1234cdef1234",
  3260                "username": "joe.doe",
  3261                "name": "Joe Doe",
  3262                "role": "translator"
  3263              }
  3264            ],
  3265            "teams": [
  3266              {
  3267                "id": "abcd1234cdef1234abcd1234cdef1234",
  3268                "name": "Joe's team",
  3269                "role": "translator"
  3270              }
  3271            ],
  3272            "locale": {
  3273              "id": "abcd1234cdef1234abcd1234cdef1234",
  3274              "name": "English",
  3275              "code": "en-GB"
  3276            },
  3277            "completed": true,
  3278            "translation_completed_at": "2017-01-28T09:52:53Z",
  3279            "review_completed_at": "2017-01-28T09:52:53Z"
  3280          }
  3281        },
  3282        "job_template": {
  3283          "type": "object",
  3284          "title": "job_template",
  3285          "properties": {
  3286            "id": {
  3287              "type": "string"
  3288            },
  3289            "name": {
  3290              "type": "string"
  3291            },
  3292            "briefing": {
  3293              "type": "string"
  3294            },
  3295            "project": {
  3296              "$ref": "#/components/schemas/project_short"
  3297            },
  3298            "branch": {
  3299              "$ref": "#/components/schemas/job/properties/branch"
  3300            },
  3301            "created_at": {
  3302              "type": "string",
  3303              "format": "date-time"
  3304            },
  3305            "updated_at": {
  3306              "type": "string",
  3307              "format": "date-time"
  3308            }
  3309          },
  3310          "example": {
  3311            "id": "626ea67628690c73ac86ac81eec2d185",
  3312            "name": "template",
  3313            "briefing": "text",
  3314            "created_at": "2017-01-28T09:52:53Z",
  3315            "updated_at": "2017-01-28T09:52:53Z",
  3316            "project": {
  3317              "id": "abcd1234cdef1234abcd1234cdef1234",
  3318              "name": "My Android Project",
  3319              "main_format": "xml",
  3320              "created_at": "2015-01-28T09:52:53Z",
  3321              "updated_at": "2015-01-28T09:52:53Z"
  3322            }
  3323          }
  3324        },
  3325        "job_template_details": {
  3326          "allOf": [
  3327            {
  3328              "$ref": "#/components/schemas/job_template"
  3329            },
  3330            {
  3331              "type": "object",
  3332              "title": "job_template_details",
  3333              "properties": {
  3334                "owner": {
  3335                  "$ref": "#/components/schemas/user_preview"
  3336                },
  3337                "creator": {
  3338                  "$ref": "#/components/schemas/user_preview"
  3339                },
  3340                "locales": {
  3341                  "type": "array",
  3342                  "items": {
  3343                    "$ref": "#/components/schemas/locale_preview"
  3344                  }
  3345                }
  3346              },
  3347              "example": {
  3348                "owner": {
  3349                  "id": "abcd1234cdef1234abcd1234cdef1234",
  3350                  "username": "joe.doe",
  3351                  "name": "Joe Doe"
  3352                },
  3353                "creator": {
  3354                  "id": "abcd1234cdef1234abcd1234cdef1234",
  3355                  "username": "joe.doe",
  3356                  "name": "Joe Doe"
  3357                },
  3358                "locales": [
  3359                  {
  3360                    "id": "abcd1234cdef1234abcd1234cdef1234",
  3361                    "name": "English",
  3362                    "code": "en-GB"
  3363                  }
  3364                ]
  3365              }
  3366            }
  3367          ]
  3368        },
  3369        "job_template_locales": {
  3370          "type": "object",
  3371          "title": "job_template_locale",
  3372          "properties": {
  3373            "id": {
  3374              "type": "string"
  3375            },
  3376            "job_template": {
  3377              "type": "object",
  3378              "title": "job_template_preview",
  3379              "properties": {
  3380                "id": {
  3381                  "type": "string"
  3382                },
  3383                "name": {
  3384                  "type": "string"
  3385                }
  3386              },
  3387              "example": null
  3388            },
  3389            "locale": {
  3390              "$ref": "#/components/schemas/locale_preview"
  3391            },
  3392            "users": {
  3393              "type": "array",
  3394              "items": {
  3395                "$ref": "#/components/schemas/locale_user_preview"
  3396              }
  3397            },
  3398            "teams": {
  3399              "type": "array",
  3400              "items": {
  3401                "$ref": "#/components/schemas/locale_team_preview"
  3402              }
  3403            }
  3404          },
  3405          "example": {
  3406            "id": "626ea67628690c73ac86ac81eec2d185",
  3407            "job_template": {
  3408              "id": "abcd1234cdef1234abcd1234cdef1234",
  3409              "name": "template"
  3410            },
  3411            "users": [
  3412              {
  3413                "id": "abcd1234cdef1234abcd1234cdef1234",
  3414                "username": "joe.doe",
  3415                "name": "Joe Doe",
  3416                "role": "translator"
  3417              }
  3418            ],
  3419            "teams": [
  3420              {
  3421                "id": "abcd1234cdef1234abcd1234cdef1234",
  3422                "name": "Joe's team",
  3423                "role": "translator"
  3424              }
  3425            ],
  3426            "locale": {
  3427              "id": "abcd1234cdef1234abcd1234cdef1234",
  3428              "name": "English",
  3429              "code": "en-GB"
  3430            }
  3431          }
  3432        },
  3433        "job_comment": {
  3434          "type": "object",
  3435          "title": "job_comment",
  3436          "properties": {
  3437            "id": {
  3438              "type": "string"
  3439            },
  3440            "message": {
  3441              "type": "string"
  3442            },
  3443            "job_id": {
  3444              "type": "string"
  3445            },
  3446            "user": {
  3447              "$ref": "#/components/schemas/user_preview"
  3448            },
  3449            "created_at": {
  3450              "type": "string",
  3451              "format": "date-time"
  3452            },
  3453            "updated_at": {
  3454              "type": "string",
  3455              "format": "date-time"
  3456            },
  3457            "mentioned_users": {
  3458              "type": "array",
  3459              "items": {
  3460                "$ref": "#/components/schemas/user_preview"
  3461              }
  3462            }
  3463          },
  3464          "example": {
  3465            "id": "abcd1234cdef1234abcd1234cdef1234",
  3466            "message": "Some message...",
  3467            "job_id": "abcd1234cdef1234abcd1234cdef1234",
  3468            "user": {
  3469              "id": "abcd1234cdef1234abcd1234cdef1234",
  3470              "username": "joe.doe",
  3471              "name": "Joe Doe"
  3472            },
  3473            "created_at": "2015-01-28T09:52:53Z",
  3474            "updated_at": "2015-01-28T09:52:53Z"
  3475          }
  3476        },
  3477        "branch": {
  3478          "type": "object",
  3479          "title": "branch",
  3480          "properties": {
  3481            "base_project_id": {
  3482              "type": "string"
  3483            },
  3484            "branch_project_id": {
  3485              "type": "string"
  3486            },
  3487            "name": {
  3488              "type": "string"
  3489            },
  3490            "created_at": {
  3491              "type": "string",
  3492              "format": "date-time"
  3493            },
  3494            "updated_at": {
  3495              "type": "string",
  3496              "format": "date-time"
  3497            },
  3498            "merged_at": {
  3499              "type": "string",
  3500              "format": "date-time"
  3501            },
  3502            "merged_by": {
  3503              "$ref": "#/components/schemas/user_preview"
  3504            },
  3505            "created_by": {
  3506              "$ref": "#/components/schemas/user_preview"
  3507            },
  3508            "state": {
  3509              "type": "string"
  3510            }
  3511          },
  3512          "example": {
  3513            "name": "new-branch",
  3514            "created_at": "2015-01-28T09:52:53Z",
  3515            "updated_at": "2015-01-28T09:52:53Z",
  3516            "merged_at": "2015-01-28T09:52:53Z",
  3517            "merged_by": {
  3518              "id": "abcd1234cdef1234abcd1234cdef1234",
  3519              "username": "joe.doe",
  3520              "name": "Joe Doe"
  3521            },
  3522            "created_by": {
  3523              "id": "abcd1234cdef1234abcd1234cdef1234",
  3524              "username": "joe.doe",
  3525              "name": "Joe Doe"
  3526            },
  3527            "state": "success"
  3528          }
  3529        },
  3530        "distribution_preview": {
  3531          "type": "object",
  3532          "title": "distribution_preview",
  3533          "properties": {
  3534            "id": {
  3535              "type": "string"
  3536            },
  3537            "name": {
  3538              "type": "string"
  3539            },
  3540            "project": {
  3541              "$ref": "#/components/schemas/project_short"
  3542            },
  3543            "platforms": {
  3544              "type": "array",
  3545              "items": {
  3546                "type": "string"
  3547              }
  3548            },
  3549            "release_count": {
  3550              "type": "integer"
  3551            },
  3552            "created_at": {
  3553              "type": "string",
  3554              "format": "date-time"
  3555            },
  3556            "deleted_at": {
  3557              "type": "string",
  3558              "format": "date-time"
  3559            }
  3560          },
  3561          "example": {
  3562            "id": "abcd1234cdef1234abcd1234cdef1234",
  3563            "name": "Android Distribution",
  3564            "project": {
  3565              "id": "abcd1234cdef1234abcd1234cdef1234",
  3566              "name": "My Android Project",
  3567              "main_format": "xml",
  3568              "created_at": "2015-01-28T09:52:53Z",
  3569              "updated_at": "2015-01-28T09:52:53Z"
  3570            },
  3571            "platforms": [
  3572              "android"
  3573            ],
  3574            "release_count": 10,
  3575            "created_at": "2015-01-28T09:52:53Z",
  3576            "updated_at": "2015-01-28T09:52:53Z"
  3577          }
  3578        },
  3579        "distribution": {
  3580          "type": "object",
  3581          "title": "distribution",
  3582          "properties": {
  3583            "id": {
  3584              "type": "string"
  3585            },
  3586            "name": {
  3587              "type": "string"
  3588            },
  3589            "project": {
  3590              "$ref": "#/components/schemas/project_short"
  3591            },
  3592            "platforms": {
  3593              "type": "array",
  3594              "items": {
  3595                "type": "string"
  3596              }
  3597            },
  3598            "locales": {
  3599              "type": "array",
  3600              "items": {
  3601                "$ref": "#/components/schemas/locale_preview"
  3602              }
  3603            },
  3604            "releases": {
  3605              "type": "array",
  3606              "items": {
  3607                "$ref": "#/components/schemas/release_preview"
  3608              }
  3609            },
  3610            "created_at": {
  3611              "type": "string",
  3612              "format": "date-time"
  3613            },
  3614            "deleted_at": {
  3615              "type": "string",
  3616              "format": "date-time"
  3617            }
  3618          },
  3619          "example": {
  3620            "id": "abcd1234cdef1234abcd1234cdef1234",
  3621            "name": "Android Distribution",
  3622            "project": {
  3623              "id": "abcd1234cdef1234abcd1234cdef1234",
  3624              "name": "My Android Project",
  3625              "main_format": "xml",
  3626              "created_at": "2015-01-28T09:52:53Z",
  3627              "updated_at": "2015-01-28T09:52:53Z"
  3628            },
  3629            "platforms": [
  3630              "android"
  3631            ],
  3632            "releases": [
  3633              {
  3634                "id": "abcd1234cdef1234abcd1234cdef1234",
  3635                "version": 1,
  3636                "project": {
  3637                  "id": "abcd1234cdef1234abcd1234cdef1234",
  3638                  "name": "My Android Project",
  3639                  "main_format": "xml",
  3640                  "created_at": "2015-01-28T09:52:53Z",
  3641                  "updated_at": "2015-01-28T09:52:53Z"
  3642                },
  3643                "platforms": [
  3644                  "android"
  3645                ],
  3646                "environments": [
  3647                  "development"
  3648                ],
  3649                "locale_codes": [
  3650                  "de",
  3651                  "en"
  3652                ],
  3653                "created_at": "2015-01-28T09:52:53Z",
  3654                "updated_at": "2015-01-28T09:52:53Z"
  3655              }
  3656            ],
  3657            "created_at": "2015-01-28T09:52:53Z",
  3658            "updated_at": "2015-01-28T09:52:53Z"
  3659          }
  3660        },
  3661        "release_preview": {
  3662          "type": "object",
  3663          "title": "release_preview",
  3664          "properties": {
  3665            "id": {
  3666              "type": "string"
  3667            },
  3668            "version": {
  3669              "type": "integer"
  3670            },
  3671            "app_min_version": {
  3672              "type": "string"
  3673            },
  3674            "app_max_version": {
  3675              "type": "string"
  3676            },
  3677            "description": {
  3678              "type": "string"
  3679            },
  3680            "platforms": {
  3681              "type": "array",
  3682              "items": {
  3683                "type": "string"
  3684              }
  3685            },
  3686            "environments": {
  3687              "type": "array",
  3688              "items": {
  3689                "type": "string"
  3690              }
  3691            },
  3692            "locale_codes": {
  3693              "type": "array",
  3694              "items": {
  3695                "type": "string"
  3696              }
  3697            },
  3698            "tags": {
  3699              "type": "array",
  3700              "items": {
  3701                "type": "string"
  3702              }
  3703            },
  3704            "project": {
  3705              "$ref": "#/components/schemas/project_short"
  3706            },
  3707            "created_at": {
  3708              "type": "string",
  3709              "format": "date-time"
  3710            },
  3711            "updated_at": {
  3712              "type": "string",
  3713              "format": "date-time"
  3714            }
  3715          },
  3716          "example": {
  3717            "id": "abcd1234cdef1234abcd1234cdef1234",
  3718            "version": 1,
  3719            "project": {
  3720              "id": "abcd1234cdef1234abcd1234cdef1234",
  3721              "name": "My Android Project",
  3722              "main_format": "xml",
  3723              "created_at": "2015-01-28T09:52:53Z",
  3724              "updated_at": "2015-01-28T09:52:53Z"
  3725            },
  3726            "platforms": [
  3727              "android"
  3728            ],
  3729            "environments": [
  3730              "development"
  3731            ],
  3732            "locale_codes": [
  3733              "de",
  3734              "en"
  3735            ],
  3736            "tags": [
  3737              "android",
  3738              "feature1"
  3739            ],
  3740            "created_at": "2015-01-28T09:52:53Z",
  3741            "updated_at": "2015-01-28T09:52:53Z"
  3742          }
  3743        },
  3744        "release": {
  3745          "type": "object",
  3746          "title": "release",
  3747          "properties": {
  3748            "id": {
  3749              "type": "string"
  3750            },
  3751            "version": {
  3752              "type": "integer"
  3753            },
  3754            "app_min_version": {
  3755              "type": "string"
  3756            },
  3757            "app_max_version": {
  3758              "type": "string"
  3759            },
  3760            "description": {
  3761              "type": "string"
  3762            },
  3763            "platforms": {
  3764              "type": "array",
  3765              "items": {
  3766                "type": "string"
  3767              }
  3768            },
  3769            "environments": {
  3770              "type": "array",
  3771              "items": {
  3772                "type": "string"
  3773              }
  3774            },
  3775            "locales": {
  3776              "type": "array",
  3777              "items": {
  3778                "$ref": "#/components/schemas/locale_preview"
  3779              }
  3780            },
  3781            "tags": {
  3782              "type": "array",
  3783              "items": {
  3784                "type": "string"
  3785              }
  3786            },
  3787            "project": {
  3788              "$ref": "#/components/schemas/project_short"
  3789            },
  3790            "created_at": {
  3791              "type": "string",
  3792              "format": "date-time"
  3793            },
  3794            "updated_at": {
  3795              "type": "string",
  3796              "format": "date-time"
  3797            }
  3798          },
  3799          "example": {
  3800            "id": "abcd1234cdef1234abcd1234cdef1234",
  3801            "version": 1,
  3802            "project": {
  3803              "id": "abcd1234cdef1234abcd1234cdef1234",
  3804              "name": "My Android Project",
  3805              "main_format": "xml",
  3806              "created_at": "2015-01-28T09:52:53Z",
  3807              "updated_at": "2015-01-28T09:52:53Z"
  3808            },
  3809            "platforms": [
  3810              "android"
  3811            ],
  3812            "environments": [
  3813              "development",
  3814              "production"
  3815            ],
  3816            "locales": [
  3817              {
  3818                "id": "abcd1234cdef1234abcd1234cdef1234",
  3819                "name": "English",
  3820                "code": "en-GB"
  3821              }
  3822            ],
  3823            "created_at": "2015-01-28T09:52:53Z",
  3824            "updated_at": "2015-01-28T09:52:53Z"
  3825          }
  3826        },
  3827        "screenshot": {
  3828          "type": "object",
  3829          "title": "screenshot",
  3830          "properties": {
  3831            "id": {
  3832              "type": "string"
  3833            },
  3834            "name": {
  3835              "type": "string"
  3836            },
  3837            "description": {
  3838              "type": "string"
  3839            },
  3840            "screenshot_url": {
  3841              "type": "string"
  3842            },
  3843            "created_at": {
  3844              "type": "string",
  3845              "format": "date-time"
  3846            },
  3847            "updated_at": {
  3848              "type": "string",
  3849              "format": "date-time"
  3850            },
  3851            "markers_count": {
  3852              "type": "integer"
  3853            }
  3854          },
  3855          "example": {
  3856            "id": "d2e056aa9e70b01121f41693e344f5ee",
  3857            "name": "A screenshot name",
  3858            "description": "A screenshot description",
  3859            "screenshot_url": "http://assets.example.com/screenshot.png",
  3860            "created_at": "2015-01-28T09:52:53Z",
  3861            "updated_at": "2015-01-28T09:52:53Z",
  3862            "markers_count": 0
  3863          }
  3864        },
  3865        "screenshot_marker": {
  3866          "type": "object",
  3867          "title": "screenshot_marker",
  3868          "properties": {
  3869            "id": {
  3870              "type": "string"
  3871            },
  3872            "presentation": {
  3873              "type": "string"
  3874            },
  3875            "presentation_type": {
  3876              "type": "string"
  3877            },
  3878            "created_at": {
  3879              "type": "string",
  3880              "format": "date-time"
  3881            },
  3882            "updated_at": {
  3883              "type": "string",
  3884              "format": "date-time"
  3885            },
  3886            "translation_key": {
  3887              "$ref": "#/components/schemas/translation_key"
  3888            }
  3889          },
  3890          "example": {
  3891            "id": "d2e056aa9e70b01121f41693e344f5ee",
  3892            "presentation": {
  3893              "x": 10,
  3894              "y": 10,
  3895              "w": 10,
  3896              "h": 10
  3897            },
  3898            "presentation_type": "default",
  3899            "created_at": "2015-01-28T09:52:53Z",
  3900            "updated_at": "2015-01-28T09:52:53Z",
  3901            "translation_key": {
  3902              "id": "abcd1234cdef1234abcd1234cdef1234",
  3903              "name": "home.index.headline",
  3904              "description": "My description for this key...",
  3905              "name_hash": "1b31d2580ce324f246f66b3be00ed399",
  3906              "plural": false,
  3907              "tags": [
  3908                "awesome-feature",
  3909                "needs-proofreading"
  3910              ],
  3911              "data_type": "string",
  3912              "created_at": "2015-01-28T09:52:53Z",
  3913              "updated_at": "2015-01-28T09:52:53Z"
  3914            }
  3915          }
  3916        },
  3917        "variable": {
  3918          "type": "object",
  3919          "title": "variable",
  3920          "properties": {
  3921            "name": {
  3922              "type": "string"
  3923            },
  3924            "value": {
  3925              "type": "string"
  3926            },
  3927            "created_at": {
  3928              "type": "string",
  3929              "format": "date-time"
  3930            },
  3931            "updated_at": {
  3932              "type": "string",
  3933              "format": "date-time"
  3934            }
  3935          },
  3936          "example": {
  3937            "name": "MY_VARIABLE",
  3938            "value": "Hello World",
  3939            "created_at": "2015-01-28T09:52:53Z",
  3940            "updated_at": "2015-01-28T09:52:53Z"
  3941          }
  3942        },
  3943        "icu": {
  3944          "type": "object",
  3945          "title": "skeleton",
  3946          "properties": {
  3947            "locale_code": {
  3948              "type": "string",
  3949              "description": "Object keys are dynamic and based on requested locale codes, see example."
  3950            }
  3951          },
  3952          "example": {
  3953            "en": "{number, plural, one {} other {}}",
  3954            "de": "{number, plural, one {} other {}}"
  3955          }
  3956        },
  3957        "notification": {
  3958          "type": "object",
  3959          "title": "notification",
  3960          "properties": {
  3961            "id": {
  3962              "type": "string"
  3963            },
  3964            "event_name": {
  3965              "type": "string"
  3966            },
  3967            "created_at": {
  3968              "type": "string",
  3969              "format": "date-time"
  3970            },
  3971            "updated_at": {
  3972              "type": "string",
  3973              "format": "date-time"
  3974            },
  3975            "delivered_at": {
  3976              "type": "string",
  3977              "format": "date-time"
  3978            },
  3979            "seen_at": {
  3980              "type": "string",
  3981              "format": "date-time"
  3982            },
  3983            "data": {
  3984              "type": "object"
  3985            },
  3986            "resource": {
  3987              "type": "object"
  3988            },
  3989            "locale": {
  3990              "$ref": "#/components/schemas/locale"
  3991            },
  3992            "user": {
  3993              "$ref": "#/components/schemas/user_preview"
  3994            },
  3995            "project": {
  3996              "$ref": "#/components/schemas/project"
  3997            },
  3998            "account": {
  3999              "$ref": "#/components/schemas/account"
  4000            },
  4001            "group": {
  4002              "$ref": "#/components/schemas/notification_group"
  4003            }
  4004          },
  4005          "example": {
  4006            "id": "abcd1234",
  4007            "event_name": "keys:create",
  4008            "data": "object notification data",
  4009            "resource": "object of notification resource",
  4010            "locale": {
  4011              "id": "abcd1234cdef1234abcd1234cdef1234",
  4012              "name": "de",
  4013              "code": "de-DE",
  4014              "default": true,
  4015              "main": false,
  4016              "rtl": false,
  4017              "plural_forms": [
  4018                "zero",
  4019                "one",
  4020                "other"
  4021              ],
  4022              "source_locale": {
  4023                "id": "abcd1234cdef1234abcd1234cdef1234",
  4024                "name": "en",
  4025                "code": "en-GB"
  4026              },
  4027              "created_at": "2015-01-28T09:52:53Z",
  4028              "updated_at": "2015-01-28T09:52:53Z"
  4029            },
  4030            "user": {
  4031              "id": "abcd1234cdef1234abcd1234cdef1234",
  4032              "username": "joe.doe",
  4033              "name": "Joe Doe"
  4034            },
  4035            "project": {
  4036              "id": "abcd1234cdef1234abcd1234cdef1234",
  4037              "name": "My Android Project",
  4038              "main_format": "xml",
  4039              "project_image_url": "http://assets.example.com/project.png",
  4040              "account": {
  4041                "id": "abcd1234",
  4042                "name": "Company Account",
  4043                "slug": "company_account",
  4044                "company": "My Awesome Company",
  4045                "created_at": "2015-01-28T09:52:53Z",
  4046                "updated_at": "2015-01-28T09:52:53Z",
  4047                "company_logo_url": "http://assets.example.com/company_logo.png"
  4048              },
  4049              "created_at": "2015-01-28T09:52:53Z",
  4050              "updated_at": "2015-01-28T09:52:53Z"
  4051            },
  4052            "account": {
  4053              "id": "abcd1234",
  4054              "name": "Company Account",
  4055              "slug": "company_account",
  4056              "company": "My Awesome Company",
  4057              "created_at": "2015-01-28T09:52:53Z",
  4058              "updated_at": "2015-01-28T09:52:53Z",
  4059              "company_logo_url": "http://assets.example.com/company_logo.png"
  4060            },
  4061            "group": {
  4062              "id": "abcd1234cdef1234abcd1234cdef1234",
  4063              "event_name": "keys:create",
  4064              "created_at": "2015-01-28T09:52:53Z",
  4065              "updated_at": "2015-01-28T09:52:53Z"
  4066            }
  4067          }
  4068        },
  4069        "notification_group": {
  4070          "type": "object",
  4071          "title": "notification_group",
  4072          "properties": {
  4073            "id": {
  4074              "type": "string"
  4075            },
  4076            "event_name": {
  4077              "type": "string"
  4078            },
  4079            "created_at": {
  4080              "type": "string",
  4081              "format": "date-time"
  4082            },
  4083            "updated_at": {
  4084              "type": "string",
  4085              "format": "date-time"
  4086            }
  4087          },
  4088          "example": {
  4089            "id": "abcd1234cdef1234abcd1234cdef1234",
  4090            "event_name": "keys:create",
  4091            "created_at": "2015-01-28T09:52:53Z",
  4092            "updated_at": "2015-01-28T09:52:53Z"
  4093          }
  4094        },
  4095        "notification_group_detail": {
  4096          "type": "object",
  4097          "title": "notification_group_detail",
  4098          "properties": {
  4099            "id": {
  4100              "type": "string"
  4101            },
  4102            "event_name": {
  4103              "type": "string"
  4104            },
  4105            "created_at": {
  4106              "type": "string",
  4107              "format": "date-time"
  4108            },
  4109            "updated_at": {
  4110              "type": "string",
  4111              "format": "date-time"
  4112            },
  4113            "notifications_count": {
  4114              "type": "integer"
  4115            },
  4116            "latest_notification": {
  4117              "$ref": "#/components/schemas/notification"
  4118            }
  4119          },
  4120          "example": {
  4121            "id": "abcd1234cdef1234abcd1234cdef1234",
  4122            "event_name": "keys:create",
  4123            "created_at": "2015-01-28T09:52:53Z",
  4124            "updated_at": "2015-01-28T09:52:53Z",
  4125            "latest_notification": {
  4126              "id": "abcd1234",
  4127              "event_name": "keys:create",
  4128              "data": "object notification data",
  4129              "resource": "object of notification resource",
  4130              "locale": {
  4131                "id": "abcd1234cdef1234abcd1234cdef1234",
  4132                "name": "de",
  4133                "code": "de-DE",
  4134                "default": true,
  4135                "main": false,
  4136                "rtl": false,
  4137                "plural_forms": [
  4138                  "zero",
  4139                  "one",
  4140                  "other"
  4141                ],
  4142                "source_locale": {
  4143                  "id": "abcd1234cdef1234abcd1234cdef1234",
  4144                  "name": "en",
  4145                  "code": "en-GB"
  4146                },
  4147                "created_at": "2015-01-28T09:52:53Z",
  4148                "updated_at": "2015-01-28T09:52:53Z"
  4149              },
  4150              "user": {
  4151                "id": "abcd1234cdef1234abcd1234cdef1234",
  4152                "username": "joe.doe",
  4153                "name": "Joe Doe"
  4154              },
  4155              "project": {
  4156                "id": "abcd1234cdef1234abcd1234cdef1234",
  4157                "name": "My Android Project",
  4158                "main_format": "xml",
  4159                "project_image_url": "http://assets.example.com/project.png",
  4160                "account": {
  4161                  "id": "abcd1234",
  4162                  "name": "Company Account",
  4163                  "slug": "company_account",
  4164                  "company": "My Awesome Company",
  4165                  "created_at": "2015-01-28T09:52:53Z",
  4166                  "updated_at": "2015-01-28T09:52:53Z",
  4167                  "company_logo_url": "http://assets.example.com/company_logo.png"
  4168                },
  4169                "created_at": "2015-01-28T09:52:53Z",
  4170                "updated_at": "2015-01-28T09:52:53Z"
  4171              },
  4172              "account": {
  4173                "id": "abcd1234",
  4174                "name": "Company Account",
  4175                "slug": "company_account",
  4176                "company": "My Awesome Company",
  4177                "created_at": "2015-01-28T09:52:53Z",
  4178                "updated_at": "2015-01-28T09:52:53Z",
  4179                "company_logo_url": "http://assets.example.com/company_logo.png"
  4180              },
  4181              "group": {
  4182                "id": "abcd1234cdef1234abcd1234cdef1234",
  4183                "event_name": "keys:create",
  4184                "created_at": "2015-01-28T09:52:53Z",
  4185                "updated_at": "2015-01-28T09:52:53Z"
  4186              }
  4187            }
  4188          }
  4189        },
  4190        "organization_job_template": {
  4191          "type": "object",
  4192          "title": "organization_job_template",
  4193          "properties": {
  4194            "id": {
  4195              "type": "string"
  4196            },
  4197            "name": {
  4198              "type": "string"
  4199            },
  4200            "briefing": {
  4201              "type": "string"
  4202            },
  4203            "created_at": {
  4204              "type": "string",
  4205              "format": "date-time"
  4206            },
  4207            "updated_at": {
  4208              "type": "string",
  4209              "format": "date-time"
  4210            }
  4211          },
  4212          "example": {
  4213            "id": "626ea67628690c73ac86ac81eec2d185",
  4214            "name": "template",
  4215            "briefing": "text",
  4216            "created_at": "2017-01-28T09:52:53Z",
  4217            "updated_at": "2017-01-28T09:52:53Z"
  4218          }
  4219        },
  4220        "organization_job_template_details": {
  4221          "allOf": [
  4222            {
  4223              "$ref": "#/components/schemas/organization_job_template"
  4224            },
  4225            {
  4226              "type": "object",
  4227              "title": "organization_job_template_details",
  4228              "properties": {
  4229                "owner": {
  4230                  "$ref": "#/components/schemas/user_preview"
  4231                },
  4232                "creator": {
  4233                  "$ref": "#/components/schemas/user_preview"
  4234                },
  4235                "locales": {
  4236                  "type": "array",
  4237                  "items": {
  4238                    "$ref": "#/components/schemas/locale_preview"
  4239                  }
  4240                }
  4241              },
  4242              "example": {
  4243                "owner": {
  4244                  "id": "abcd1234cdef1234abcd1234cdef1234",
  4245                  "username": "joe.doe",
  4246                  "name": "Joe Doe"
  4247                },
  4248                "creator": {
  4249                  "id": "abcd1234cdef1234abcd1234cdef1234",
  4250                  "username": "joe.doe",
  4251                  "name": "Joe Doe"
  4252                },
  4253                "locales": [
  4254                  {
  4255                    "id": "abcd1234cdef1234abcd1234cdef1234",
  4256                    "name": "English",
  4257                    "code": "en-GB"
  4258                  }
  4259                ]
  4260              }
  4261            }
  4262          ]
  4263        },
  4264        "key_link": {
  4265          "type": "object",
  4266          "properties": {
  4267            "created_at": {
  4268              "type": "string",
  4269              "format": "date-time",
  4270              "description": "The timestamp when the link was created."
  4271            },
  4272            "updated_at": {
  4273              "type": "string",
  4274              "format": "date-time",
  4275              "description": "The timestamp when the link was last updated."
  4276            },
  4277            "created_by": {
  4278              "$ref": "#/components/schemas/user_preview",
  4279              "description": "The user who created the link."
  4280            },
  4281            "updated_by": {
  4282              "$ref": "#/components/schemas/user_preview",
  4283              "description": "The user who last updated the link."
  4284            },
  4285            "account": {
  4286              "$ref": "#/components/schemas/account",
  4287              "description": "The account associated with the link."
  4288            },
  4289            "parent": {
  4290              "$ref": "#/components/schemas/key_preview",
  4291              "description": "The parent translation key in the link."
  4292            },
  4293            "children": {
  4294              "type": "array",
  4295              "items": {
  4296                "$ref": "#/components/schemas/key_preview"
  4297              },
  4298              "description": "The child translation keys linked to the parent."
  4299            }
  4300          }
  4301        },
  4302        "repo_sync": {
  4303          "type": "object",
  4304          "title": "repo_sync",
  4305          "properties": {
  4306            "id": {
  4307              "type": "string"
  4308            },
  4309            "project": {
  4310              "$ref": "#/components/schemas/project_short"
  4311            },
  4312            "provider": {
  4313              "type": "string"
  4314            },
  4315            "enabled": {
  4316              "type": "boolean"
  4317            },
  4318            "auto_import": {
  4319              "type": "boolean"
  4320            },
  4321            "repo_name": {
  4322              "type": "string"
  4323            },
  4324            "created_at": {
  4325              "type": "string",
  4326              "format": "date-time"
  4327            },
  4328            "last_import_at": {
  4329              "type": "string",
  4330              "format": "date-time"
  4331            },
  4332            "last_export_at": {
  4333              "type": "string",
  4334              "format": "date-time"
  4335            }
  4336          },
  4337          "example": {
  4338            "id": "abcd1234cdef1234abcd1234cdef1234",
  4339            "project": {
  4340              "id": "abcd1234cdef1234abcd1234cdef1234",
  4341              "name": "My Android Project",
  4342              "main_format": "xml",
  4343              "created_at": "2015-01-28T09:52:53Z",
  4344              "updated_at": "2015-01-28T09:52:53Z"
  4345            },
  4346            "provider": "github",
  4347            "enabled": true,
  4348            "auto_import": true,
  4349            "repo_name": "organization/repo",
  4350            "created_at": "2015-01-28T09:52:53Z",
  4351            "last_import_at": "2015-01-28T09:52:53Z",
  4352            "last_export_at": "2015-01-28T09:52:53Z"
  4353          }
  4354        },
  4355        "repo_sync_event": {
  4356          "type": "object",
  4357          "title": "repo_sync_event",
  4358          "properties": {
  4359            "event_type": {
  4360              "type": "string",
  4361              "enum": [
  4362                "import",
  4363                "export"
  4364              ]
  4365            },
  4366            "created_at": {
  4367              "type": "string",
  4368              "format": "date-time"
  4369            },
  4370            "status": {
  4371              "type": "string",
  4372              "enum": [
  4373                "running",
  4374                "success",
  4375                "failure"
  4376              ]
  4377            },
  4378            "pull_request_url": {
  4379              "type": "string",
  4380              "description": "URL of the pull request created on export"
  4381            },
  4382            "auto_import": {
  4383              "type": "boolean",
  4384              "description": "Whether the import was triggered by the repo push event"
  4385            },
  4386            "errors": {
  4387              "description": "List of error messages, in case of failure",
  4388              "type": "array",
  4389              "items": {
  4390                "anyOf": [
  4391                  {
  4392                    "type": "string"
  4393                  },
  4394                  {
  4395                    "type": "object"
  4396                  }
  4397                ]
  4398              }
  4399            }
  4400          },
  4401          "example": {
  4402            "event_type": "import",
  4403            "created_at": "2015-01-28T09:52:53Z",
  4404            "status": "failure",
  4405            "auto_import": true,
  4406            "errors": [
  4407              "Error message",
  4408              "Error message"
  4409            ]
  4410          }
  4411        }
  4412      },
  4413      "parameters": {
  4414        "X-PhraseApp-OTP": {
  4415          "in": "header",
  4416          "name": "X-PhraseApp-OTP",
  4417          "description": "Two-Factor-Authentication token (optional)",
  4418          "required": false,
  4419          "allowEmptyValue": false,
  4420          "schema": {
  4421            "type": "string"
  4422          }
  4423        },
  4424        "If-Modified-Since": {
  4425          "description": "Last modified condition, see <a href=\"#overview--conditional-get-requests--http-caching\">Conditional GET requests / HTTP Caching</a> (optional)",
  4426          "explode": false,
  4427          "in": "header",
  4428          "name": "If-Modified-Since",
  4429          "required": false,
  4430          "schema": {
  4431            "type": "string"
  4432          },
  4433          "style": "simple"
  4434        },
  4435        "If-None-Match": {
  4436          "description": "ETag condition, see <a href=\"#overview--conditional-get-requests--http-caching\">Conditional GET requests / HTTP Caching</a> (optional)",
  4437          "explode": false,
  4438          "in": "header",
  4439          "name": "If-None-Match",
  4440          "required": false,
  4441          "schema": {
  4442            "type": "string"
  4443          },
  4444          "style": "simple"
  4445        },
  4446        "account_id": {
  4447          "in": "path",
  4448          "name": "account_id",
  4449          "description": "Account ID",
  4450          "required": true,
  4451          "schema": {
  4452            "type": "string"
  4453          }
  4454        },
  4455        "custom_metadata_data_type": {
  4456          "in": "query",
  4457          "name": "data_type",
  4458          "description": "Data Type of Custom Metadata Property",
  4459          "required": false,
  4460          "schema": {
  4461            "$ref": "#/components/schemas/custom_metadata_data_type"
  4462          },
  4463          "example": "boolean"
  4464        },
  4465        "query_account_id": {
  4466          "in": "query",
  4467          "name": "account_id",
  4468          "description": "Filter by Account ID",
  4469          "required": false,
  4470          "schema": {
  4471            "type": "string"
  4472          }
  4473        },
  4474        "repo_sync_id": {
  4475          "in": "path",
  4476          "name": "repo_sync_id",
  4477          "description": "Repo Sync ID",
  4478          "required": true,
  4479          "schema": {
  4480            "type": "string"
  4481          }
  4482        },
  4483        "space_id": {
  4484          "in": "path",
  4485          "name": "space_id",
  4486          "description": "Space ID",
  4487          "required": true,
  4488          "schema": {
  4489            "type": "string"
  4490          }
  4491        },
  4492        "team_id": {
  4493          "in": "path",
  4494          "name": "team_id",
  4495          "description": "Team ID",
  4496          "required": true,
  4497          "schema": {
  4498            "type": "string"
  4499          }
  4500        },
  4501        "project_id": {
  4502          "in": "path",
  4503          "name": "project_id",
  4504          "description": "Project ID",
  4505          "required": true,
  4506          "schema": {
  4507            "type": "string"
  4508          }
  4509        },
  4510        "key_id": {
  4511          "in": "path",
  4512          "name": "key_id",
  4513          "description": "Translation Key ID",
  4514          "required": true,
  4515          "schema": {
  4516            "type": "string"
  4517          }
  4518        },
  4519        "key_id_as_id": {
  4520          "in": "path",
  4521          "name": "id",
  4522          "description": "Parent Translation Key ID",
  4523          "required": true,
  4524          "schema": {
  4525            "type": "string"
  4526          }
  4527        },
  4528        "figma_attachment_id": {
  4529          "in": "path",
  4530          "name": "figma_attachment_id",
  4531          "description": "Figma attachment ID",
  4532          "required": true,
  4533          "schema": {
  4534            "type": "string"
  4535          }
  4536        },
  4537        "job_id": {
  4538          "in": "path",
  4539          "name": "job_id",
  4540          "description": "Job ID",
  4541          "required": true,
  4542          "schema": {
  4543            "type": "string"
  4544          }
  4545        },
  4546        "job_template_id": {
  4547          "in": "path",
  4548          "name": "job_template_id",
  4549          "description": "Job Template ID",
  4550          "required": true,
  4551          "schema": {
  4552            "type": "string"
  4553          }
  4554        },
  4555        "job_template_locale_id": {
  4556          "in": "path",
  4557          "name": "job_template_locale_id",
  4558          "description": "Job Template Locale ID",
  4559          "required": true,
  4560          "schema": {
  4561            "type": "string"
  4562          }
  4563        },
  4564        "distribution_id": {
  4565          "in": "path",
  4566          "name": "distribution_id",
  4567          "description": "Distribution ID",
  4568          "required": true,
  4569          "schema": {
  4570            "type": "string"
  4571          }
  4572        },
  4573        "screenshot_id": {
  4574          "in": "path",
  4575          "name": "screenshot_id",
  4576          "description": "Screenshot ID",
  4577          "required": true,
  4578          "schema": {
  4579            "type": "string"
  4580          }
  4581        },
  4582        "translation_id": {
  4583          "in": "path",
  4584          "name": "translation_id",
  4585          "description": "Translation ID",
  4586          "required": true,
  4587          "schema": {
  4588            "type": "string"
  4589          }
  4590        },
  4591        "glossary_id": {
  4592          "in": "path",
  4593          "name": "glossary_id",
  4594          "description": "Glossary ID",
  4595          "required": true,
  4596          "schema": {
  4597            "type": "string"
  4598          }
  4599        },
  4600        "comment_id": {
  4601          "in": "path",
  4602          "name": "comment_id",
  4603          "description": "Comment ID",
  4604          "required": true,
  4605          "schema": {
  4606            "type": "string"
  4607          }
  4608        },
  4609        "term_id": {
  4610          "in": "path",
  4611          "name": "term_id",
  4612          "description": "Term ID",
  4613          "required": true,
  4614          "schema": {
  4615            "type": "string"
  4616          }
  4617        },
  4618        "locale_codes": {
  4619          "in": "query",
  4620          "name": "locale_codes",
  4621          "description": "Locale Code",
  4622          "required": false,
  4623          "schema": {
  4624            "type": "string"
  4625          }
  4626        },
  4627        "locale_id": {
  4628          "in": "path",
  4629          "name": "locale_id",
  4630          "description": "Locale ID",
  4631          "required": true,
  4632          "schema": {
  4633            "type": "string"
  4634          }
  4635        },
  4636        "locale_id_as_id": {
  4637          "in": "path",
  4638          "name": "id",
  4639          "description": "Locale ID or locale name",
  4640          "required": true,
  4641          "schema": {
  4642            "type": "string"
  4643          }
  4644        },
  4645        "gitlab_sync_id": {
  4646          "in": "path",
  4647          "name": "gitlab_sync_id",
  4648          "description": "Gitlab Sync ID",
  4649          "required": true,
  4650          "schema": {
  4651            "type": "string"
  4652          }
  4653        },
  4654        "id": {
  4655          "in": "path",
  4656          "name": "id",
  4657          "description": "ID",
  4658          "required": true,
  4659          "schema": {
  4660            "type": "string"
  4661          }
  4662        },
  4663        "name": {
  4664          "in": "path",
  4665          "name": "name",
  4666          "description": "name",
  4667          "required": true,
  4668          "schema": {
  4669            "type": "string"
  4670          }
  4671        },
  4672        "tag": {
  4673          "in": "query",
  4674          "name": "tag",
  4675          "description": "tag",
  4676          "required": false,
  4677          "schema": {
  4678            "type": "string"
  4679          }
  4680        },
  4681        "page": {
  4682          "in": "query",
  4683          "name": "page",
  4684          "description": "Page number",
  4685          "required": false,
  4686          "allowEmptyValue": false,
  4687          "schema": {
  4688            "type": "integer"
  4689          },
  4690          "example": 1
  4691        },
  4692        "per_page": {
  4693          "in": "query",
  4694          "name": "per_page",
  4695          "description": "Limit on the number of objects to be returned, between 1 and 100. 25 by default",
  4696          "required": false,
  4697          "allowEmptyValue": false,
  4698          "schema": {
  4699            "type": "integer"
  4700          },
  4701          "example": 25
  4702        },
  4703        "webhook_id": {
  4704          "in": "path",
  4705          "name": "webhook_id",
  4706          "description": "Webhook ID",
  4707          "required": true,
  4708          "schema": {
  4709            "type": "string"
  4710          }
  4711        },
  4712        "response_status_codes": {
  4713          "in": "query",
  4714          "name": "response_status_codes",
  4715          "description": "List of Response Status Codes",
  4716          "required": false,
  4717          "schema": {
  4718            "type": "string"
  4719          }
  4720        }
  4721      },
  4722      "responses": {
  4723        "200": {
  4724          "description": "OK",
  4725          "headers": {
  4726            "X-Rate-Limit-Limit": {
  4727              "$ref": "#/components/headers/X-Rate-Limit-Limit"
  4728            },
  4729            "X-Rate-Limit-Remaining": {
  4730              "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  4731            },
  4732            "X-Rate-Limit-Reset": {
  4733              "$ref": "#/components/headers/X-Rate-Limit-Reset"
  4734            }
  4735          }
  4736        },
  4737        "201": {
  4738          "description": "The resource has been created",
  4739          "headers": {
  4740            "X-Rate-Limit-Limit": {
  4741              "$ref": "#/components/headers/X-Rate-Limit-Limit"
  4742            },
  4743            "X-Rate-Limit-Remaining": {
  4744              "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  4745            },
  4746            "X-Rate-Limit-Reset": {
  4747              "$ref": "#/components/headers/X-Rate-Limit-Reset"
  4748            }
  4749          }
  4750        },
  4751        "204": {
  4752          "description": "The resource was deleted successfully.",
  4753          "headers": {
  4754            "X-Rate-Limit-Limit": {
  4755              "$ref": "#/components/headers/X-Rate-Limit-Limit"
  4756            },
  4757            "X-Rate-Limit-Remaining": {
  4758              "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  4759            },
  4760            "X-Rate-Limit-Reset": {
  4761              "$ref": "#/components/headers/X-Rate-Limit-Reset"
  4762            }
  4763          }
  4764        },
  4765        "400": {
  4766          "description": "Bad request",
  4767          "headers": {
  4768            "X-Rate-Limit-Limit": {
  4769              "$ref": "#/components/headers/X-Rate-Limit-Limit"
  4770            },
  4771            "X-Rate-Limit-Remaining": {
  4772              "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  4773            },
  4774            "X-Rate-Limit-Reset": {
  4775              "$ref": "#/components/headers/X-Rate-Limit-Reset"
  4776            }
  4777          }
  4778        },
  4779        "401": {
  4780          "description": "Unauthorized"
  4781        },
  4782        "403": {
  4783          "description": "Forbidden",
  4784          "headers": {
  4785            "X-Rate-Limit-Limit": {
  4786              "$ref": "#/components/headers/X-Rate-Limit-Limit"
  4787            },
  4788            "X-Rate-Limit-Remaining": {
  4789              "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  4790            },
  4791            "X-Rate-Limit-Reset": {
  4792              "$ref": "#/components/headers/X-Rate-Limit-Reset"
  4793            }
  4794          }
  4795        },
  4796        "404": {
  4797          "description": "Not Found",
  4798          "headers": {
  4799            "X-Rate-Limit-Limit": {
  4800              "$ref": "#/components/headers/X-Rate-Limit-Limit"
  4801            },
  4802            "X-Rate-Limit-Remaining": {
  4803              "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  4804            },
  4805            "X-Rate-Limit-Reset": {
  4806              "$ref": "#/components/headers/X-Rate-Limit-Reset"
  4807            }
  4808          }
  4809        },
  4810        "422": {
  4811          "description": "Unprocessable entity",
  4812          "content": {
  4813            "application/json": {
  4814              "schema": {
  4815                "type": "object",
  4816                "properties": {
  4817                  "message": {
  4818                    "type": "string"
  4819                  },
  4820                  "errors": {
  4821                    "type": "array",
  4822                    "items": {
  4823                      "type": "object",
  4824                      "properties": {
  4825                        "resource": {
  4826                          "type": "string"
  4827                        },
  4828                        "field": {
  4829                          "type": "string"
  4830                        },
  4831                        "message": {
  4832                          "type": "string"
  4833                        }
  4834                      }
  4835                    }
  4836                  }
  4837                },
  4838                "example": {
  4839                  "message": "Validation Failed",
  4840                  "errors": [
  4841                    {
  4842                      "resource": "Resource",
  4843                      "field": "name",
  4844                      "message": "can't be blank"
  4845                    }
  4846                  ]
  4847                }
  4848              }
  4849            }
  4850          },
  4851          "headers": {
  4852            "X-Rate-Limit-Limit": {
  4853              "$ref": "#/components/headers/X-Rate-Limit-Limit"
  4854            },
  4855            "X-Rate-Limit-Remaining": {
  4856              "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  4857            },
  4858            "X-Rate-Limit-Reset": {
  4859              "$ref": "#/components/headers/X-Rate-Limit-Reset"
  4860            }
  4861          }
  4862        },
  4863        "429": {
  4864          "description": "Rate Limiting",
  4865          "headers": {
  4866            "X-Rate-Limit-Limit": {
  4867              "$ref": "#/components/headers/X-Rate-Limit-Limit"
  4868            },
  4869            "X-Rate-Limit-Remaining": {
  4870              "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  4871            },
  4872            "X-Rate-Limit-Reset": {
  4873              "$ref": "#/components/headers/X-Rate-Limit-Reset"
  4874            }
  4875          }
  4876        },
  4877        "503": {
  4878          "description": "Server error"
  4879        },
  4880        "504": {
  4881          "description": "Gateway timeout"
  4882        }
  4883      }
  4884    },
  4885    "paths": {
  4886      "/icu/skeleton": {
  4887        "post": {
  4888          "summary": "Build ICU skeletons",
  4889          "description": "Returns ICU skeletons for multiple locale codes based on a source content.",
  4890          "operationId": "icu/skeleton",
  4891          "tags": [
  4892            "ICU"
  4893          ],
  4894          "parameters": [
  4895            {
  4896              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  4897            }
  4898          ],
  4899          "responses": {
  4900            "200": {
  4901              "description": "OK",
  4902              "content": {
  4903                "application/json": {
  4904                  "schema": {
  4905                    "$ref": "#/components/schemas/icu"
  4906                  }
  4907                }
  4908              },
  4909              "headers": {
  4910                "X-Rate-Limit-Limit": {
  4911                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  4912                },
  4913                "X-Rate-Limit-Remaining": {
  4914                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  4915                },
  4916                "X-Rate-Limit-Reset": {
  4917                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  4918                },
  4919                "Link": {
  4920                  "$ref": "#/components/headers/Link"
  4921                }
  4922              }
  4923            },
  4924            "400": {
  4925              "$ref": "#/components/responses/400"
  4926            },
  4927            "404": {
  4928              "$ref": "#/components/responses/404"
  4929            },
  4930            "429": {
  4931              "$ref": "#/components/responses/429"
  4932            }
  4933          },
  4934          "x-code-samples": [
  4935            {
  4936              "lang": "Curl",
  4937              "source": "curl \"https://api.phrase.com/v2/icu/skeleton\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"content\":\"{number, plural, one {One} other {%{n}}}\",\"locale_codes\":[\"en\"],\"zero_form_enabled\": true}' \\\n  -H 'Content-Type: application/json'"
  4938            },
  4939            {
  4940              "lang": "CLI v2",
  4941              "source": "phrase icu skeleton \\\n--data '{\"content\":\"{number, plural, one {One} other {%{n}}}\",\"locale_codes\":[\"en\"],\"zero_form_enabled\": true}' \\\n--access_token <token>"
  4942            }
  4943          ],
  4944          "requestBody": {
  4945            "required": true,
  4946            "content": {
  4947              "application/json": {
  4948                "schema": {
  4949                  "type": "object",
  4950                  "title": "icu/skeleton/parameters",
  4951                  "properties": {
  4952                    "content": {
  4953                      "description": "Source content",
  4954                      "type": "string",
  4955                      "example": "{number, plural, one {One} other {%{n}}}"
  4956                    },
  4957                    "locale_codes": {
  4958                      "description": "Locale codes",
  4959                      "type": "array",
  4960                      "items": {
  4961                        "type": "string",
  4962                        "example": "en"
  4963                      },
  4964                      "example": [
  4965                        "en"
  4966                      ]
  4967                    },
  4968                    "keep_content": {
  4969                      "description": "Keep the content and add missing plural forms for each locale",
  4970                      "type": "boolean",
  4971                      "example": null
  4972                    },
  4973                    "zero_form_enabled": {
  4974                      "description": "Indicates whether the zero form should be included or excluded in the returned skeletons",
  4975                      "type": "boolean",
  4976                      "example": null
  4977                    },
  4978                    "cldr_version": {
  4979                      "description": "Strings supports two CLDR variants, when it comes to pluralization rules. \\\nYou can choose which one you want to use when constructing the skeletons. Possible values \\\nare `legacy` and `cldr_41`. Default value is `legacy`.",
  4980                      "type": "string",
  4981                      "example": "cldr_41"
  4982                    }
  4983                  }
  4984                }
  4985              }
  4986            }
  4987          },
  4988          "x-cli-version": "2.9"
  4989        }
  4990      },
  4991      "/formats": {
  4992        "get": {
  4993          "summary": "List formats",
  4994          "description": "Get a handy list of all localization file formats supported in Phrase.",
  4995          "operationId": "formats/list",
  4996          "tags": [
  4997            "Formats"
  4998          ],
  4999          "parameters": [
  5000            {
  5001              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5002            }
  5003          ],
  5004          "responses": {
  5005            "200": {
  5006              "description": "OK",
  5007              "content": {
  5008                "application/json": {
  5009                  "schema": {
  5010                    "type": "array",
  5011                    "items": {
  5012                      "$ref": "#/components/schemas/format"
  5013                    }
  5014                  }
  5015                }
  5016              },
  5017              "headers": {
  5018                "X-Rate-Limit-Limit": {
  5019                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  5020                },
  5021                "X-Rate-Limit-Remaining": {
  5022                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  5023                },
  5024                "X-Rate-Limit-Reset": {
  5025                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  5026                },
  5027                "Link": {
  5028                  "$ref": "#/components/headers/Link"
  5029                },
  5030                "Pagination": {
  5031                  "$ref": "#/components/headers/Pagination"
  5032                }
  5033              }
  5034            },
  5035            "400": {
  5036              "$ref": "#/components/responses/400"
  5037            },
  5038            "404": {
  5039              "$ref": "#/components/responses/404"
  5040            },
  5041            "429": {
  5042              "$ref": "#/components/responses/429"
  5043            }
  5044          },
  5045          "x-code-samples": [
  5046            {
  5047              "lang": "Curl",
  5048              "source": "curl \"https://api.phrase.com/v2/formats\""
  5049            },
  5050            {
  5051              "lang": "CLI v2",
  5052              "source": "phrase formats list \\\n--access_token <token>"
  5053            }
  5054          ],
  5055          "x-cli-version": "2.5"
  5056        }
  5057      },
  5058      "/projects/{project_id}/documents": {
  5059        "get": {
  5060          "summary": "List documents",
  5061          "description": "List all documents the current user has access to.",
  5062          "operationId": "documents/list",
  5063          "tags": [
  5064            "Documents"
  5065          ],
  5066          "parameters": [
  5067            {
  5068              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5069            },
  5070            {
  5071              "$ref": "#/components/parameters/page"
  5072            },
  5073            {
  5074              "$ref": "#/components/parameters/per_page"
  5075            },
  5076            {
  5077              "$ref": "#/components/parameters/project_id"
  5078            }
  5079          ],
  5080          "responses": {
  5081            "200": {
  5082              "description": "OK",
  5083              "content": {
  5084                "application/json": {
  5085                  "schema": {
  5086                    "type": "array",
  5087                    "items": {
  5088                      "type": "object",
  5089                      "title": "document",
  5090                      "properties": {
  5091                        "id": {
  5092                          "type": "string"
  5093                        },
  5094                        "name": {
  5095                          "type": "string"
  5096                        },
  5097                        "created_at": {
  5098                          "type": "string",
  5099                          "format": "date-time"
  5100                        },
  5101                        "updated_at": {
  5102                          "type": "string",
  5103                          "format": "date-time"
  5104                        }
  5105                      },
  5106                      "example": {
  5107                        "id": "abcd1234cdef1234abcd1234cdef1234",
  5108                        "name": "email.html",
  5109                        "created_at": "2015-01-28T09:52:53Z",
  5110                        "updated_at": "2015-01-28T09:52:53Z"
  5111                      }
  5112                    }
  5113                  }
  5114                }
  5115              },
  5116              "headers": {
  5117                "X-Rate-Limit-Limit": {
  5118                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  5119                },
  5120                "X-Rate-Limit-Remaining": {
  5121                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  5122                },
  5123                "X-Rate-Limit-Reset": {
  5124                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  5125                },
  5126                "Link": {
  5127                  "$ref": "#/components/headers/Link"
  5128                },
  5129                "Pagination": {
  5130                  "$ref": "#/components/headers/Pagination"
  5131                }
  5132              }
  5133            },
  5134            "400": {
  5135              "$ref": "#/components/responses/400"
  5136            },
  5137            "404": {
  5138              "$ref": "#/components/responses/404"
  5139            },
  5140            "429": {
  5141              "$ref": "#/components/responses/429"
  5142            }
  5143          },
  5144          "x-code-samples": [
  5145            {
  5146              "lang": "Curl",
  5147              "source": "curl \"https://api.phrase.com/v2/documents?project_id=asdf\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  5148            },
  5149            {
  5150              "lang": "CLI v2",
  5151              "source": "phrase documents list \\\n--project_id <project_id> \\\n--access_token <token>"
  5152            }
  5153          ],
  5154          "x-cli-version": "2.5"
  5155        }
  5156      },
  5157      "/projects/{project_id}/documents/{id}": {
  5158        "delete": {
  5159          "summary": "Delete document",
  5160          "description": "Delete an existing document.",
  5161          "operationId": "document/delete",
  5162          "tags": [
  5163            "Documents"
  5164          ],
  5165          "parameters": [
  5166            {
  5167              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5168            },
  5169            {
  5170              "$ref": "#/components/parameters/project_id"
  5171            },
  5172            {
  5173              "$ref": "#/components/parameters/id"
  5174            }
  5175          ],
  5176          "responses": {
  5177            "200": {
  5178              "$ref": "#/components/responses/200"
  5179            },
  5180            "400": {
  5181              "$ref": "#/components/responses/400"
  5182            },
  5183            "404": {
  5184              "$ref": "#/components/responses/404"
  5185            },
  5186            "429": {
  5187              "$ref": "#/components/responses/429"
  5188            }
  5189          },
  5190          "x-code-samples": [
  5191            {
  5192              "lang": "Curl",
  5193              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/documents/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -H 'Content-Type: application/json'"
  5194            },
  5195            {
  5196              "lang": "CLI v2",
  5197              "source": "phrase documents delete \\\n--project_id <project_id> \\\n--id <id> \\\n--access_token <token>"
  5198            }
  5199          ],
  5200          "x-cli-version": "2.5"
  5201        }
  5202      },
  5203      "/projects/{project_id}/report": {
  5204        "get": {
  5205          "summary": "Get Project Report",
  5206          "description": "Get report of a single project.",
  5207          "operationId": "report/show",
  5208          "tags": [
  5209            "Reports"
  5210          ],
  5211          "parameters": [
  5212            {
  5213              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5214            },
  5215            {
  5216              "$ref": "#/components/parameters/project_id"
  5217            },
  5218            {
  5219              "description": "specify the branch to use",
  5220              "example": "my-feature-branch",
  5221              "name": "branch",
  5222              "in": "query",
  5223              "schema": {
  5224                "type": "string"
  5225              }
  5226            }
  5227          ],
  5228          "responses": {
  5229            "200": {
  5230              "description": "OK",
  5231              "content": {
  5232                "application/json": {
  5233                  "schema": {
  5234                    "$ref": "#/components/schemas/project_report"
  5235                  }
  5236                }
  5237              },
  5238              "headers": {
  5239                "X-Rate-Limit-Limit": {
  5240                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  5241                },
  5242                "X-Rate-Limit-Remaining": {
  5243                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  5244                },
  5245                "X-Rate-Limit-Reset": {
  5246                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  5247                },
  5248                "Link": {
  5249                  "$ref": "#/components/headers/Link"
  5250                }
  5251              }
  5252            },
  5253            "400": {
  5254              "$ref": "#/components/responses/400"
  5255            },
  5256            "404": {
  5257              "$ref": "#/components/responses/404"
  5258            },
  5259            "429": {
  5260              "$ref": "#/components/responses/429"
  5261            }
  5262          },
  5263          "x-code-samples": [
  5264            {
  5265              "lang": "Curl",
  5266              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/report?branch=my-feature-branch\" \\\n  -X GET \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  5267            },
  5268            {
  5269              "lang": "CLI v2",
  5270              "source": "phrase report show \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  5271            }
  5272          ],
  5273          "x-cli-version": "2.13"
  5274        }
  5275      },
  5276      "/projects/{project_id}/report/locales": {
  5277        "get": {
  5278          "summary": "List Locale Reports",
  5279          "description": "List all locale reports for the given project",
  5280          "operationId": "report/locales/list",
  5281          "tags": [
  5282            "Reports"
  5283          ],
  5284          "parameters": [
  5285            {
  5286              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5287            },
  5288            {
  5289              "$ref": "#/components/parameters/project_id"
  5290            },
  5291            {
  5292              "$ref": "#/components/parameters/page"
  5293            },
  5294            {
  5295              "$ref": "#/components/parameters/per_page"
  5296            },
  5297            {
  5298              "$ref": "#/components/parameters/locale_codes"
  5299            },
  5300            {
  5301              "$ref": "#/components/parameters/tag"
  5302            },
  5303            {
  5304              "description": "specify the branch to use",
  5305              "example": "my-feature-branch",
  5306              "name": "branch",
  5307              "in": "query",
  5308              "schema": {
  5309                "type": "string"
  5310              }
  5311            }
  5312          ],
  5313          "responses": {
  5314            "200": {
  5315              "description": "OK",
  5316              "content": {
  5317                "application/json": {
  5318                  "schema": {
  5319                    "type": "array",
  5320                    "items": {
  5321                      "$ref": "#/components/schemas/locale_report"
  5322                    }
  5323                  }
  5324                }
  5325              },
  5326              "headers": {
  5327                "X-Rate-Limit-Limit": {
  5328                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  5329                },
  5330                "X-Rate-Limit-Remaining": {
  5331                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  5332                },
  5333                "X-Rate-Limit-Reset": {
  5334                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  5335                },
  5336                "Link": {
  5337                  "$ref": "#/components/headers/Link"
  5338                }
  5339              }
  5340            },
  5341            "400": {
  5342              "$ref": "#/components/responses/400"
  5343            },
  5344            "404": {
  5345              "$ref": "#/components/responses/404"
  5346            },
  5347            "429": {
  5348              "$ref": "#/components/responses/429"
  5349            }
  5350          },
  5351          "x-code-samples": [
  5352            {
  5353              "lang": "Curl",
  5354              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/report/locales?locale_codes[]=de&locale_codes[]=en&branch=my-feature-branch\" \\\n  -X GET \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  5355            },
  5356            {
  5357              "lang": "CLI v2",
  5358              "source": "phrase report locales list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--locale_codes de \\\n--access_token <token>"
  5359            }
  5360          ],
  5361          "x-cli-version": "2.13"
  5362        }
  5363      },
  5364      "/projects/{project_id}/figma_attachments": {
  5365        "get": {
  5366          "summary": "List Figma attachments",
  5367          "description": "List all Figma attachments for the given project",
  5368          "operationId": "figma_attachments/list",
  5369          "tags": [
  5370            "Figma attachments"
  5371          ],
  5372          "parameters": [
  5373            {
  5374              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5375            },
  5376            {
  5377              "$ref": "#/components/parameters/project_id"
  5378            },
  5379            {
  5380              "$ref": "#/components/parameters/page"
  5381            },
  5382            {
  5383              "$ref": "#/components/parameters/per_page"
  5384            },
  5385            {
  5386              "description": "specify the branch to use",
  5387              "example": "my-feature-branch",
  5388              "name": "branch",
  5389              "in": "query",
  5390              "schema": {
  5391                "type": "string"
  5392              }
  5393            }
  5394          ],
  5395          "responses": {
  5396            "200": {
  5397              "description": "OK",
  5398              "content": {
  5399                "application/json": {
  5400                  "schema": {
  5401                    "type": "array",
  5402                    "items": {
  5403                      "$ref": "#/components/schemas/figma_attachment"
  5404                    }
  5405                  }
  5406                }
  5407              },
  5408              "headers": {
  5409                "X-Rate-Limit-Limit": {
  5410                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  5411                },
  5412                "X-Rate-Limit-Remaining": {
  5413                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  5414                },
  5415                "X-Rate-Limit-Reset": {
  5416                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  5417                },
  5418                "Link": {
  5419                  "$ref": "#/components/headers/Link"
  5420                },
  5421                "Pagination": {
  5422                  "$ref": "#/components/headers/Pagination"
  5423                }
  5424              }
  5425            },
  5426            "400": {
  5427              "$ref": "#/components/responses/400"
  5428            },
  5429            "404": {
  5430              "$ref": "#/components/responses/404"
  5431            },
  5432            "429": {
  5433              "$ref": "#/components/responses/429"
  5434            }
  5435          },
  5436          "x-code-samples": [
  5437            {
  5438              "lang": "Curl",
  5439              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/figma_attachments?branch=my-feature-branch\" \\\n  -X GET \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  5440            },
  5441            {
  5442              "lang": "CLI v2",
  5443              "source": "phrase figma_attachments list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  5444            }
  5445          ],
  5446          "x-cli-version": "2.13"
  5447        },
  5448        "post": {
  5449          "summary": "Create a Figma attachment",
  5450          "description": "Create a new Figma attachment.",
  5451          "operationId": "figma_attachment/create",
  5452          "tags": [
  5453            "Figma attachments"
  5454          ],
  5455          "parameters": [
  5456            {
  5457              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5458            },
  5459            {
  5460              "$ref": "#/components/parameters/project_id"
  5461            },
  5462            {
  5463              "description": "specify the branch to use",
  5464              "example": "my-feature-branch",
  5465              "name": "branch",
  5466              "in": "query",
  5467              "schema": {
  5468                "type": "string"
  5469              }
  5470            }
  5471          ],
  5472          "responses": {
  5473            "201": {
  5474              "description": "Created",
  5475              "content": {
  5476                "application/json": {
  5477                  "schema": {
  5478                    "$ref": "#/components/schemas/figma_attachment"
  5479                  }
  5480                }
  5481              },
  5482              "headers": {
  5483                "X-Rate-Limit-Limit": {
  5484                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  5485                },
  5486                "X-Rate-Limit-Remaining": {
  5487                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  5488                },
  5489                "X-Rate-Limit-Reset": {
  5490                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  5491                }
  5492              }
  5493            },
  5494            "400": {
  5495              "$ref": "#/components/responses/400"
  5496            },
  5497            "404": {
  5498              "$ref": "#/components/responses/404"
  5499            },
  5500            "429": {
  5501              "$ref": "#/components/responses/429"
  5502            }
  5503          },
  5504          "x-code-samples": [
  5505            {
  5506              "lang": "Curl",
  5507              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/figma_attachments\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -F branch=my-feature-branch \\\n  -F url=https://figma.com/file/xxxxx/sample \\"
  5508            },
  5509            {
  5510              "lang": "CLI v2",
  5511              "source": "phrase figma_attachment create \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"url\":\"https://figma.com/file/xxxxx/sample\"}' \\\n--access_token <token>"
  5512            }
  5513          ],
  5514          "requestBody": {
  5515            "required": true,
  5516            "content": {
  5517              "application/json": {
  5518                "schema": {
  5519                  "type": "object",
  5520                  "title": "figma_attachment/create/parameters",
  5521                  "required": [
  5522                    "url"
  5523                  ],
  5524                  "properties": {
  5525                    "branch": {
  5526                      "description": "specify the branch to use",
  5527                      "type": "string",
  5528                      "example": "my-feature-branch"
  5529                    },
  5530                    "url": {
  5531                      "description": "Figma file url",
  5532                      "type": "string",
  5533                      "example": "https://figma.com/file/xxxxx/sample"
  5534                    }
  5535                  }
  5536                }
  5537              }
  5538            }
  5539          },
  5540          "x-cli-version": "2.13"
  5541        }
  5542      },
  5543      "/projects/{project_id}/figma_attachments/{id}": {
  5544        "get": {
  5545          "summary": "Get a single Figma attachment",
  5546          "description": "Get details on a single Figma attachment for a given project.",
  5547          "operationId": "figma_attachment/show",
  5548          "tags": [
  5549            "Figma attachments"
  5550          ],
  5551          "parameters": [
  5552            {
  5553              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5554            },
  5555            {
  5556              "$ref": "#/components/parameters/project_id"
  5557            },
  5558            {
  5559              "$ref": "#/components/parameters/id"
  5560            },
  5561            {
  5562              "description": "specify the branch to use",
  5563              "example": "my-feature-branch",
  5564              "name": "branch",
  5565              "in": "query",
  5566              "schema": {
  5567                "type": "string"
  5568              }
  5569            }
  5570          ],
  5571          "responses": {
  5572            "200": {
  5573              "description": "OK",
  5574              "content": {
  5575                "application/json": {
  5576                  "schema": {
  5577                    "$ref": "#/components/schemas/figma_attachment"
  5578                  }
  5579                }
  5580              },
  5581              "headers": {
  5582                "X-Rate-Limit-Limit": {
  5583                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  5584                },
  5585                "X-Rate-Limit-Remaining": {
  5586                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  5587                },
  5588                "X-Rate-Limit-Reset": {
  5589                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  5590                }
  5591              }
  5592            },
  5593            "400": {
  5594              "$ref": "#/components/responses/400"
  5595            },
  5596            "404": {
  5597              "$ref": "#/components/responses/404"
  5598            },
  5599            "429": {
  5600              "$ref": "#/components/responses/429"
  5601            }
  5602          },
  5603          "x-code-samples": [
  5604            {
  5605              "lang": "Curl",
  5606              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/figma_attachments/:id?branch=my-feature-branch\" \\\n  -X GET \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  5607            },
  5608            {
  5609              "lang": "CLI v2",
  5610              "source": "phrase figma_attachment show \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  5611            }
  5612          ],
  5613          "x-cli-version": "2.13"
  5614        },
  5615        "patch": {
  5616          "summary": "Update a Figma attachment",
  5617          "description": "Update an existing Figma attachment.",
  5618          "operationId": "figma_attachment/update",
  5619          "tags": [
  5620            "Figma attachments"
  5621          ],
  5622          "parameters": [
  5623            {
  5624              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5625            },
  5626            {
  5627              "$ref": "#/components/parameters/project_id"
  5628            },
  5629            {
  5630              "$ref": "#/components/parameters/id"
  5631            },
  5632            {
  5633              "description": "specify the branch to use",
  5634              "example": "my-feature-branch",
  5635              "name": "branch",
  5636              "in": "query",
  5637              "schema": {
  5638                "type": "string"
  5639              }
  5640            }
  5641          ],
  5642          "responses": {
  5643            "200": {
  5644              "description": "OK",
  5645              "content": {
  5646                "application/json": {
  5647                  "schema": {
  5648                    "$ref": "#/components/schemas/figma_attachment"
  5649                  }
  5650                }
  5651              },
  5652              "headers": {
  5653                "X-Rate-Limit-Limit": {
  5654                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  5655                },
  5656                "X-Rate-Limit-Remaining": {
  5657                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  5658                },
  5659                "X-Rate-Limit-Reset": {
  5660                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  5661                }
  5662              }
  5663            },
  5664            "400": {
  5665              "$ref": "#/components/responses/400"
  5666            },
  5667            "404": {
  5668              "$ref": "#/components/responses/404"
  5669            },
  5670            "429": {
  5671              "$ref": "#/components/responses/429"
  5672            }
  5673          },
  5674          "x-code-samples": [
  5675            {
  5676              "lang": "Curl",
  5677              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/figma_attachments/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -F branch=my-feature-branch \\\n  -F url=https://figma.com/file/xxxxx/sample \\"
  5678            },
  5679            {
  5680              "lang": "CLI v2",
  5681              "source": "phrase figma_attachment update \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\", \"url\":\"https://figma.com/file/xxxxx/sample\" }' \\\n--access_token <token>"
  5682            }
  5683          ],
  5684          "requestBody": {
  5685            "required": true,
  5686            "content": {
  5687              "application/json": {
  5688                "schema": {
  5689                  "type": "object",
  5690                  "title": "figma_attachment/update/parameters",
  5691                  "properties": {
  5692                    "branch": {
  5693                      "description": "specify the branch to use",
  5694                      "type": "string",
  5695                      "example": "my-feature-branch"
  5696                    },
  5697                    "url": {
  5698                      "description": "Figma file url",
  5699                      "type": "string",
  5700                      "example": "https://figma.com/file/xxxxx/sample"
  5701                    }
  5702                  }
  5703                }
  5704              }
  5705            }
  5706          },
  5707          "x-cli-version": "2.13"
  5708        },
  5709        "delete": {
  5710          "summary": "Delete a Figma attachment",
  5711          "description": "Delete an existing Figma attachment.",
  5712          "operationId": "figma_attachment/delete",
  5713          "tags": [
  5714            "Figma attachments"
  5715          ],
  5716          "parameters": [
  5717            {
  5718              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5719            },
  5720            {
  5721              "$ref": "#/components/parameters/project_id"
  5722            },
  5723            {
  5724              "$ref": "#/components/parameters/id"
  5725            },
  5726            {
  5727              "description": "specify the branch to use",
  5728              "example": "my-feature-branch",
  5729              "name": "branch",
  5730              "in": "query",
  5731              "schema": {
  5732                "type": "string"
  5733              }
  5734            }
  5735          ],
  5736          "responses": {
  5737            "204": {
  5738              "$ref": "#/components/responses/204"
  5739            },
  5740            "400": {
  5741              "$ref": "#/components/responses/400"
  5742            },
  5743            "404": {
  5744              "$ref": "#/components/responses/404"
  5745            },
  5746            "429": {
  5747              "$ref": "#/components/responses/429"
  5748            }
  5749          },
  5750          "x-code-samples": [
  5751            {
  5752              "lang": "Curl",
  5753              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/figma_attachments/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
  5754            },
  5755            {
  5756              "lang": "CLI v2",
  5757              "source": "phrase figma_attachment delete \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  5758            }
  5759          ],
  5760          "x-cli-version": "2.13"
  5761        }
  5762      },
  5763      "/projects/{project_id}/figma_attachments/{figma_attachment_id}/keys": {
  5764        "post": {
  5765          "summary": "Attach the Figma attachment to a key",
  5766          "description": "Attach the Figma attachment to a key",
  5767          "operationId": "figma_attachment/attach_to_key",
  5768          "tags": [
  5769            "Key's Figma attachments"
  5770          ],
  5771          "parameters": [
  5772            {
  5773              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5774            },
  5775            {
  5776              "$ref": "#/components/parameters/project_id"
  5777            },
  5778            {
  5779              "$ref": "#/components/parameters/figma_attachment_id"
  5780            },
  5781            {
  5782              "$ref": "#/components/parameters/id"
  5783            },
  5784            {
  5785              "description": "specify the branch to use",
  5786              "example": "my-feature-branch",
  5787              "name": "branch",
  5788              "in": "query",
  5789              "schema": {
  5790                "type": "string"
  5791              }
  5792            }
  5793          ],
  5794          "responses": {
  5795            "204": {
  5796              "$ref": "#/components/responses/204"
  5797            },
  5798            "400": {
  5799              "$ref": "#/components/responses/400"
  5800            },
  5801            "404": {
  5802              "$ref": "#/components/responses/404"
  5803            },
  5804            "429": {
  5805              "$ref": "#/components/responses/429"
  5806            }
  5807          },
  5808          "x-code-samples": [
  5809            {
  5810              "lang": "Curl",
  5811              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/figma_attachments/:figma_attachment_id/keys\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -F branch=my-feature-branch \\\n  -F id=key_id \\\n  -H 'Content-Type: application/json'"
  5812            },
  5813            {
  5814              "lang": "CLI v2",
  5815              "source": "phrase figma_attachment attach_to_key \\\n--project_id <project_id> \\\n--figma_attachment_id <figma_attachment_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  5816            }
  5817          ],
  5818          "x-cli-version": "2.13"
  5819        }
  5820      },
  5821      "/projects/{project_id}/figma_attachments/{figma_attachment_id}/keys/{id}": {
  5822        "delete": {
  5823          "summary": "Detach the Figma attachment from a key",
  5824          "description": "Detach the Figma attachment from a key",
  5825          "operationId": "figma_attachment/detach_from_key",
  5826          "tags": [
  5827            "Key's Figma attachments"
  5828          ],
  5829          "parameters": [
  5830            {
  5831              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5832            },
  5833            {
  5834              "$ref": "#/components/parameters/project_id"
  5835            },
  5836            {
  5837              "$ref": "#/components/parameters/figma_attachment_id"
  5838            },
  5839            {
  5840              "$ref": "#/components/parameters/id"
  5841            },
  5842            {
  5843              "description": "specify the branch to use",
  5844              "example": "my-feature-branch",
  5845              "name": "branch",
  5846              "in": "query",
  5847              "schema": {
  5848                "type": "string"
  5849              }
  5850            }
  5851          ],
  5852          "responses": {
  5853            "204": {
  5854              "$ref": "#/components/responses/204"
  5855            },
  5856            "400": {
  5857              "$ref": "#/components/responses/400"
  5858            },
  5859            "404": {
  5860              "$ref": "#/components/responses/404"
  5861            },
  5862            "429": {
  5863              "$ref": "#/components/responses/429"
  5864            }
  5865          },
  5866          "x-code-samples": [
  5867            {
  5868              "lang": "Curl",
  5869              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/figma_attachments/:figma_attachment_id/keys/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -F branch=my-feature-branch \\\n  -H 'Content-Type: application/json'"
  5870            },
  5871            {
  5872              "lang": "CLI v2",
  5873              "source": "phrase figma_attachment detach_from_key \\\n--project_id <project_id> \\\n--figma_attachment_id <figma_attachment_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  5874            }
  5875          ],
  5876          "x-cli-version": "2.13"
  5877        }
  5878      },
  5879      "/projects/{project_id}/styleguides": {
  5880        "get": {
  5881          "summary": "List style guides",
  5882          "description": "List all styleguides for the given project.",
  5883          "operationId": "styleguides/list",
  5884          "tags": [
  5885            "Style guides"
  5886          ],
  5887          "parameters": [
  5888            {
  5889              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5890            },
  5891            {
  5892              "$ref": "#/components/parameters/project_id"
  5893            },
  5894            {
  5895              "$ref": "#/components/parameters/page"
  5896            },
  5897            {
  5898              "$ref": "#/components/parameters/per_page"
  5899            }
  5900          ],
  5901          "responses": {
  5902            "200": {
  5903              "description": "OK",
  5904              "content": {
  5905                "application/json": {
  5906                  "schema": {
  5907                    "type": "array",
  5908                    "items": {
  5909                      "$ref": "#/components/schemas/styleguide"
  5910                    }
  5911                  }
  5912                }
  5913              },
  5914              "headers": {
  5915                "X-Rate-Limit-Limit": {
  5916                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  5917                },
  5918                "X-Rate-Limit-Remaining": {
  5919                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  5920                },
  5921                "X-Rate-Limit-Reset": {
  5922                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  5923                },
  5924                "Link": {
  5925                  "$ref": "#/components/headers/Link"
  5926                },
  5927                "Pagination": {
  5928                  "$ref": "#/components/headers/Pagination"
  5929                }
  5930              }
  5931            },
  5932            "400": {
  5933              "$ref": "#/components/responses/400"
  5934            },
  5935            "404": {
  5936              "$ref": "#/components/responses/404"
  5937            },
  5938            "429": {
  5939              "$ref": "#/components/responses/429"
  5940            }
  5941          },
  5942          "x-code-samples": [
  5943            {
  5944              "lang": "Curl",
  5945              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/styleguides\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  5946            },
  5947            {
  5948              "lang": "CLI v2",
  5949              "source": "phrase styleguides list \\\n--project_id <project_id> \\\n--access_token <token>"
  5950            }
  5951          ],
  5952          "x-cli-version": "2.5"
  5953        },
  5954        "post": {
  5955          "summary": "Create a style guide",
  5956          "description": "Create a new style guide.",
  5957          "operationId": "styleguide/create",
  5958          "tags": [
  5959            "Style guides"
  5960          ],
  5961          "parameters": [
  5962            {
  5963              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  5964            },
  5965            {
  5966              "$ref": "#/components/parameters/project_id"
  5967            }
  5968          ],
  5969          "responses": {
  5970            "201": {
  5971              "description": "Created",
  5972              "content": {
  5973                "application/json": {
  5974                  "schema": {
  5975                    "$ref": "#/components/schemas/styleguide_details"
  5976                  }
  5977                }
  5978              },
  5979              "headers": {
  5980                "X-Rate-Limit-Limit": {
  5981                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  5982                },
  5983                "X-Rate-Limit-Remaining": {
  5984                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  5985                },
  5986                "X-Rate-Limit-Reset": {
  5987                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  5988                }
  5989              }
  5990            },
  5991            "400": {
  5992              "$ref": "#/components/responses/400"
  5993            },
  5994            "404": {
  5995              "$ref": "#/components/responses/404"
  5996            },
  5997            "429": {
  5998              "$ref": "#/components/responses/429"
  5999            }
  6000          },
  6001          "x-code-samples": [
  6002            {
  6003              "lang": "Curl",
  6004              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/styleguides\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"title\":\"Web application style guide\",\"audience\":\"customer-facing\",\"target_audience\":\"teenager\",\"grammatical_person\":\"first_person_singular\",\"vocabulary_type\":\"technical\",\"business\":\"We are a travel site that helps customers find the best hotels and flights.\",\"company_branding\":\"ACME Inc. should never be translated.\",\"formatting\":\"Never use capital letters\",\"glossary_terms\":\"Apartment, cabin, loft\",\"grammar_consistency\":\",\"literal_translation\":\"Neutral\",\"overall_tone\":\"Tone should be fun and light\",\"samples\":\"http://www.myexample.com/my/document/path/to/samples.pdf\"}' \\\n  -H 'Content-Type: application/json'"
  6005            },
  6006            {
  6007              "lang": "CLI v2",
  6008              "source": "phrase styleguides create \\\n--project_id <project_id> \\\n--data '{\"title\": \"Web application style guide\", \"audience\":\"customer-facing\", \"target_audience\":\"teenager\", \"grammatical_person\":\"first_person_singular\", \"vocabulary_type\":\"technical\", \"business\": \"We are a travel site that helps customers find the best hotels and flights.\", \"company_branding\": \"ACME Inc. should never be translated.\", \"formatting\": \"Never use capital letters\", \"glossary_terms\": \"Apartment, cabin, loft\", \"grammar_consistency\":\", \"literal_translation\":\"Neutral\", \"overall_tone\": \"Tone should be fun and light\", \"samples\": \"http://www.myexample.com/my/document/path/to/samples.pdf\"}' \\\n--access_token <token>"
  6009            }
  6010          ],
  6011          "requestBody": {
  6012            "required": true,
  6013            "content": {
  6014              "application/json": {
  6015                "schema": {
  6016                  "type": "object",
  6017                  "title": "styleguide/create/parameters",
  6018                  "required": [
  6019                    "title"
  6020                  ],
  6021                  "properties": {
  6022                    "title": {
  6023                      "description": "Style guide title",
  6024                      "type": "string",
  6025                      "example": "Web application style guide"
  6026                    },
  6027                    "audience": {
  6028                      "description": "Audience description",
  6029                      "type": "string",
  6030                      "example": "customer-facing"
  6031                    },
  6032                    "target_audience": {
  6033                      "description": "Can be one of: not_specified, children, teenager, young_adults, adults, old_adults.",
  6034                      "type": "string",
  6035                      "example": "teenager"
  6036                    },
  6037                    "grammatical_person": {
  6038                      "description": "Can be one of: not_specified, first_person_singular, second_person_singular, third_person_singular_masculine, third_person_singular_feminine, third_person_singular_neuter, first_person_plural, second_person_plural, third_person_plural.",
  6039                      "type": "string",
  6040                      "example": "first_person_singular"
  6041                    },
  6042                    "vocabulary_type": {
  6043                      "description": "Can be one of: not_specified, popular, technical, fictional.",
  6044                      "type": "string",
  6045                      "example": "technical"
  6046                    },
  6047                    "business": {
  6048                      "description": "Description of the business",
  6049                      "type": "string",
  6050                      "example": "We are a travel site that helps customers find the best hotels and flights."
  6051                    },
  6052                    "company_branding": {
  6053                      "description": "Company branding to remain consistent.",
  6054                      "type": "string",
  6055                      "example": "ACME Inc. should never be translated."
  6056                    },
  6057                    "formatting": {
  6058                      "description": "Formatting requirements and character limitations.",
  6059                      "type": "string",
  6060                      "example": "Never use capital letters"
  6061                    },
  6062                    "glossary_terms": {
  6063                      "description": "List of terms and/or phrases that need to be translated consistently.",
  6064                      "type": "string",
  6065                      "example": "Apartment, cabin, loft"
  6066                    },
  6067                    "grammar_consistency": {
  6068                      "description": "Formal or informal pronouns, consistent conjugation, grammatical gender",
  6069                      "type": "string",
  6070                      "example": ""
  6071                    },
  6072                    "literal_translation": {
  6073                      "description": "Can be one of: Cultural/Conversational, Literal, Neutral.",
  6074                      "type": "string",
  6075                      "example": "Neutral"
  6076                    },
  6077                    "overall_tone": {
  6078                      "description": "Tone requirement descriptions",
  6079                      "type": "string",
  6080                      "example": "Tone should be fun and light"
  6081                    },
  6082                    "samples": {
  6083                      "description": "Provide links to sample product pages, FAQ pages, etc. to give the translator a point of reference. You can also provide past translations. Even snippets or short paragraphs are helpful for maintaining consistency.",
  6084                      "type": "string",
  6085                      "example": "http://www.myexample.com/my/document/path/to/samples.pdf"
  6086                    }
  6087                  }
  6088                }
  6089              }
  6090            }
  6091          },
  6092          "x-cli-version": "2.5"
  6093        }
  6094      },
  6095      "/projects/{project_id}/styleguides/{id}": {
  6096        "get": {
  6097          "summary": "Get a single style guide",
  6098          "description": "Get details on a single style guide.",
  6099          "operationId": "styleguide/show",
  6100          "tags": [
  6101            "Style guides"
  6102          ],
  6103          "parameters": [
  6104            {
  6105              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  6106            },
  6107            {
  6108              "$ref": "#/components/parameters/project_id"
  6109            },
  6110            {
  6111              "$ref": "#/components/parameters/id"
  6112            }
  6113          ],
  6114          "responses": {
  6115            "200": {
  6116              "description": "OK",
  6117              "content": {
  6118                "application/json": {
  6119                  "schema": {
  6120                    "$ref": "#/components/schemas/styleguide_details"
  6121                  }
  6122                }
  6123              },
  6124              "headers": {
  6125                "X-Rate-Limit-Limit": {
  6126                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  6127                },
  6128                "X-Rate-Limit-Remaining": {
  6129                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  6130                },
  6131                "X-Rate-Limit-Reset": {
  6132                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  6133                }
  6134              }
  6135            },
  6136            "400": {
  6137              "$ref": "#/components/responses/400"
  6138            },
  6139            "404": {
  6140              "$ref": "#/components/responses/404"
  6141            },
  6142            "429": {
  6143              "$ref": "#/components/responses/429"
  6144            }
  6145          },
  6146          "x-code-samples": [
  6147            {
  6148              "lang": "Curl",
  6149              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/styleguides/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  6150            },
  6151            {
  6152              "lang": "CLI v2",
  6153              "source": "phrase styleguides show \\\n--project_id <project_id> \\\n--id <id> \\\n--access_token <token>"
  6154            }
  6155          ],
  6156          "x-cli-version": "2.5"
  6157        },
  6158        "patch": {
  6159          "summary": "Update a style guide",
  6160          "description": "Update an existing style guide.",
  6161          "operationId": "styleguide/update",
  6162          "tags": [
  6163            "Style guides"
  6164          ],
  6165          "parameters": [
  6166            {
  6167              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  6168            },
  6169            {
  6170              "$ref": "#/components/parameters/project_id"
  6171            },
  6172            {
  6173              "$ref": "#/components/parameters/id"
  6174            }
  6175          ],
  6176          "responses": {
  6177            "200": {
  6178              "description": "OK",
  6179              "content": {
  6180                "application/json": {
  6181                  "schema": {
  6182                    "$ref": "#/components/schemas/styleguide_details"
  6183                  }
  6184                }
  6185              },
  6186              "headers": {
  6187                "X-Rate-Limit-Limit": {
  6188                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  6189                },
  6190                "X-Rate-Limit-Remaining": {
  6191                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  6192                },
  6193                "X-Rate-Limit-Reset": {
  6194                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  6195                }
  6196              }
  6197            },
  6198            "400": {
  6199              "$ref": "#/components/responses/400"
  6200            },
  6201            "404": {
  6202              "$ref": "#/components/responses/404"
  6203            },
  6204            "429": {
  6205              "$ref": "#/components/responses/429"
  6206            }
  6207          },
  6208          "x-code-samples": [
  6209            {
  6210              "lang": "Curl",
  6211              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/styleguides/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"title\":\"Web application style guide\",\"audience\":\"customer-facing\",\"target_audience\":\"teenager\",\"grammatical_person\":\"first_person_singular\",\"vocabulary_type\":\"technical\",\"business\":\"We are a travel site that helps customers find the best hotels and flights.\",\"company_branding\":\"ACME Inc. should never be translated.\",\"formatting\":\"Never use capital letters\",\"glossary_terms\":\"Apartment, cabin, loft\",\"grammar_consistency\":\",\"literal_translation\":\"Neutral\",\"overall_tone\":\"Tone should be fun and light\",\"samples\":\"http://www.myexample.com/my/document/path/to/samples.pdf\"}' \\\n  -H 'Content-Type: application/json'"
  6212            },
  6213            {
  6214              "lang": "CLI v2",
  6215              "source": "phrase styleguides update \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"title\": \"Web application style guide\", \"audience\":\"customer-facing\", \"target_audience\":\"teenager\", \"grammatical_person\":\"first_person_singular\", \"vocabulary_type\":\"technical\", \"business\": \"We are a travel site that helps customers find the best hotels and flights.\", \"company_branding\": \"ACME Inc. should never be translated.\", \"formatting\": \"Never use capital letters\", \"glossary_terms\": \"Apartment, cabin, loft\", \"grammar_consistency\":\", \"literal_translation\":\"Neutral\", \"overall_tone\": \"Tone should be fun and light\", \"samples\": \"http://www.myexample.com/my/document/path/to/samples.pdf\"}' \\\n--access_token <token>"
  6216            }
  6217          ],
  6218          "requestBody": {
  6219            "required": true,
  6220            "content": {
  6221              "application/json": {
  6222                "schema": {
  6223                  "type": "object",
  6224                  "title": "styleguide/update/parameters",
  6225                  "properties": {
  6226                    "title": {
  6227                      "description": "Style guide title",
  6228                      "type": "string",
  6229                      "example": "Web application style guide"
  6230                    },
  6231                    "audience": {
  6232                      "description": "Audience description",
  6233                      "type": "string",
  6234                      "example": "customer-facing"
  6235                    },
  6236                    "target_audience": {
  6237                      "description": "Can be one of: not_specified, children, teenager, young_adults, adults, old_adults.",
  6238                      "type": "string",
  6239                      "example": "teenager"
  6240                    },
  6241                    "grammatical_person": {
  6242                      "description": "Can be one of: not_specified, first_person_singular, second_person_singular, third_person_singular_masculine, third_person_singular_feminine, third_person_singular_neuter, first_person_plural, second_person_plural, third_person_plural.",
  6243                      "type": "string",
  6244                      "example": "first_person_singular"
  6245                    },
  6246                    "vocabulary_type": {
  6247                      "description": "Can be one of: not_specified, popular, technical, fictional.",
  6248                      "type": "string",
  6249                      "example": "technical"
  6250                    },
  6251                    "business": {
  6252                      "description": "Description of the business",
  6253                      "type": "string",
  6254                      "example": "We are a travel site that helps customers find the best hotels and flights."
  6255                    },
  6256                    "company_branding": {
  6257                      "description": "Company branding to remain consistent.",
  6258                      "type": "string",
  6259                      "example": "ACME Inc. should never be translated."
  6260                    },
  6261                    "formatting": {
  6262                      "description": "Formatting requirements and character limitations.",
  6263                      "type": "string",
  6264                      "example": "Never use capital letters"
  6265                    },
  6266                    "glossary_terms": {
  6267                      "description": "List of terms and/or phrases that need to be translated consistently.",
  6268                      "type": "string",
  6269                      "example": "Apartment, cabin, loft"
  6270                    },
  6271                    "grammar_consistency": {
  6272                      "description": "Formal or informal pronouns, consistent conjugation, grammatical gender",
  6273                      "type": "string",
  6274                      "example": ""
  6275                    },
  6276                    "literal_translation": {
  6277                      "description": "Can be one of: Cultural/Conversational, Literal, Neutral.",
  6278                      "type": "string",
  6279                      "example": "Neutral"
  6280                    },
  6281                    "overall_tone": {
  6282                      "description": "Tone requirement descriptions",
  6283                      "type": "string",
  6284                      "example": "Tone should be fun and light"
  6285                    },
  6286                    "samples": {
  6287                      "description": "Provide links to sample product pages, FAQ pages, etc. to give the translator a point of reference. You can also provide past translations. Even snippets or short paragraphs are helpful for maintaining consistency.",
  6288                      "type": "string",
  6289                      "example": "http://www.myexample.com/my/document/path/to/samples.pdf"
  6290                    }
  6291                  }
  6292                }
  6293              }
  6294            }
  6295          },
  6296          "x-cli-version": "2.5"
  6297        },
  6298        "delete": {
  6299          "summary": "Delete a style guide",
  6300          "description": "Delete an existing style guide.",
  6301          "operationId": "styleguide/delete",
  6302          "tags": [
  6303            "Style guides"
  6304          ],
  6305          "parameters": [
  6306            {
  6307              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  6308            },
  6309            {
  6310              "$ref": "#/components/parameters/project_id"
  6311            },
  6312            {
  6313              "$ref": "#/components/parameters/id"
  6314            }
  6315          ],
  6316          "responses": {
  6317            "204": {
  6318              "$ref": "#/components/responses/204"
  6319            },
  6320            "400": {
  6321              "$ref": "#/components/responses/400"
  6322            },
  6323            "404": {
  6324              "$ref": "#/components/responses/404"
  6325            },
  6326            "429": {
  6327              "$ref": "#/components/responses/429"
  6328            }
  6329          },
  6330          "x-code-samples": [
  6331            {
  6332              "lang": "Curl",
  6333              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/styleguides/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
  6334            },
  6335            {
  6336              "lang": "CLI v2",
  6337              "source": "phrase styleguides delete \\\n--project_id <project_id> \\\n--id <id> \\\n--access_token <token>"
  6338            }
  6339          ],
  6340          "x-cli-version": "2.5"
  6341        }
  6342      },
  6343      "/accounts/{account_id}/custom_metadata/properties": {
  6344        "get": {
  6345          "summary": "List properties",
  6346          "description": "List all custom metadata properties for an account.\n\nThis endpoint is only available to accounts with advanced plans or above.\n",
  6347          "operationId": "custom_metadata_properties/list",
  6348          "tags": [
  6349            "Custom Metadata"
  6350          ],
  6351          "parameters": [
  6352            {
  6353              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  6354            },
  6355            {
  6356              "$ref": "#/components/parameters/account_id"
  6357            },
  6358            {
  6359              "$ref": "#/components/parameters/custom_metadata_data_type"
  6360            },
  6361            {
  6362              "description": "id of project that the properties belong to",
  6363              "example": "abcd1234cdef1234abcd1234cdef1234",
  6364              "name": "project_id",
  6365              "in": "query",
  6366              "schema": {
  6367                "type": "string"
  6368              }
  6369            },
  6370            {
  6371              "$ref": "#/components/parameters/page"
  6372            },
  6373            {
  6374              "$ref": "#/components/parameters/per_page"
  6375            },
  6376            {
  6377              "description": "query to find a property by name",
  6378              "example": "character_name",
  6379              "name": "q",
  6380              "in": "query",
  6381              "schema": {
  6382                "type": "string"
  6383              }
  6384            },
  6385            {
  6386              "description": "Sort criteria. Can be one of: name, data_type, created_at.",
  6387              "example": "updated_at",
  6388              "name": "sort",
  6389              "in": "query",
  6390              "schema": {
  6391                "type": "string"
  6392              }
  6393            },
  6394            {
  6395              "description": "Order direction. Can be one of: asc, desc.",
  6396              "example": "desc",
  6397              "name": "order",
  6398              "in": "query",
  6399              "schema": {
  6400                "type": "string"
  6401              }
  6402            }
  6403          ],
  6404          "responses": {
  6405            "200": {
  6406              "description": "OK",
  6407              "content": {
  6408                "application/json": {
  6409                  "schema": {
  6410                    "type": "array",
  6411                    "items": {
  6412                      "$ref": "#/components/schemas/custom_metadata_property"
  6413                    }
  6414                  }
  6415                }
  6416              },
  6417              "headers": {
  6418                "X-Rate-Limit-Limit": {
  6419                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  6420                },
  6421                "X-Rate-Limit-Remaining": {
  6422                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  6423                },
  6424                "X-Rate-Limit-Reset": {
  6425                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  6426                },
  6427                "Link": {
  6428                  "$ref": "#/components/headers/Link"
  6429                },
  6430                "Pagination": {
  6431                  "$ref": "#/components/headers/Pagination"
  6432                }
  6433              }
  6434            },
  6435            "400": {
  6436              "$ref": "#/components/responses/400"
  6437            },
  6438            "404": {
  6439              "$ref": "#/components/responses/404"
  6440            },
  6441            "429": {
  6442              "$ref": "#/components/responses/429"
  6443            }
  6444          },
  6445          "x-code-samples": [
  6446            {
  6447              "lang": "Curl",
  6448              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/custom_metadata/properties?data_type=boolean&project_id=1&page=1&per_page=10&sort=created_at&order=desc\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  6449            },
  6450            {
  6451              "lang": "CLI v2",
  6452              "source": "phrase custom_metadata_properties list \\\n--account_id <account_id> \\\n--data_type boolean \\\n--project_id 1 \\\n--page 1 \\\n--per_page 10 \\\n--sort created_at \\\n--order desc \\\n--access_token <token>"
  6453            }
  6454          ],
  6455          "x-cli-version": "2.9"
  6456        },
  6457        "post": {
  6458          "summary": "Create a property",
  6459          "description": "Create a new custom metadata property.",
  6460          "operationId": "custom_metadata_property/create",
  6461          "tags": [
  6462            "Custom Metadata"
  6463          ],
  6464          "parameters": [
  6465            {
  6466              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  6467            },
  6468            {
  6469              "$ref": "#/components/parameters/account_id"
  6470            }
  6471          ],
  6472          "requestBody": {
  6473            "required": true,
  6474            "content": {
  6475              "application/json": {
  6476                "schema": {
  6477                  "required": [
  6478                    "name",
  6479                    "data_type"
  6480                  ],
  6481                  "type": "object",
  6482                  "title": "custom_metadata_properties/create/parameters",
  6483                  "properties": {
  6484                    "name": {
  6485                      "description": "name of the property",
  6486                      "example": "Fruit",
  6487                      "type": "string"
  6488                    },
  6489                    "data_type": {
  6490                      "$ref": "#/components/schemas/custom_metadata_data_type"
  6491                    },
  6492                    "project_ids": {
  6493                      "description": "ids of projects that the property belongs to",
  6494                      "type": "array",
  6495                      "example": [
  6496                        "abcd1234cdef1234abcd1234cdef1234",
  6497                        "abcd1234cdef1234abcd1234cdef4321"
  6498                      ],
  6499                      "items": {
  6500                        "type": "string"
  6501                      }
  6502                    },
  6503                    "description": {
  6504                      "description": "description of property",
  6505                      "example": "A healthy snack for all ages",
  6506                      "type": "string"
  6507                    },
  6508                    "value_options": {
  6509                      "description": "value options of property (only applies to single or multi select properties)",
  6510                      "example": [
  6511                        "Apple",
  6512                        "Banana",
  6513                        "Coconut"
  6514                      ],
  6515                      "type": "array",
  6516                      "items": {
  6517                        "type": "string"
  6518                      }
  6519                    }
  6520                  }
  6521                }
  6522              }
  6523            }
  6524          },
  6525          "responses": {
  6526            "200": {
  6527              "description": "OK",
  6528              "content": {
  6529                "application/json": {
  6530                  "schema": {
  6531                    "$ref": "#/components/schemas/custom_metadata_property"
  6532                  }
  6533                }
  6534              },
  6535              "headers": {
  6536                "X-Rate-Limit-Limit": {
  6537                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  6538                },
  6539                "X-Rate-Limit-Remaining": {
  6540                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  6541                },
  6542                "X-Rate-Limit-Reset": {
  6543                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  6544                }
  6545              }
  6546            },
  6547            "400": {
  6548              "$ref": "#/components/responses/400"
  6549            },
  6550            "404": {
  6551              "$ref": "#/components/responses/404"
  6552            },
  6553            "422": {
  6554              "$ref": "#/components/responses/422"
  6555            },
  6556            "429": {
  6557              "$ref": "#/components/responses/429"
  6558            }
  6559          },
  6560          "x-code-samples": [
  6561            {
  6562              "lang": "Curl",
  6563              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/custom_metadata/properties\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"name\":\"Fruit\",\"data_type\":\"multi_select\",\"description\":\"A healthy snack for all ages\",\"project_ids\":[\"1\",\"2\",\"3\"],\"value_options\":[\"apple\",\"banana\",\"coconut\"]}' \\\n  -H 'Content-Type: application/json'"
  6564            },
  6565            {
  6566              "lang": "CLI v2",
  6567              "source": "phrase custom_metadata_properties create \\\n--account_id <account_id> \\\n--data '{\"name\":\"Fruit\",\"data_type\":\"multi_select\",\"description\":\"A healthy snack for all ages\",\"project_ids\":[\"1\",\"2\",\"3\"],\"value_options\":[\"apple\",\"banana\",\"coconut\"]}' \\\n--access_token <token>"
  6568            }
  6569          ],
  6570          "x-cli-version": "2.9"
  6571        }
  6572      },
  6573      "/accounts/{account_id}/custom_metadata/properties/{id}": {
  6574        "get": {
  6575          "summary": "Get a single property",
  6576          "description": "Get details of a single custom property.",
  6577          "operationId": "custom_metadata_property/show",
  6578          "tags": [
  6579            "Custom Metadata"
  6580          ],
  6581          "parameters": [
  6582            {
  6583              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  6584            },
  6585            {
  6586              "$ref": "#/components/parameters/account_id"
  6587            },
  6588            {
  6589              "$ref": "#/components/parameters/id"
  6590            }
  6591          ],
  6592          "responses": {
  6593            "200": {
  6594              "description": "OK",
  6595              "content": {
  6596                "application/json": {
  6597                  "schema": {
  6598                    "$ref": "#/components/schemas/custom_metadata_property"
  6599                  }
  6600                }
  6601              },
  6602              "headers": {
  6603                "X-Rate-Limit-Limit": {
  6604                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  6605                },
  6606                "X-Rate-Limit-Remaining": {
  6607                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  6608                },
  6609                "X-Rate-Limit-Reset": {
  6610                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  6611                }
  6612              }
  6613            },
  6614            "400": {
  6615              "$ref": "#/components/responses/400"
  6616            },
  6617            "404": {
  6618              "$ref": "#/components/responses/404"
  6619            },
  6620            "429": {
  6621              "$ref": "#/components/responses/429"
  6622            }
  6623          },
  6624          "x-code-samples": [
  6625            {
  6626              "lang": "Curl",
  6627              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/custom_metadata/properties/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  6628            },
  6629            {
  6630              "lang": "CLI v2",
  6631              "source": "phrase custom_metadata_properties show \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
  6632            }
  6633          ],
  6634          "x-cli-version": "2.9"
  6635        },
  6636        "patch": {
  6637          "summary": "Update a property",
  6638          "description": "Update an existing custom metadata property.",
  6639          "operationId": "custom_metadata_property/update",
  6640          "tags": [
  6641            "Custom Metadata"
  6642          ],
  6643          "parameters": [
  6644            {
  6645              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  6646            },
  6647            {
  6648              "$ref": "#/components/parameters/account_id"
  6649            },
  6650            {
  6651              "$ref": "#/components/parameters/id"
  6652            }
  6653          ],
  6654          "requestBody": {
  6655            "required": true,
  6656            "content": {
  6657              "application/json": {
  6658                "schema": {
  6659                  "type": "object",
  6660                  "title": "custom_metadata_properties/update/parameters",
  6661                  "properties": {
  6662                    "name": {
  6663                      "description": "name of the property",
  6664                      "example": "Fruit",
  6665                      "type": "string"
  6666                    },
  6667                    "project_ids": {
  6668                      "description": "ids of projects that the property belongs to",
  6669                      "type": "array",
  6670                      "example": [
  6671                        "abcd1234cdef1234abcd1234cdef1234",
  6672                        "abcd1234cdef1234abcd1234cdef4321"
  6673                      ],
  6674                      "items": {
  6675                        "type": "string"
  6676                      }
  6677                    },
  6678                    "description": {
  6679                      "description": "description of property",
  6680                      "example": "A healthy snack for all ages",
  6681                      "type": "string"
  6682                    },
  6683                    "value_options": {
  6684                      "description": "value options of property (only applies to single or multi select properties)",
  6685                      "example": [
  6686                        "Apple",
  6687                        "Banana",
  6688                        "Coconut"
  6689                      ],
  6690                      "type": "array",
  6691                      "items": {
  6692                        "type": "string"
  6693                      }
  6694                    }
  6695                  }
  6696                }
  6697              }
  6698            }
  6699          },
  6700          "responses": {
  6701            "200": {
  6702              "description": "OK",
  6703              "content": {
  6704                "application/json": {
  6705                  "schema": {
  6706                    "$ref": "#/components/schemas/custom_metadata_property"
  6707                  }
  6708                }
  6709              },
  6710              "headers": {
  6711                "X-Rate-Limit-Limit": {
  6712                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  6713                },
  6714                "X-Rate-Limit-Remaining": {
  6715                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  6716                },
  6717                "X-Rate-Limit-Reset": {
  6718                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  6719                }
  6720              }
  6721            },
  6722            "400": {
  6723              "$ref": "#/components/responses/400"
  6724            },
  6725            "404": {
  6726              "$ref": "#/components/responses/404"
  6727            },
  6728            "429": {
  6729              "$ref": "#/components/responses/429"
  6730            }
  6731          },
  6732          "x-code-samples": [
  6733            {
  6734              "lang": "Curl",
  6735              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/custom_metadata/properties/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"name\":\"Fruit\",\"description\":\"A healthy snack for all ages\",\"project_ids\":[\"1\",\"2\",\"3\"],\"value_options\":[\"apple\",\"banana\",\"coconut\"]}' \\\n  -H 'Content-Type: application/json'"
  6736            },
  6737            {
  6738              "lang": "CLI v2",
  6739              "source": "phrase custom_metadata_properties update \\\n--account_id <account_id> \\\n--id <id> \\\n--data '{\"name\":\"Fruit\",\"description\":\"A healthy snack for all ages\",\"project_ids\":[\"1\",\"2\",\"3\"],\"value_options\":[\"apple\",\"banana\",\"coconut\"]}' \\\n--access_token <token>"
  6740            }
  6741          ],
  6742          "x-cli-version": "2.9"
  6743        },
  6744        "delete": {
  6745          "summary": "Destroy property",
  6746          "description": "Destroy a custom metadata property of an account.\n\nThis endpoint is only available to accounts with advanced plans or above.\n",
  6747          "operationId": "custom_metadata_properties/delete",
  6748          "tags": [
  6749            "Custom Metadata"
  6750          ],
  6751          "parameters": [
  6752            {
  6753              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  6754            },
  6755            {
  6756              "$ref": "#/components/parameters/account_id"
  6757            },
  6758            {
  6759              "$ref": "#/components/parameters/id"
  6760            }
  6761          ],
  6762          "responses": {
  6763            "204": {
  6764              "$ref": "#/components/responses/204"
  6765            },
  6766            "400": {
  6767              "$ref": "#/components/responses/400"
  6768            },
  6769            "404": {
  6770              "$ref": "#/components/responses/404"
  6771            },
  6772            "429": {
  6773              "$ref": "#/components/responses/429"
  6774            }
  6775          },
  6776          "x-code-samples": [
  6777            {
  6778              "lang": "Curl",
  6779              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/custom_metadata/properties/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN\n  -X DELETE\n  -H 'Content-Type: application/json'"
  6780            },
  6781            {
  6782              "lang": "CLI v2",
  6783              "source": "phrase custom_metadata_properties delete \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
  6784            }
  6785          ],
  6786          "x-cli-version": "2.9"
  6787        }
  6788      },
  6789      "/accounts/{account_id}/invitations": {
  6790        "get": {
  6791          "summary": "List invitations",
  6792          "description": "List invitations for an account. It will also list the accessible resources like projects and locales the invited user has access to. In case nothing is shown the default access from the role is used. Access token scope must include <code>team.manage</code>.",
  6793          "operationId": "invitations/list",
  6794          "tags": [
  6795            "Invitations"
  6796          ],
  6797          "parameters": [
  6798            {
  6799              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  6800            },
  6801            {
  6802              "$ref": "#/components/parameters/account_id"
  6803            },
  6804            {
  6805              "$ref": "#/components/parameters/page"
  6806            },
  6807            {
  6808              "$ref": "#/components/parameters/per_page"
  6809            }
  6810          ],
  6811          "responses": {
  6812            "200": {
  6813              "description": "OK",
  6814              "content": {
  6815                "application/json": {
  6816                  "schema": {
  6817                    "type": "array",
  6818                    "items": {
  6819                      "$ref": "#/components/schemas/invitation"
  6820                    }
  6821                  }
  6822                }
  6823              },
  6824              "headers": {
  6825                "X-Rate-Limit-Limit": {
  6826                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  6827                },
  6828                "X-Rate-Limit-Remaining": {
  6829                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  6830                },
  6831                "X-Rate-Limit-Reset": {
  6832                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  6833                },
  6834                "Link": {
  6835                  "$ref": "#/components/headers/Link"
  6836                },
  6837                "Pagination": {
  6838                  "$ref": "#/components/headers/Pagination"
  6839                }
  6840              }
  6841            },
  6842            "400": {
  6843              "$ref": "#/components/responses/400"
  6844            },
  6845            "401": {
  6846              "$ref": "#/components/responses/401"
  6847            },
  6848            "403": {
  6849              "$ref": "#/components/responses/403"
  6850            },
  6851            "404": {
  6852              "$ref": "#/components/responses/404"
  6853            },
  6854            "429": {
  6855              "$ref": "#/components/responses/429"
  6856            }
  6857          },
  6858          "x-code-samples": [
  6859            {
  6860              "lang": "Curl",
  6861              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/invitations\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  6862            },
  6863            {
  6864              "lang": "CLI v2",
  6865              "source": "phrase invitations list \\\n--account_id <account_id> \\\n--access_token <token>"
  6866            }
  6867          ],
  6868          "x-cli-version": "2.5"
  6869        },
  6870        "post": {
  6871          "summary": "Create a new invitation",
  6872          "description": "Invite a person to an account. Developers and translators need <code>project_ids</code> and <code>locale_ids</code> assigned to access them. Access token scope must include <code>team.manage</code>.",
  6873          "operationId": "invitation/create",
  6874          "tags": [
  6875            "Invitations"
  6876          ],
  6877          "parameters": [
  6878            {
  6879              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  6880            },
  6881            {
  6882              "$ref": "#/components/parameters/account_id"
  6883            }
  6884          ],
  6885          "responses": {
  6886            "201": {
  6887              "description": "Created",
  6888              "content": {
  6889                "application/json": {
  6890                  "schema": {
  6891                    "$ref": "#/components/schemas/invitation"
  6892                  }
  6893                }
  6894              },
  6895              "headers": {
  6896                "X-Rate-Limit-Limit": {
  6897                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  6898                },
  6899                "X-Rate-Limit-Remaining": {
  6900                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  6901                },
  6902                "X-Rate-Limit-Reset": {
  6903                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  6904                }
  6905              }
  6906            },
  6907            "400": {
  6908              "$ref": "#/components/responses/400"
  6909            },
  6910            "401": {
  6911              "$ref": "#/components/responses/401"
  6912            },
  6913            "403": {
  6914              "$ref": "#/components/responses/403"
  6915            },
  6916            "404": {
  6917              "$ref": "#/components/responses/404"
  6918            },
  6919            "422": {
  6920              "$ref": "#/components/responses/422"
  6921            },
  6922            "429": {
  6923              "$ref": "#/components/responses/429"
  6924            }
  6925          },
  6926          "x-code-samples": [
  6927            {
  6928              "lang": "Curl",
  6929              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/invitations\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"email\":\"example@mail.com\",\"role\":\"Developer\",\"project_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\",\"locale_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\",\"space_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"],\"team_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"],\"default_locale_codes\":[\"de\",\"en\"],\"permissions\":{\"create_upload\":true,\"review_translations\":true}}' \\\n  -H 'Content-Type: application/json'"
  6930            },
  6931            {
  6932              "lang": "CLI v2",
  6933              "source": "phrase invitations create \\\n--account_id <account_id> \\\n--data '{\"email\":\"example@mail.com\", \"role\":\"Developer\", \"project_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\", \"locale_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\", \"space_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"],\"team_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"], \"default_locale_codes\":[\"de\",\"en\"], \"permissions\":\"{\"create_upload\"=>true, \"review_translations\"=>true}\"}' \\\n--access_token <token>"
  6934            }
  6935          ],
  6936          "requestBody": {
  6937            "required": true,
  6938            "content": {
  6939              "application/json": {
  6940                "schema": {
  6941                  "type": "object",
  6942                  "title": "invitation/create/parameters",
  6943                  "required": [
  6944                    "email",
  6945                    "role"
  6946                  ],
  6947                  "properties": {
  6948                    "email": {
  6949                      "description": "The email of the invited user. The <code>email</code> can not be updated once created. Create a new invitation for each unique email.",
  6950                      "type": "string",
  6951                      "example": "example@mail.com"
  6952                    },
  6953                    "role": {
  6954                      "description": "Invitiation role, can be any of Manager, Developer, Translator.",
  6955                      "type": "string",
  6956                      "example": "Developer"
  6957                    },
  6958                    "project_ids": {
  6959                      "description": "List of project ids the invited user has access to.",
  6960                      "type": "string",
  6961                      "example": "abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235"
  6962                    },
  6963                    "locale_ids": {
  6964                      "description": "List of locale ids the invited user has access to.",
  6965                      "type": "string",
  6966                      "example": "abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235"
  6967                    },
  6968                    "space_ids": {
  6969                      "description": "List of spaces the user is assigned to.",
  6970                      "type": "array",
  6971                      "items": {
  6972                        "type": "string"
  6973                      },
  6974                      "example": [
  6975                        "abcd1234abcd1234abcd1234",
  6976                        "abcd1234abcd1234abcd1235"
  6977                      ]
  6978                    },
  6979                    "team_ids": {
  6980                      "description": "List of teams the user is assigned to.",
  6981                      "type": "array",
  6982                      "items": {
  6983                        "type": "string"
  6984                      },
  6985                      "example": [
  6986                        "abcd1234abcd1234abcd1234",
  6987                        "abcd1234abcd1234abcd1235"
  6988                      ]
  6989                    },
  6990                    "default_locale_codes": {
  6991                      "description": "List of default locales for the user.",
  6992                      "type": "array",
  6993                      "items": {
  6994                        "type": "string"
  6995                      },
  6996                      "example": [
  6997                        "en",
  6998                        "de"
  6999                      ]
  7000                    },
  7001                    "permissions": {
  7002                      "description": "Additional permissions depending on invitation role. Available permissions are <code>create_upload</code> and <code>review_translations</code>",
  7003                      "type": "object",
  7004                      "additionalProperties": {
  7005                        "type": "string"
  7006                      },
  7007                      "example": {
  7008                        "create_upload": true,
  7009                        "review_translations": true
  7010                      }
  7011                    }
  7012                  }
  7013                }
  7014              }
  7015            }
  7016          },
  7017          "x-cli-version": "2.5"
  7018        }
  7019      },
  7020      "/accounts/{account_id}/invitations/{id}": {
  7021        "get": {
  7022          "summary": "Get a single invitation",
  7023          "description": "Get details on a single invitation. Access token scope must include <code>team.manage</code>.",
  7024          "operationId": "invitation/show",
  7025          "tags": [
  7026            "Invitations"
  7027          ],
  7028          "parameters": [
  7029            {
  7030              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7031            },
  7032            {
  7033              "$ref": "#/components/parameters/account_id"
  7034            },
  7035            {
  7036              "$ref": "#/components/parameters/id"
  7037            }
  7038          ],
  7039          "responses": {
  7040            "200": {
  7041              "description": "OK",
  7042              "content": {
  7043                "application/json": {
  7044                  "schema": {
  7045                    "$ref": "#/components/schemas/invitation"
  7046                  }
  7047                }
  7048              },
  7049              "headers": {
  7050                "X-Rate-Limit-Limit": {
  7051                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  7052                },
  7053                "X-Rate-Limit-Remaining": {
  7054                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  7055                },
  7056                "X-Rate-Limit-Reset": {
  7057                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  7058                }
  7059              }
  7060            },
  7061            "400": {
  7062              "$ref": "#/components/responses/400"
  7063            },
  7064            "401": {
  7065              "$ref": "#/components/responses/401"
  7066            },
  7067            "403": {
  7068              "$ref": "#/components/responses/403"
  7069            },
  7070            "404": {
  7071              "$ref": "#/components/responses/404"
  7072            },
  7073            "429": {
  7074              "$ref": "#/components/responses/429"
  7075            }
  7076          },
  7077          "x-code-samples": [
  7078            {
  7079              "lang": "Curl",
  7080              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/invitations/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  7081            },
  7082            {
  7083              "lang": "CLI v2",
  7084              "source": "phrase invitations show \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
  7085            }
  7086          ],
  7087          "x-cli-version": "2.5"
  7088        },
  7089        "patch": {
  7090          "summary": "Update an invitation",
  7091          "description": "Update an existing invitation (must not be accepted yet). The <code>email</code> cannot be updated. Developers and translators need <code>project_ids</code> and <code>locale_ids</code> assigned to access them. Access token scope must include <code>team.manage</code>.",
  7092          "operationId": "invitation/update",
  7093          "tags": [
  7094            "Invitations"
  7095          ],
  7096          "parameters": [
  7097            {
  7098              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7099            },
  7100            {
  7101              "$ref": "#/components/parameters/account_id"
  7102            },
  7103            {
  7104              "$ref": "#/components/parameters/id"
  7105            }
  7106          ],
  7107          "responses": {
  7108            "200": {
  7109              "description": "OK",
  7110              "content": {
  7111                "application/json": {
  7112                  "schema": {
  7113                    "$ref": "#/components/schemas/invitation"
  7114                  }
  7115                }
  7116              },
  7117              "headers": {
  7118                "X-Rate-Limit-Limit": {
  7119                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  7120                },
  7121                "X-Rate-Limit-Remaining": {
  7122                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  7123                },
  7124                "X-Rate-Limit-Reset": {
  7125                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  7126                }
  7127              }
  7128            },
  7129            "400": {
  7130              "$ref": "#/components/responses/400"
  7131            },
  7132            "401": {
  7133              "$ref": "#/components/responses/401"
  7134            },
  7135            "403": {
  7136              "$ref": "#/components/responses/403"
  7137            },
  7138            "404": {
  7139              "$ref": "#/components/responses/404"
  7140            },
  7141            "429": {
  7142              "$ref": "#/components/responses/429"
  7143            }
  7144          },
  7145          "x-code-samples": [
  7146            {
  7147              "lang": "Curl",
  7148              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/invitations/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"role\":\"Invitiation role\",\"project_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\",\"locale_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\",\"space_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"],\"team_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"],\"default_locale_codes\":[\"de\",\"en\"],\"permissions\":{\"create_upload\":true}}' \\\n  -H 'Content-Type: application/json'"
  7149            },
  7150            {
  7151              "lang": "CLI v2",
  7152              "source": "phrase invitations update \\\n--account_id <account_id> \\\n--id <id> \\\n--data '{\"role\": \"Invitiation role\", \"project_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\", \"locale_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\", \"space_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"],\"team_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"], \"default_locale_codes\":[\"de\",\"en\"], \"permissions\":\"{\"create_upload\"=>true}\"}' \\\n--access_token <token>"
  7153            }
  7154          ],
  7155          "requestBody": {
  7156            "required": true,
  7157            "content": {
  7158              "application/json": {
  7159                "schema": {
  7160                  "type": "object",
  7161                  "title": "invitation/update/parameters",
  7162                  "properties": {
  7163                    "role": {
  7164                      "description": "Invitiation role, can be any of Manager, Developer, Translator",
  7165                      "type": "string",
  7166                      "example": "Invitiation role"
  7167                    },
  7168                    "project_ids": {
  7169                      "description": "List of project ids the invited user has access to",
  7170                      "type": "string",
  7171                      "example": "abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235"
  7172                    },
  7173                    "locale_ids": {
  7174                      "description": "List of locale ids the invited user has access to",
  7175                      "type": "string",
  7176                      "example": "abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235"
  7177                    },
  7178                    "space_ids": {
  7179                      "description": "List of spaces the user is assigned to.",
  7180                      "type": "array",
  7181                      "items": {
  7182                        "type": "string"
  7183                      },
  7184                      "example": [
  7185                        "abcd1234abcd1234abcd1234",
  7186                        "abcd1234abcd1234abcd1235"
  7187                      ]
  7188                    },
  7189                    "team_ids": {
  7190                      "description": "List of teams the user is assigned to.",
  7191                      "type": "array",
  7192                      "items": {
  7193                        "type": "string"
  7194                      },
  7195                      "example": [
  7196                        "abcd1234abcd1234abcd1234",
  7197                        "abcd1234abcd1234abcd1235"
  7198                      ]
  7199                    },
  7200                    "default_locale_codes": {
  7201                      "description": "List of default locales for the user.",
  7202                      "type": "array",
  7203                      "items": {
  7204                        "type": "string"
  7205                      },
  7206                      "example": [
  7207                        "en",
  7208                        "de"
  7209                      ]
  7210                    },
  7211                    "permissions": {
  7212                      "description": "Additional permissions depending on invitation role.",
  7213                      "type": "object",
  7214                      "additionalProperties": {
  7215                        "type": "string"
  7216                      },
  7217                      "example": {
  7218                        "create_upload": true
  7219                      }
  7220                    }
  7221                  }
  7222                }
  7223              }
  7224            }
  7225          },
  7226          "x-cli-version": "2.5"
  7227        },
  7228        "delete": {
  7229          "summary": "Delete an invitation",
  7230          "description": "Delete an existing invitation (must not be accepted yet). Access token scope must include <code>team.manage</code>.",
  7231          "operationId": "invitation/delete",
  7232          "tags": [
  7233            "Invitations"
  7234          ],
  7235          "parameters": [
  7236            {
  7237              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7238            },
  7239            {
  7240              "$ref": "#/components/parameters/account_id"
  7241            },
  7242            {
  7243              "$ref": "#/components/parameters/id"
  7244            }
  7245          ],
  7246          "responses": {
  7247            "204": {
  7248              "$ref": "#/components/responses/204"
  7249            },
  7250            "400": {
  7251              "$ref": "#/components/responses/400"
  7252            },
  7253            "401": {
  7254              "$ref": "#/components/responses/401"
  7255            },
  7256            "403": {
  7257              "$ref": "#/components/responses/403"
  7258            },
  7259            "404": {
  7260              "$ref": "#/components/responses/404"
  7261            },
  7262            "429": {
  7263              "$ref": "#/components/responses/429"
  7264            }
  7265          },
  7266          "x-code-samples": [
  7267            {
  7268              "lang": "Curl",
  7269              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/invitations/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
  7270            },
  7271            {
  7272              "lang": "CLI v2",
  7273              "source": "phrase invitations delete \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
  7274            }
  7275          ],
  7276          "x-cli-version": "2.5"
  7277        }
  7278      },
  7279      "/accounts/{account_id}/invitations/{id}/resend": {
  7280        "post": {
  7281          "summary": "Resend an invitation",
  7282          "description": "Resend the invitation email (must not be accepted yet). Access token scope must include <code>team.manage</code>.",
  7283          "operationId": "invitation/resend",
  7284          "tags": [
  7285            "Invitations"
  7286          ],
  7287          "parameters": [
  7288            {
  7289              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7290            },
  7291            {
  7292              "$ref": "#/components/parameters/account_id"
  7293            },
  7294            {
  7295              "$ref": "#/components/parameters/id"
  7296            }
  7297          ],
  7298          "responses": {
  7299            "200": {
  7300              "description": "OK",
  7301              "content": {
  7302                "application/json": {
  7303                  "schema": {
  7304                    "$ref": "#/components/schemas/invitation"
  7305                  }
  7306                }
  7307              },
  7308              "headers": {
  7309                "X-Rate-Limit-Limit": {
  7310                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  7311                },
  7312                "X-Rate-Limit-Remaining": {
  7313                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  7314                },
  7315                "X-Rate-Limit-Reset": {
  7316                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  7317                }
  7318              }
  7319            },
  7320            "400": {
  7321              "$ref": "#/components/responses/400"
  7322            },
  7323            "401": {
  7324              "$ref": "#/components/responses/401"
  7325            },
  7326            "403": {
  7327              "$ref": "#/components/responses/403"
  7328            },
  7329            "404": {
  7330              "$ref": "#/components/responses/404"
  7331            },
  7332            "429": {
  7333              "$ref": "#/components/responses/429"
  7334            }
  7335          },
  7336          "x-code-samples": [
  7337            {
  7338              "lang": "Curl",
  7339              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/invitations/:id/resend\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST"
  7340            },
  7341            {
  7342              "lang": "CLI v2",
  7343              "source": "phrase invitations resend \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
  7344            }
  7345          ],
  7346          "x-cli-version": "2.5"
  7347        }
  7348      },
  7349      "/projects/{project_id}/invitations/{id}": {
  7350        "patch": {
  7351          "summary": "Update a member's invitation access",
  7352          "description": "Update member's settings in the invitations. Access token scope must include <code>team.manage</code>.",
  7353          "operationId": "invitation/update_settings",
  7354          "tags": [
  7355            "Invitations"
  7356          ],
  7357          "parameters": [
  7358            {
  7359              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7360            },
  7361            {
  7362              "$ref": "#/components/parameters/project_id"
  7363            },
  7364            {
  7365              "$ref": "#/components/parameters/id"
  7366            }
  7367          ],
  7368          "responses": {
  7369            "200": {
  7370              "description": "OK",
  7371              "content": {
  7372                "application/json": {
  7373                  "schema": {
  7374                    "$ref": "#/components/schemas/invitation"
  7375                  }
  7376                }
  7377              },
  7378              "headers": {
  7379                "X-Rate-Limit-Limit": {
  7380                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  7381                },
  7382                "X-Rate-Limit-Remaining": {
  7383                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  7384                },
  7385                "X-Rate-Limit-Reset": {
  7386                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  7387                }
  7388              }
  7389            },
  7390            "400": {
  7391              "$ref": "#/components/responses/400"
  7392            },
  7393            "401": {
  7394              "$ref": "#/components/responses/401"
  7395            },
  7396            "403": {
  7397              "$ref": "#/components/responses/403"
  7398            },
  7399            "404": {
  7400              "$ref": "#/components/responses/404"
  7401            },
  7402            "429": {
  7403              "$ref": "#/components/responses/429"
  7404            }
  7405          },
  7406          "x-code-samples": [
  7407            {
  7408              "lang": "Curl",
  7409              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/invitations/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"project_role\":\"Developer\",\"locale_ids\":[\"fff565db236400772368235db2c6117e\",\"fff565db236400772368235db2c6117f\"]}' \\\n  -H 'Content-Type: application/json'"
  7410            },
  7411            {
  7412              "lang": "CLI v2",
  7413              "source": "phrase invitations update_settings \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"project_role\":\"Developer\",\"locale_ids\":[\"fff565db236400772368235db2c6117e\",\"fff565db236400772368235db2c6117f\"]}' \\\n--access_token <token>"
  7414            }
  7415          ],
  7416          "requestBody": {
  7417            "required": true,
  7418            "content": {
  7419              "application/json": {
  7420                "schema": {
  7421                  "type": "object",
  7422                  "title": "invitation/update_settings/parameters",
  7423                  "properties": {
  7424                    "project_role": {
  7425                      "description": "Member role, can be any of of Manager, Developer, Translator",
  7426                      "type": "string",
  7427                      "example": "Developer"
  7428                    },
  7429                    "locale_ids": {
  7430                      "description": "List of locale ids the user has access to.",
  7431                      "type": "array",
  7432                      "items": {
  7433                        "type": "string"
  7434                      },
  7435                      "example": [
  7436                        "abcd1234abcd1234abcd1234",
  7437                        "abcd1234abcd1234abcd1235"
  7438                      ]
  7439                    }
  7440                  }
  7441                }
  7442              }
  7443            }
  7444          },
  7445          "x-cli-version": "2.5"
  7446        }
  7447      },
  7448      "/projects/{project_id}/screenshots/{id}/markers": {
  7449        "get": {
  7450          "summary": "List screenshot markers",
  7451          "description": "List all screenshot markers for the given project.",
  7452          "operationId": "screenshot_markers/list",
  7453          "tags": [
  7454            "Screenshot Markers"
  7455          ],
  7456          "parameters": [
  7457            {
  7458              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7459            },
  7460            {
  7461              "$ref": "#/components/parameters/project_id"
  7462            },
  7463            {
  7464              "$ref": "#/components/parameters/id"
  7465            },
  7466            {
  7467              "$ref": "#/components/parameters/page"
  7468            },
  7469            {
  7470              "$ref": "#/components/parameters/per_page"
  7471            },
  7472            {
  7473              "description": "specify the branch to use",
  7474              "example": "my-feature-branch",
  7475              "name": "branch",
  7476              "in": "query",
  7477              "schema": {
  7478                "type": "string"
  7479              }
  7480            }
  7481          ],
  7482          "responses": {
  7483            "200": {
  7484              "description": "OK",
  7485              "content": {
  7486                "application/json": {
  7487                  "schema": {
  7488                    "type": "array",
  7489                    "items": {
  7490                      "$ref": "#/components/schemas/screenshot_marker"
  7491                    }
  7492                  }
  7493                }
  7494              },
  7495              "headers": {
  7496                "X-Rate-Limit-Limit": {
  7497                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  7498                },
  7499                "X-Rate-Limit-Remaining": {
  7500                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  7501                },
  7502                "X-Rate-Limit-Reset": {
  7503                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  7504                },
  7505                "Link": {
  7506                  "$ref": "#/components/headers/Link"
  7507                },
  7508                "Pagination": {
  7509                  "$ref": "#/components/headers/Pagination"
  7510                }
  7511              }
  7512            },
  7513            "400": {
  7514              "$ref": "#/components/responses/400"
  7515            },
  7516            "404": {
  7517              "$ref": "#/components/responses/404"
  7518            },
  7519            "429": {
  7520              "$ref": "#/components/responses/429"
  7521            }
  7522          },
  7523          "x-code-samples": [
  7524            {
  7525              "lang": "Curl",
  7526              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/screenshots/:id/markers?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  7527            },
  7528            {
  7529              "lang": "CLI v2",
  7530              "source": "phrase screenshot_markers list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--id <id> \\\n--access_token <token>"
  7531            }
  7532          ],
  7533          "x-cli-version": "2.5"
  7534        }
  7535      },
  7536      "/projects/{project_id}/screenshots/{screenshot_id}/markers/{id}": {
  7537        "get": {
  7538          "summary": "Get a single screenshot marker",
  7539          "description": "Get details on a single screenshot marker for a given project.",
  7540          "operationId": "screenshot_marker/show",
  7541          "tags": [
  7542            "Screenshot Markers"
  7543          ],
  7544          "parameters": [
  7545            {
  7546              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7547            },
  7548            {
  7549              "$ref": "#/components/parameters/project_id"
  7550            },
  7551            {
  7552              "$ref": "#/components/parameters/screenshot_id"
  7553            },
  7554            {
  7555              "$ref": "#/components/parameters/id"
  7556            },
  7557            {
  7558              "description": "specify the branch to use",
  7559              "example": "my-feature-branch",
  7560              "name": "branch",
  7561              "in": "query",
  7562              "schema": {
  7563                "type": "string"
  7564              }
  7565            }
  7566          ],
  7567          "responses": {
  7568            "200": {
  7569              "description": "OK",
  7570              "content": {
  7571                "application/json": {
  7572                  "schema": {
  7573                    "$ref": "#/components/schemas/screenshot_marker"
  7574                  }
  7575                }
  7576              },
  7577              "headers": {
  7578                "X-Rate-Limit-Limit": {
  7579                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  7580                },
  7581                "X-Rate-Limit-Remaining": {
  7582                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  7583                },
  7584                "X-Rate-Limit-Reset": {
  7585                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  7586                }
  7587              }
  7588            },
  7589            "400": {
  7590              "$ref": "#/components/responses/400"
  7591            },
  7592            "404": {
  7593              "$ref": "#/components/responses/404"
  7594            },
  7595            "429": {
  7596              "$ref": "#/components/responses/429"
  7597            }
  7598          },
  7599          "x-code-samples": [
  7600            {
  7601              "lang": "Curl",
  7602              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/screenshots/:screenshot_id/markers/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  7603            },
  7604            {
  7605              "lang": "CLI v2",
  7606              "source": "phrase screenshot_markers show \\\n--project_id <project_id> \\\n--screenshot_id <screenshot_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  7607            }
  7608          ],
  7609          "x-cli-version": "2.5"
  7610        }
  7611      },
  7612      "/projects/{project_id}/screenshots/{screenshot_id}/markers": {
  7613        "post": {
  7614          "summary": "Create a screenshot marker",
  7615          "description": "Create a new screenshot marker.",
  7616          "operationId": "screenshot_marker/create",
  7617          "tags": [
  7618            "Screenshot Markers"
  7619          ],
  7620          "parameters": [
  7621            {
  7622              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7623            },
  7624            {
  7625              "$ref": "#/components/parameters/project_id"
  7626            },
  7627            {
  7628              "$ref": "#/components/parameters/screenshot_id"
  7629            }
  7630          ],
  7631          "responses": {
  7632            "201": {
  7633              "description": "Created",
  7634              "content": {
  7635                "application/json": {
  7636                  "schema": {
  7637                    "$ref": "#/components/schemas/screenshot_marker"
  7638                  }
  7639                }
  7640              },
  7641              "headers": {
  7642                "X-Rate-Limit-Limit": {
  7643                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  7644                },
  7645                "X-Rate-Limit-Remaining": {
  7646                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  7647                },
  7648                "X-Rate-Limit-Reset": {
  7649                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  7650                }
  7651              }
  7652            },
  7653            "400": {
  7654              "$ref": "#/components/responses/400"
  7655            },
  7656            "404": {
  7657              "$ref": "#/components/responses/404"
  7658            },
  7659            "429": {
  7660              "$ref": "#/components/responses/429"
  7661            }
  7662          },
  7663          "x-code-samples": [
  7664            {
  7665              "lang": "Curl",
  7666              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/screenshots/:screenshot_id/markers\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\", \"key_id\":\"abcd1234abcd1234abcd1234abcd1234\",\"presentation\":\"{ \\\"x\\\": 100, \\\"y\\\": 100, \\\"w\\\": 100, \\\"h\\\": 100 }\"}' \\\n  -H 'Content-Type: application/json'"
  7667            },
  7668            {
  7669              "lang": "CLI v2",
  7670              "source": "phrase screenshot_markers create \\\n--project_id <project_id> \\\n--screenshot_id <screenshot_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"key_id\":\"abcd1234abcd1234abcd1234abcd1234\", \"presentation\": \"{ \"x\": 100, \"y\": 100, \"w\": 100, \"h\": 100 }\"}' \\\n--access_token <token>"
  7671            }
  7672          ],
  7673          "requestBody": {
  7674            "required": true,
  7675            "content": {
  7676              "application/json": {
  7677                "schema": {
  7678                  "type": "object",
  7679                  "title": "screenshot_marker/create/parameters",
  7680                  "required": [
  7681                    "key_id"
  7682                  ],
  7683                  "properties": {
  7684                    "branch": {
  7685                      "description": "specify the branch to use",
  7686                      "type": "string",
  7687                      "example": "my-feature-branch"
  7688                    },
  7689                    "key_id": {
  7690                      "description": "Specify the Key ID which should be highlighted on the specified screenshot. The Key must belong to the project.",
  7691                      "type": "string",
  7692                      "example": "abcd1234abcd1234abcd1234abcd1234"
  7693                    },
  7694                    "presentation": {
  7695                      "description": "Presentation details of the screenshot marker in JSON format.<br/><br/>Each Screenshot Marker is represented as a rectangular shaped highlight box with the name of the specified Key attached. You can specify the marker position on the screenshot (<code>x</code>-axis and <code>y</code>-axis in pixels) from the top left corner of the screenshot and the dimensions of the marker itself (<code>w</code> and <code>h</code> in pixels).",
  7696                      "type": "string",
  7697                      "example": "{ \"x\": 100, \"y\": 100, \"w\": 100, \"h\": 100 }"
  7698                    }
  7699                  }
  7700                }
  7701              }
  7702            }
  7703          },
  7704          "x-cli-version": "2.5"
  7705        },
  7706        "patch": {
  7707          "summary": "Update a screenshot marker",
  7708          "description": "Update an existing screenshot marker.",
  7709          "operationId": "screenshot_marker/update",
  7710          "tags": [
  7711            "Screenshot Markers"
  7712          ],
  7713          "parameters": [
  7714            {
  7715              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7716            },
  7717            {
  7718              "$ref": "#/components/parameters/project_id"
  7719            },
  7720            {
  7721              "$ref": "#/components/parameters/screenshot_id"
  7722            }
  7723          ],
  7724          "responses": {
  7725            "200": {
  7726              "description": "OK",
  7727              "content": {
  7728                "application/json": {
  7729                  "schema": {
  7730                    "$ref": "#/components/schemas/screenshot_marker"
  7731                  }
  7732                }
  7733              },
  7734              "headers": {
  7735                "X-Rate-Limit-Limit": {
  7736                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  7737                },
  7738                "X-Rate-Limit-Remaining": {
  7739                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  7740                },
  7741                "X-Rate-Limit-Reset": {
  7742                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  7743                }
  7744              }
  7745            },
  7746            "400": {
  7747              "$ref": "#/components/responses/400"
  7748            },
  7749            "404": {
  7750              "$ref": "#/components/responses/404"
  7751            },
  7752            "429": {
  7753              "$ref": "#/components/responses/429"
  7754            }
  7755          },
  7756          "x-code-samples": [
  7757            {
  7758              "lang": "Curl",
  7759              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/screenshots/:screenshot_id/markers\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\", \"key_id\":\"abcd1234abcd1234abcd1234abcd1234\",\"presentation\":\"{ \\\"x\\\": 100, \\\"y\\\": 100, \\\"w\\\": 100, \\\"h\\\": 100 }\"}' \\\n  -H 'Content-Type: application/json'"
  7760            },
  7761            {
  7762              "lang": "CLI v2",
  7763              "source": "phrase screenshot_markers update \\\n--project_id <project_id> \\\n--screenshot_id <screenshot_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"key_id\":\"abcd1234abcd1234abcd1234abcd1234\", \"presentation\": \"{ \"x\": 100, \"y\": 100, \"w\": 100, \"h\": 100 }\"}' \\\n--access_token <token>"
  7764            }
  7765          ],
  7766          "requestBody": {
  7767            "required": true,
  7768            "content": {
  7769              "application/json": {
  7770                "schema": {
  7771                  "type": "object",
  7772                  "title": "screenshot_marker/update/parameters",
  7773                  "properties": {
  7774                    "branch": {
  7775                      "description": "specify the branch to use",
  7776                      "type": "string",
  7777                      "example": "my-feature-branch"
  7778                    },
  7779                    "key_id": {
  7780                      "description": "Specify the Key ID which should be highlighted on the specified screenshot. The Key must belong to the project.",
  7781                      "type": "string",
  7782                      "example": "abcd1234abcd1234abcd1234abcd1234"
  7783                    },
  7784                    "presentation": {
  7785                      "description": "Presentation details of the screenshot marker in JSON format.<br/><br/>Each Screenshot Marker is represented as a rectangular shaped highlight box with the name of the specified Key attached. You can specify the marker position on the screenshot (<code>x</code>-axis and <code>y</code>-axis in pixels) from the top left corner of the screenshot and the dimensions of the marker itself (<code>w</code> and <code>h</code> in pixels).",
  7786                      "type": "string",
  7787                      "example": "{ \"x\": 100, \"y\": 100, \"w\": 100, \"h\": 100 }"
  7788                    }
  7789                  }
  7790                }
  7791              }
  7792            }
  7793          },
  7794          "x-cli-version": "2.5"
  7795        },
  7796        "delete": {
  7797          "summary": "Delete a screenshot marker",
  7798          "description": "Delete an existing screenshot marker.",
  7799          "operationId": "screenshot_marker/delete",
  7800          "tags": [
  7801            "Screenshot Markers"
  7802          ],
  7803          "parameters": [
  7804            {
  7805              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7806            },
  7807            {
  7808              "$ref": "#/components/parameters/project_id"
  7809            },
  7810            {
  7811              "$ref": "#/components/parameters/screenshot_id"
  7812            },
  7813            {
  7814              "description": "specify the branch to use",
  7815              "example": "my-feature-branch",
  7816              "name": "branch",
  7817              "in": "query",
  7818              "schema": {
  7819                "type": "string"
  7820              }
  7821            }
  7822          ],
  7823          "responses": {
  7824            "204": {
  7825              "$ref": "#/components/responses/204"
  7826            },
  7827            "400": {
  7828              "$ref": "#/components/responses/400"
  7829            },
  7830            "404": {
  7831              "$ref": "#/components/responses/404"
  7832            },
  7833            "429": {
  7834              "$ref": "#/components/responses/429"
  7835            }
  7836          },
  7837          "x-code-samples": [
  7838            {
  7839              "lang": "Curl",
  7840              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/screenshots/:screenshot_id/markers\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
  7841            },
  7842            {
  7843              "lang": "CLI v2",
  7844              "source": "phrase screenshot_markers delete \\\n--project_id <project_id> \\\n--screenshot_id <screenshot_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  7845            }
  7846          ],
  7847          "x-cli-version": "2.5"
  7848        }
  7849      },
  7850      "/accounts/{id}/locales": {
  7851        "get": {
  7852          "summary": "List locales used in account",
  7853          "description": "List all locales unique by locale code used across all projects within an account.",
  7854          "operationId": "account/locales",
  7855          "tags": [
  7856            "Locales"
  7857          ],
  7858          "parameters": [
  7859            {
  7860              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7861            },
  7862            {
  7863              "$ref": "#/components/parameters/id"
  7864            },
  7865            {
  7866              "$ref": "#/components/parameters/page"
  7867            },
  7868            {
  7869              "$ref": "#/components/parameters/per_page"
  7870            }
  7871          ],
  7872          "responses": {
  7873            "200": {
  7874              "description": "OK",
  7875              "content": {
  7876                "application/json": {
  7877                  "schema": {
  7878                    "type": "array",
  7879                    "items": {
  7880                      "type": "object",
  7881                      "title": "locale_preview",
  7882                      "properties": {
  7883                        "id": {
  7884                          "type": "string"
  7885                        },
  7886                        "name": {
  7887                          "type": "string"
  7888                        },
  7889                        "code": {
  7890                          "type": "string"
  7891                        },
  7892                        "project": {
  7893                          "$ref": "#/components/schemas/project_short"
  7894                        }
  7895                      },
  7896                      "example": {
  7897                        "id": "abcd1234cdef1234abcd1234cdef1234",
  7898                        "name": "English",
  7899                        "code": "en-GB",
  7900                        "project": {
  7901                          "id": "abcd1234cdef1234abcd1234cdef1234",
  7902                          "name": "My Android Project",
  7903                          "main_format": "xml",
  7904                          "created_at": "2015-01-28T09:52:53Z",
  7905                          "updated_at": "2015-01-28T09:52:53Z"
  7906                        }
  7907                      }
  7908                    }
  7909                  }
  7910                }
  7911              },
  7912              "headers": {
  7913                "X-Rate-Limit-Limit": {
  7914                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  7915                },
  7916                "X-Rate-Limit-Remaining": {
  7917                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  7918                },
  7919                "X-Rate-Limit-Reset": {
  7920                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  7921                },
  7922                "Link": {
  7923                  "$ref": "#/components/headers/Link"
  7924                },
  7925                "Pagination": {
  7926                  "$ref": "#/components/headers/Pagination"
  7927                }
  7928              }
  7929            },
  7930            "400": {
  7931              "$ref": "#/components/responses/400"
  7932            },
  7933            "404": {
  7934              "$ref": "#/components/responses/404"
  7935            },
  7936            "429": {
  7937              "$ref": "#/components/responses/429"
  7938            }
  7939          },
  7940          "x-code-samples": [
  7941            {
  7942              "lang": "Curl",
  7943              "source": "curl \"https://api.phrase.com/v2/accounts/:id/locales\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  7944            },
  7945            {
  7946              "lang": "CLI v2",
  7947              "source": "phrase accounts locales \\\n--id <id> \\\n--access_token <token>"
  7948            }
  7949          ],
  7950          "x-cli-version": "2.5"
  7951        }
  7952      },
  7953      "/projects/{project_id}/locales": {
  7954        "get": {
  7955          "summary": "List locales",
  7956          "description": "List all locales for the given project.",
  7957          "operationId": "locales/list",
  7958          "tags": [
  7959            "Locales"
  7960          ],
  7961          "parameters": [
  7962            {
  7963              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  7964            },
  7965            {
  7966              "$ref": "#/components/parameters/project_id"
  7967            },
  7968            {
  7969              "$ref": "#/components/parameters/page"
  7970            },
  7971            {
  7972              "$ref": "#/components/parameters/per_page"
  7973            },
  7974            {
  7975              "description": "Sort locales. Valid options are \"name_asc\", \"name_desc\", \"default_asc\", \"default_desc\".",
  7976              "example": null,
  7977              "name": "sort_by",
  7978              "in": "query",
  7979              "schema": {
  7980                "type": "string"
  7981              }
  7982            },
  7983            {
  7984              "description": "specify the branch to use",
  7985              "example": "my-feature-branch",
  7986              "name": "branch",
  7987              "in": "query",
  7988              "schema": {
  7989                "type": "string"
  7990              }
  7991            }
  7992          ],
  7993          "responses": {
  7994            "200": {
  7995              "description": "OK",
  7996              "content": {
  7997                "application/json": {
  7998                  "schema": {
  7999                    "type": "array",
  8000                    "items": {
  8001                      "$ref": "#/components/schemas/locale"
  8002                    }
  8003                  }
  8004                }
  8005              },
  8006              "headers": {
  8007                "X-Rate-Limit-Limit": {
  8008                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  8009                },
  8010                "X-Rate-Limit-Remaining": {
  8011                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  8012                },
  8013                "X-Rate-Limit-Reset": {
  8014                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  8015                },
  8016                "Link": {
  8017                  "$ref": "#/components/headers/Link"
  8018                },
  8019                "Pagination": {
  8020                  "$ref": "#/components/headers/Pagination"
  8021                }
  8022              }
  8023            },
  8024            "400": {
  8025              "$ref": "#/components/responses/400"
  8026            },
  8027            "404": {
  8028              "$ref": "#/components/responses/404"
  8029            },
  8030            "429": {
  8031              "$ref": "#/components/responses/429"
  8032            }
  8033          },
  8034          "x-code-samples": [
  8035            {
  8036              "lang": "Curl",
  8037              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/locales?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  8038            },
  8039            {
  8040              "lang": "CLI v2",
  8041              "source": "phrase locales list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  8042            }
  8043          ],
  8044          "x-cli-version": "2.5"
  8045        },
  8046        "post": {
  8047          "summary": "Create a locale",
  8048          "description": "Create a new locale.",
  8049          "operationId": "locale/create",
  8050          "tags": [
  8051            "Locales"
  8052          ],
  8053          "parameters": [
  8054            {
  8055              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  8056            },
  8057            {
  8058              "$ref": "#/components/parameters/project_id"
  8059            }
  8060          ],
  8061          "responses": {
  8062            "201": {
  8063              "description": "Created",
  8064              "content": {
  8065                "application/json": {
  8066                  "schema": {
  8067                    "$ref": "#/components/schemas/locale_details"
  8068                  }
  8069                }
  8070              },
  8071              "headers": {
  8072                "X-Rate-Limit-Limit": {
  8073                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  8074                },
  8075                "X-Rate-Limit-Remaining": {
  8076                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  8077                },
  8078                "X-Rate-Limit-Reset": {
  8079                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  8080                }
  8081              }
  8082            },
  8083            "400": {
  8084              "$ref": "#/components/responses/400"
  8085            },
  8086            "404": {
  8087              "$ref": "#/components/responses/404"
  8088            },
  8089            "429": {
  8090              "$ref": "#/components/responses/429"
  8091            }
  8092          },
  8093          "x-code-samples": [
  8094            {
  8095              "lang": "Curl",
  8096              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/locales\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"name\":\"de\",\"code\":\"de-DE\",\"source_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\", \"fallback_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
  8097            },
  8098            {
  8099              "lang": "CLI v2",
  8100              "source": "phrase locales create \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\":\"de\", \"code\":\"de-DE\", \"source_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\", \"fallback_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n--access_token <token>"
  8101            }
  8102          ],
  8103          "requestBody": {
  8104            "required": true,
  8105            "content": {
  8106              "application/json": {
  8107                "schema": {
  8108                  "type": "object",
  8109                  "title": "locale/create/parameters",
  8110                  "required": [
  8111                    "name",
  8112                    "code"
  8113                  ],
  8114                  "properties": {
  8115                    "branch": {
  8116                      "description": "specify the branch to use",
  8117                      "type": "string",
  8118                      "example": "my-feature-branch"
  8119                    },
  8120                    "name": {
  8121                      "description": "Locale name",
  8122                      "type": "string",
  8123                      "example": "de"
  8124                    },
  8125                    "code": {
  8126                      "description": "Locale ISO code",
  8127                      "type": "string",
  8128                      "example": "de-DE"
  8129                    },
  8130                    "default": {
  8131                      "description": "Indicates whether locale is the default locale. If set to true, the previous default locale the project is no longer the default locale.",
  8132                      "type": "boolean",
  8133                      "example": null
  8134                    },
  8135                    "main": {
  8136                      "description": "Indicates whether locale is a main locale. Main locales are part of the <a href=\"https://support.phrase.com/hc/en-us/articles/5784094755484\" target=\"_blank\">Verification System</a> feature.",
  8137                      "type": "boolean",
  8138                      "example": null
  8139                    },
  8140                    "rtl": {
  8141                      "description": "Indicates whether locale is a RTL (Right-to-Left) locale.",
  8142                      "type": "boolean",
  8143                      "example": null
  8144                    },
  8145                    "source_locale_id": {
  8146                      "description": "Source locale. Can be the name or id of the locale. Preferred is id.",
  8147                      "type": "string",
  8148                      "example": "abcd1234abcd1234abcd1234abcd1234"
  8149                    },
  8150                    "fallback_locale_id": {
  8151                      "description": "Fallback locale for empty translations. Can be a locale name or id.",
  8152                      "type": "string",
  8153                      "example": "abcd1234abcd1234abcd1234abcd1234"
  8154                    },
  8155                    "unverify_new_translations": {
  8156                      "description": "Indicates that new translations for this locale should be marked as unverified. Part of the <a href=\"https://support.phrase.com/hc/en-us/articles/5784094755484\" target=\"_blank\">Advanced Workflows</a> feature.",
  8157                      "type": "boolean",
  8158                      "example": null
  8159                    },
  8160                    "unverify_updated_translations": {
  8161                      "description": "Indicates that updated translations for this locale should be marked as unverified. Part of the <a href=\"https://support.phrase.com/hc/en-us/articles/5784094755484\" target=\"_blank\">Advanced Workflows</a> feature.",
  8162                      "type": "boolean",
  8163                      "example": null
  8164                    },
  8165                    "autotranslate": {
  8166                      "description": "If set, translations for this locale will be fetched automatically, right after creation.",
  8167                      "type": "boolean",
  8168                      "example": null
  8169                    }
  8170                  }
  8171                }
  8172              }
  8173            }
  8174          },
  8175          "x-cli-version": "2.5"
  8176        }
  8177      },
  8178      "/projects/{project_id}/locales/{id}": {
  8179        "get": {
  8180          "summary": "Get a single locale",
  8181          "description": "Get details on a single locale for a given project.",
  8182          "operationId": "locale/show",
  8183          "tags": [
  8184            "Locales"
  8185          ],
  8186          "parameters": [
  8187            {
  8188              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  8189            },
  8190            {
  8191              "$ref": "#/components/parameters/project_id"
  8192            },
  8193            {
  8194              "$ref": "#/components/parameters/locale_id_as_id"
  8195            },
  8196            {
  8197              "description": "specify the branch to use",
  8198              "example": "my-feature-branch",
  8199              "name": "branch",
  8200              "in": "query",
  8201              "schema": {
  8202                "type": "string"
  8203              }
  8204            }
  8205          ],
  8206          "responses": {
  8207            "200": {
  8208              "description": "OK",
  8209              "content": {
  8210                "application/json": {
  8211                  "schema": {
  8212                    "$ref": "#/components/schemas/locale_details"
  8213                  }
  8214                }
  8215              },
  8216              "headers": {
  8217                "X-Rate-Limit-Limit": {
  8218                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  8219                },
  8220                "X-Rate-Limit-Remaining": {
  8221                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  8222                },
  8223                "X-Rate-Limit-Reset": {
  8224                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  8225                }
  8226              }
  8227            },
  8228            "400": {
  8229              "$ref": "#/components/responses/400"
  8230            },
  8231            "404": {
  8232              "$ref": "#/components/responses/404"
  8233            },
  8234            "429": {
  8235              "$ref": "#/components/responses/429"
  8236            }
  8237          },
  8238          "x-code-samples": [
  8239            {
  8240              "lang": "Curl",
  8241              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/locales/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  8242            },
  8243            {
  8244              "lang": "CLI v2",
  8245              "source": "phrase locales show \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  8246            }
  8247          ],
  8248          "x-cli-version": "2.5"
  8249        },
  8250        "patch": {
  8251          "summary": "Update a locale",
  8252          "description": "Update an existing locale.",
  8253          "operationId": "locale/update",
  8254          "tags": [
  8255            "Locales"
  8256          ],
  8257          "parameters": [
  8258            {
  8259              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  8260            },
  8261            {
  8262              "$ref": "#/components/parameters/project_id"
  8263            },
  8264            {
  8265              "$ref": "#/components/parameters/locale_id_as_id"
  8266            }
  8267          ],
  8268          "responses": {
  8269            "200": {
  8270              "description": "OK",
  8271              "content": {
  8272                "application/json": {
  8273                  "schema": {
  8274                    "$ref": "#/components/schemas/locale_details"
  8275                  }
  8276                }
  8277              },
  8278              "headers": {
  8279                "X-Rate-Limit-Limit": {
  8280                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  8281                },
  8282                "X-Rate-Limit-Remaining": {
  8283                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  8284                },
  8285                "X-Rate-Limit-Reset": {
  8286                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  8287                }
  8288              }
  8289            },
  8290            "400": {
  8291              "$ref": "#/components/responses/400"
  8292            },
  8293            "404": {
  8294              "$ref": "#/components/responses/404"
  8295            },
  8296            "429": {
  8297              "$ref": "#/components/responses/429"
  8298            }
  8299          },
  8300          "x-code-samples": [
  8301            {
  8302              "lang": "Curl",
  8303              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/locales/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"name\":\"de\",\"code\":\"de-DE\",\"source_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
  8304            },
  8305            {
  8306              "lang": "CLI v2",
  8307              "source": "phrase locales update \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\":\"de\", \"code\":\"de-DE\", \"source_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n--access_token <token>"
  8308            }
  8309          ],
  8310          "requestBody": {
  8311            "required": true,
  8312            "content": {
  8313              "application/json": {
  8314                "schema": {
  8315                  "type": "object",
  8316                  "title": "locale/update/parameters",
  8317                  "properties": {
  8318                    "branch": {
  8319                      "description": "specify the branch to use",
  8320                      "type": "string",
  8321                      "example": "my-feature-branch"
  8322                    },
  8323                    "name": {
  8324                      "description": "Locale name",
  8325                      "type": "string",
  8326                      "example": "de"
  8327                    },
  8328                    "code": {
  8329                      "description": "Locale ISO code",
  8330                      "type": "string",
  8331                      "example": "de-DE"
  8332                    },
  8333                    "default": {
  8334                      "description": "Indicates whether locale is the default locale. If set to true, the previous default locale the project is no longer the default locale.",
  8335                      "type": "boolean",
  8336                      "example": null
  8337                    },
  8338                    "main": {
  8339                      "description": "Indicates whether locale is a main locale. Main locales are part of the <a href=\"https://support.phrase.com/hc/en-us/articles/5784094755484\" target=\"_blank\">Verification System</a> feature.",
  8340                      "type": "boolean",
  8341                      "example": null
  8342                    },
  8343                    "rtl": {
  8344                      "description": "Indicates whether locale is a RTL (Right-to-Left) locale.",
  8345                      "type": "boolean",
  8346                      "example": null
  8347                    },
  8348                    "source_locale_id": {
  8349                      "description": "Source locale. Can be the name or id of the locale. Preferred is id.",
  8350                      "type": "string",
  8351                      "example": "abcd1234abcd1234abcd1234abcd1234"
  8352                    },
  8353                    "fallback_locale_id": {
  8354                      "description": "Fallback locale for empty translations. Can be a locale name or id.",
  8355                      "type": "string",
  8356                      "example": "abcd1234abcd1234abcd1234abcd1234"
  8357                    },
  8358                    "unverify_new_translations": {
  8359                      "description": "Indicates that new translations for this locale should be marked as unverified. Part of the <a href=\"https://support.phrase.com/hc/en-us/articles/5784094755484\" target=\"_blank\">Advanced Workflows</a> feature.",
  8360                      "type": "boolean",
  8361                      "example": null
  8362                    },
  8363                    "unverify_updated_translations": {
  8364                      "description": "Indicates that updated translations for this locale should be marked as unverified. Part of the <a href=\"https://support.phrase.com/hc/en-us/articles/5784094755484\" target=\"_blank\">Advanced Workflows</a> feature.",
  8365                      "type": "boolean",
  8366                      "example": null
  8367                    },
  8368                    "autotranslate": {
  8369                      "description": "If set, translations for this locale will be fetched automatically, right after creation.",
  8370                      "type": "boolean",
  8371                      "example": null
  8372                    }
  8373                  }
  8374                }
  8375              }
  8376            }
  8377          },
  8378          "x-cli-version": "2.5"
  8379        },
  8380        "delete": {
  8381          "summary": "Delete a locale",
  8382          "description": "Delete an existing locale.",
  8383          "operationId": "locale/delete",
  8384          "tags": [
  8385            "Locales"
  8386          ],
  8387          "parameters": [
  8388            {
  8389              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  8390            },
  8391            {
  8392              "$ref": "#/components/parameters/project_id"
  8393            },
  8394            {
  8395              "$ref": "#/components/parameters/locale_id_as_id"
  8396            },
  8397            {
  8398              "description": "specify the branch to use",
  8399              "example": "my-feature-branch",
  8400              "name": "branch",
  8401              "in": "query",
  8402              "schema": {
  8403                "type": "string"
  8404              }
  8405            }
  8406          ],
  8407          "responses": {
  8408            "204": {
  8409              "$ref": "#/components/responses/204"
  8410            },
  8411            "400": {
  8412              "$ref": "#/components/responses/400"
  8413            },
  8414            "404": {
  8415              "$ref": "#/components/responses/404"
  8416            },
  8417            "429": {
  8418              "$ref": "#/components/responses/429"
  8419            }
  8420          },
  8421          "x-code-samples": [
  8422            {
  8423              "lang": "Curl",
  8424              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/locales/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
  8425            },
  8426            {
  8427              "lang": "CLI v2",
  8428              "source": "phrase locales delete \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
  8429            }
  8430          ],
  8431          "x-cli-version": "2.5"
  8432        }
  8433      },
  8434      "/projects/{project_id}/locales/{id}/download": {
  8435        "get": {
  8436          "summary": "Download a locale",
  8437          "description": "Download a locale in a specific file format.",
  8438          "operationId": "locale/download",
  8439          "tags": [
  8440            "Locales"
  8441          ],
  8442          "parameters": [
  8443            {
  8444              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  8445            },
  8446            {
  8447              "$ref": "#/components/parameters/If-Modified-Since"
  8448            },
  8449            {
  8450              "$ref": "#/components/parameters/If-None-Match"
  8451            },
  8452            {
  8453              "$ref": "#/components/parameters/project_id"
  8454            },
  8455            {
  8456              "$ref": "#/components/parameters/locale_id_as_id"
  8457            },
  8458            {
  8459              "description": "specify the branch to use",
  8460              "example": "my-feature-branch",
  8461              "name": "branch",
  8462              "in": "query",
  8463              "schema": {
  8464                "type": "string"
  8465              }
  8466            },
  8467            {
  8468              "description": "File format name. See the <a href=\"https://support.phrase.com/hc/en-us/sections/6111343326364\">format guide</a> for all supported file formats.",
  8469              "example": "yml",
  8470              "name": "file_format",
  8471              "in": "query",
  8472              "schema": {
  8473                "type": "string"
  8474              }
  8475            },
  8476            {
  8477              "description": "Limit results to keys tagged with a list of comma separated tag names.",
  8478              "example": "feature1,feature2",
  8479              "name": "tags",
  8480              "in": "query",
  8481              "schema": {
  8482                "type": "string"
  8483              }
  8484            },
  8485            {
  8486              "description": "Limit download to tagged keys. This parameter is deprecated. Please use the \"tags\" parameter instead",
  8487              "example": "feature",
  8488              "deprecated": true,
  8489              "name": "tag",
  8490              "in": "query",
  8491              "schema": {
  8492                "type": "string"
  8493              }
  8494            },
  8495            {
  8496              "description": "Indicates whether keys without translations should be included in the output as well.",
  8497              "example": null,
  8498              "name": "include_empty_translations",
  8499              "in": "query",
  8500              "schema": {
  8501                "type": "boolean"
  8502              }
  8503            },
  8504            {
  8505              "description": "Indicates whether zero forms should be included when empty in pluralized keys.",
  8506              "example": null,
  8507              "name": "exclude_empty_zero_forms",
  8508              "in": "query",
  8509              "schema": {
  8510                "type": "boolean"
  8511              }
  8512            },
  8513            {
  8514              "description": "Include translated keys in the locale file. Use in combination with include_empty_translations to obtain only untranslated keys.",
  8515              "example": null,
  8516              "name": "include_translated_keys",
  8517              "in": "query",
  8518              "schema": {
  8519                "type": "boolean"
  8520              }
  8521            },
  8522            {
  8523              "description": "Indicates whether [NOTRANSLATE] tags should be kept.",
  8524              "example": null,
  8525              "name": "keep_notranslate_tags",
  8526              "in": "query",
  8527              "schema": {
  8528                "type": "boolean"
  8529              }
  8530            },
  8531            {
  8532              "description": "This option is obsolete. Projects that were created on or after Nov 29th 2019 or that did not contain emoji by then will not require this flag any longer since emoji are now supported natively.",
  8533              "example": null,
  8534              "deprecated": true,
  8535              "name": "convert_emoji",
  8536              "in": "query",
  8537              "schema": {
  8538                "type": "boolean"
  8539              }
  8540            },
  8541            {
  8542              "description": "Additional formatting and render options. See the <a href=\"https://support.phrase.com/hc/en-us/sections/6111343326364\">format guide</a> for a list of options available for each format. Specify format options like this: <code>...&format_options[foo]=bar</code>",
  8543              "example": null,
  8544              "name": "format_options",
  8545              "in": "query",
  8546              "schema": {
  8547                "type": "object",
  8548                "properties": {}
  8549              },
  8550              "style": "deepObject",
  8551              "explode": true
  8552            },
  8553            {
  8554              "description": "Enforces a specific encoding on the file contents. Valid options are \"UTF-8\", \"UTF-16\" and \"ISO-8859-1\".",
  8555              "example": null,
  8556              "name": "encoding",
  8557              "in": "query",
  8558              "schema": {
  8559                "type": "string"
  8560              }
  8561            },
  8562            {
  8563              "description": "Indicates whether the locale file should skip all unverified translations. This parameter is deprecated and should be replaced with <code>include_unverified_translations</code>.",
  8564              "example": null,
  8565              "deprecated": true,
  8566              "name": "skip_unverified_translations",
  8567              "in": "query",
  8568              "schema": {
  8569                "type": "boolean"
  8570              }
  8571            },
  8572            {
  8573              "description": "if set to false unverified translations are excluded",
  8574              "example": null,
  8575              "name": "include_unverified_translations",
  8576              "in": "query",
  8577              "schema": {
  8578                "type": "boolean"
  8579              }
  8580            },
  8581            {
  8582              "description": "If set to true the last reviewed version of a translation is used. This is only available if the review workflow is enabled for the project.",
  8583              "example": null,
  8584              "name": "use_last_reviewed_version",
  8585              "in": "query",
  8586              "schema": {
  8587                "type": "boolean"
  8588              }
  8589            },
  8590            {
  8591              "description": "If a key has no translation in the locale being downloaded the translation in the fallback locale will be used. Provide the ID of the locale that should be used as the fallback. Requires include_empty_translations to be set to <code>true</code>.",
  8592              "example": null,
  8593              "name": "fallback_locale_id",
  8594              "in": "query",
  8595              "schema": {
  8596                "type": "string"
  8597              }
  8598            },
  8599            {
  8600              "description": "Provides the source language of a corresponding job as the source language of the generated locale file. This parameter will be ignored unless used in combination with a <code>tag</code> parameter indicating a specific job.",
  8601              "example": null,
  8602              "name": "source_locale_id",
  8603              "in": "query",
  8604              "schema": {
  8605                "type": "string"
  8606              }
  8607            },
  8608            {
  8609              "name": "custom_metadata_filters",
  8610              "in": "query",
  8611              "description": "Custom metadata filters. Provide the name of the metadata field and the value to filter by. Only keys with matching metadata will be included in the download.\n",
  8612              "schema": {
  8613                "type": "object",
  8614                "properties": {}
  8615              },
  8616              "style": "deepObject",
  8617              "explode": true
  8618            }
  8619          ],
  8620          "responses": {
  8621            "200": {
  8622              "description": "OK",
  8623              "content": {
  8624                "*": {
  8625                  "schema": {
  8626                    "type": "string",
  8627                    "format": "binary"
  8628                  }
  8629                }
  8630              },
  8631              "headers": {
  8632                "X-Rate-Limit-Limit": {
  8633                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  8634                },
  8635                "X-Rate-Limit-Remaining": {
  8636                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  8637                },
  8638                "X-Rate-Limit-Reset": {
  8639                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  8640                }
  8641              }
  8642            },
  8643            "400": {
  8644              "$ref": "#/components/responses/400"
  8645            },
  8646            "404": {
  8647              "$ref": "#/components/responses/404"
  8648            },
  8649            "429": {
  8650              "$ref": "#/components/responses/429"
  8651            }
  8652          },
  8653          "x-code-samples": [
  8654            {
  8655              "lang": "Curl",
  8656              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/locales/:id/download?branch=my-feature-branch&file_format=yml&tags=feature1,feature2&tag=feature&custom_metadata_filters[tone]=friendly\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  8657            },
  8658            {
  8659              "lang": "CLI v2",
  8660              "source": "phrase locales download \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--file_format yml \\\n--tags feature1,feature2 \\\n--tag feature \\\n--access_token <token>"
  8661            }
  8662          ],
  8663          "x-cli-version": "2.6.4"
  8664        }
  8665      },
  8666      "/accounts/{account_id}/distributions": {
  8667        "get": {
  8668          "summary": "List distributions",
  8669          "description": "List all distributions for the given account.",
  8670          "operationId": "distributions/list",
  8671          "tags": [
  8672            "Distributions"
  8673          ],
  8674          "parameters": [
  8675            {
  8676              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  8677            },
  8678            {
  8679              "$ref": "#/components/parameters/account_id"
  8680            },
  8681            {
  8682              "$ref": "#/components/parameters/page"
  8683            },
  8684            {
  8685              "$ref": "#/components/parameters/per_page"
  8686            }
  8687          ],
  8688          "responses": {
  8689            "200": {
  8690              "description": "OK",
  8691              "content": {
  8692                "application/json": {
  8693                  "schema": {
  8694                    "type": "array",
  8695                    "items": {
  8696                      "$ref": "#/components/schemas/distribution_preview"
  8697                    }
  8698                  }
  8699                }
  8700              },
  8701              "headers": {
  8702                "X-Rate-Limit-Limit": {
  8703                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  8704                },
  8705                "X-Rate-Limit-Remaining": {
  8706                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  8707                },
  8708                "X-Rate-Limit-Reset": {
  8709                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  8710                },
  8711                "Link": {
  8712                  "$ref": "#/components/headers/Link"
  8713                },
  8714                "Pagination": {
  8715                  "$ref": "#/components/headers/Pagination"
  8716                }
  8717              }
  8718            },
  8719            "400": {
  8720              "$ref": "#/components/responses/400"
  8721            },
  8722            "404": {
  8723              "$ref": "#/components/responses/404"
  8724            },
  8725            "429": {
  8726              "$ref": "#/components/responses/429"
  8727            }
  8728          },
  8729          "x-code-samples": [
  8730            {
  8731              "lang": "Curl",
  8732              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  8733            },
  8734            {
  8735              "lang": "CLI v2",
  8736              "source": "phrase distributions list \\\n--account_id <account_id> \\\n--access_token <token>"
  8737            }
  8738          ],
  8739          "x-cli-version": "2.5"
  8740        },
  8741        "post": {
  8742          "summary": "Create a distribution",
  8743          "description": "Create a new distribution.",
  8744          "operationId": "distribution/create",
  8745          "tags": [
  8746            "Distributions"
  8747          ],
  8748          "parameters": [
  8749            {
  8750              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  8751            },
  8752            {
  8753              "$ref": "#/components/parameters/account_id"
  8754            }
  8755          ],
  8756          "responses": {
  8757            "201": {
  8758              "description": "Created",
  8759              "content": {
  8760                "application/json": {
  8761                  "schema": {
  8762                    "$ref": "#/components/schemas/distribution"
  8763                  }
  8764                }
  8765              },
  8766              "headers": {
  8767                "X-Rate-Limit-Limit": {
  8768                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  8769                },
  8770                "X-Rate-Limit-Remaining": {
  8771                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  8772                },
  8773                "X-Rate-Limit-Reset": {
  8774                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  8775                }
  8776              }
  8777            },
  8778            "400": {
  8779              "$ref": "#/components/responses/400"
  8780            },
  8781            "404": {
  8782              "$ref": "#/components/responses/404"
  8783            },
  8784            "429": {
  8785              "$ref": "#/components/responses/429"
  8786            }
  8787          },
  8788          "x-code-samples": [
  8789            {
  8790              "lang": "Curl",
  8791              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"name\":\"My Android Distribution\",\"project_id\":\"abcd1234abcd1234abcd1234\",\"platforms\":[\"android\",\"ios\"],\"locale_ids\":[\"fff565db236400772368235db2c6117e,abcd1234cdef1234abcd1234cdef1234\"],\"format_options\":\"{xml:{enclose_in_cdata:'1'}}\",\"fallback_to_non_regional_locale\":true,\"fallback_to_default_locale\":true,\"use_last_reviewed_version\":true}' \\\n  -H 'Content-Type: application/json'"
  8792            },
  8793            {
  8794              "lang": "CLI v2",
  8795              "source": "phrase distributions create \\\n--account_id <account_id> \\\n--data '{\"name\": \"My Android Distribution\", \"project_id\":\"abcd1234abcd1234abcd1234\", \"platforms\": \"android,ios\", \"locale_ids\":[\"fff565db236400772368235db2c6117e,abcd1234cdef1234abcd1234cdef1234\"], \"format_options\": \"{xml:{enclose_in_cdata:'1'}}\", \"fallback_to_non_regional_locale\":true, \"fallback_to_default_locale\":true, \"use_last_reviewed_version\":true}' \\\n--access_token <token>"
  8796            }
  8797          ],
  8798          "requestBody": {
  8799            "required": true,
  8800            "content": {
  8801              "application/json": {
  8802                "schema": {
  8803                  "type": "object",
  8804                  "title": "distribution/create/parameters",
  8805                  "required": [
  8806                    "name",
  8807                    "project_id"
  8808                  ],
  8809                  "properties": {
  8810                    "name": {
  8811                      "description": "Name of the distribution",
  8812                      "type": "string",
  8813                      "example": "My Android Distribution"
  8814                    },
  8815                    "project_id": {
  8816                      "description": "Project id the distribution should be assigned to.",
  8817                      "type": "string",
  8818                      "example": "abcd1234abcd1234abcd1234"
  8819                    },
  8820                    "platforms": {
  8821                      "description": "List of platforms the distribution should support.\nValid values are:\n* `android`\n* `ios`\n* `flutter`\n* `i18next`\n* `rails`",
  8822                      "type": "array",
  8823                      "items": {
  8824                        "type": "string"
  8825                      },
  8826                      "example": [
  8827                        "android",
  8828                        "ios"
  8829                      ]
  8830                    },
  8831                    "locale_ids": {
  8832                      "description": "List of locale ids that will be part of distribution releases",
  8833                      "type": "array",
  8834                      "items": {
  8835                        "type": "string"
  8836                      },
  8837                      "example": [
  8838                        "abcd1234cdef1234abcd1234cdef1234",
  8839                        "fff565db236400772368235db2c6117e"
  8840                      ]
  8841                    },
  8842                    "format_options": {
  8843                      "description": "Additional formatting and render options. Only <code>enclose_in_cdata</code> is available for platform <code>android</code>.",
  8844                      "type": "object",
  8845                      "additionalProperties": {
  8846                        "type": "string"
  8847                      },
  8848                      "example": "{xml:{enclose_in_cdata:'1'}}"
  8849                    },
  8850                    "fallback_locales_enabled": {
  8851                      "description": "Use fallback locale if there is no translation in the current locale.",
  8852                      "type": "boolean",
  8853                      "example": true
  8854                    },
  8855                    "fallback_to_non_regional_locale": {
  8856                      "description": "Indicates whether to fallback to non regional locale when locale can not be found",
  8857                      "type": "boolean",
  8858                      "example": true
  8859                    },
  8860                    "fallback_to_default_locale": {
  8861                      "description": "Indicates whether to fallback to projects default locale when locale can not be found",
  8862                      "type": "boolean",
  8863                      "example": true
  8864                    },
  8865                    "use_last_reviewed_version": {
  8866                      "description": "Use last reviewed instead of latest translation in a project",
  8867                      "type": "boolean",
  8868                      "example": true
  8869                    }
  8870                  }
  8871                }
  8872              }
  8873            }
  8874          },
  8875          "x-cli-version": "2.5"
  8876        }
  8877      },
  8878      "/accounts/{account_id}/distributions/{id}": {
  8879        "get": {
  8880          "summary": "Get a single distribution",
  8881          "description": "Get details on a single distribution.",
  8882          "operationId": "distribution/show",
  8883          "tags": [
  8884            "Distributions"
  8885          ],
  8886          "parameters": [
  8887            {
  8888              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  8889            },
  8890            {
  8891              "$ref": "#/components/parameters/account_id"
  8892            },
  8893            {
  8894              "$ref": "#/components/parameters/id"
  8895            }
  8896          ],
  8897          "responses": {
  8898            "200": {
  8899              "description": "OK",
  8900              "content": {
  8901                "application/json": {
  8902                  "schema": {
  8903                    "$ref": "#/components/schemas/distribution"
  8904                  }
  8905                }
  8906              },
  8907              "headers": {
  8908                "X-Rate-Limit-Limit": {
  8909                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  8910                },
  8911                "X-Rate-Limit-Remaining": {
  8912                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  8913                },
  8914                "X-Rate-Limit-Reset": {
  8915                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  8916                }
  8917              }
  8918            },
  8919            "400": {
  8920              "$ref": "#/components/responses/400"
  8921            },
  8922            "404": {
  8923              "$ref": "#/components/responses/404"
  8924            },
  8925            "429": {
  8926              "$ref": "#/components/responses/429"
  8927            }
  8928          },
  8929          "x-code-samples": [
  8930            {
  8931              "lang": "Curl",
  8932              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  8933            },
  8934            {
  8935              "lang": "CLI v2",
  8936              "source": "phrase distributions show \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
  8937            }
  8938          ],
  8939          "x-cli-version": "2.5"
  8940        },
  8941        "patch": {
  8942          "summary": "Update a distribution",
  8943          "description": "Update an existing distribution.",
  8944          "operationId": "distribution/update",
  8945          "tags": [
  8946            "Distributions"
  8947          ],
  8948          "parameters": [
  8949            {
  8950              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  8951            },
  8952            {
  8953              "$ref": "#/components/parameters/account_id"
  8954            },
  8955            {
  8956              "$ref": "#/components/parameters/id"
  8957            }
  8958          ],
  8959          "responses": {
  8960            "200": {
  8961              "description": "OK",
  8962              "content": {
  8963                "application/json": {
  8964                  "schema": {
  8965                    "$ref": "#/components/schemas/distribution"
  8966                  }
  8967                }
  8968              },
  8969              "headers": {
  8970                "X-Rate-Limit-Limit": {
  8971                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  8972                },
  8973                "X-Rate-Limit-Remaining": {
  8974                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  8975                },
  8976                "X-Rate-Limit-Reset": {
  8977                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  8978                }
  8979              }
  8980            },
  8981            "400": {
  8982              "$ref": "#/components/responses/400"
  8983            },
  8984            "404": {
  8985              "$ref": "#/components/responses/404"
  8986            },
  8987            "429": {
  8988              "$ref": "#/components/responses/429"
  8989            }
  8990          },
  8991          "x-code-samples": [
  8992            {
  8993              "lang": "Curl",
  8994              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"name\":\"My Android Distribution\",\"project_id\":\"abcd1234abcd1234abcd1234\",\"platforms\":[\"android\",\"ios\"],\"locale_ids\":[\"fff565db236400772368235db2c6117e,abcd1234cdef1234abcd1234cdef1234\"],\"format_options\":\"{xml:{enclose_in_cdata:'1'}}\",\"fallback_to_non_regional_locale\":true,\"fallback_to_default_locale\":true,\"use_last_reviewed_version\":true}' \\\n  -H 'Content-Type: application/json'"
  8995            },
  8996            {
  8997              "lang": "CLI v2",
  8998              "source": "phrase distributions update \\\n--account_id <account_id> \\\n--id <id> \\\n--data '{\"name\": \"My Android Distribution\", \"project_id\":\"abcd1234abcd1234abcd1234\", \"platforms\": \"android,ios\", \"locale_ids\": \"fff565db236400772368235db2c6117e,abcd1234cdef1234abcd1234cdef1234\", \"format_options\": \"{xml:{enclose_in_cdata:'1'}}\", \"fallback_to_non_regional_locale\":true, \"fallback_to_default_locale\":true, \"use_last_reviewed_version\":true}' \\\n--access_token <token>"
  8999            }
  9000          ],
  9001          "requestBody": {
  9002            "required": true,
  9003            "content": {
  9004              "application/json": {
  9005                "schema": {
  9006                  "type": "object",
  9007                  "title": "distribution/update/parameters",
  9008                  "properties": {
  9009                    "name": {
  9010                      "description": "Name of the distribution",
  9011                      "type": "string",
  9012                      "example": "My Android Distribution"
  9013                    },
  9014                    "project_id": {
  9015                      "description": "Project id the distribution should be assigned to.",
  9016                      "type": "string",
  9017                      "example": "abcd1234abcd1234abcd1234"
  9018                    },
  9019                    "platforms": {
  9020                      "description": "List of platforms the distribution should support.",
  9021                      "type": "array",
  9022                      "items": {
  9023                        "type": "string"
  9024                      },
  9025                      "example": [
  9026                        "android",
  9027                        "ios"
  9028                      ]
  9029                    },
  9030                    "locale_ids": {
  9031                      "description": "List of locale ids that will be part of distribution releases",
  9032                      "type": "array",
  9033                      "items": {
  9034                        "type": "string"
  9035                      },
  9036                      "example": [
  9037                        "abcd1234cdef1234abcd1234cdef1234",
  9038                        "fff565db236400772368235db2c6117e"
  9039                      ]
  9040                    },
  9041                    "format_options": {
  9042                      "description": "Additional formatting and render options. Only <code>enclose_in_cdata</code> is available for platform <code>android</code>.",
  9043                      "type": "object",
  9044                      "additionalProperties": {
  9045                        "type": "string"
  9046                      },
  9047                      "example": "{xml:{enclose_in_cdata:'1'}}"
  9048                    },
  9049                    "fallback_locales_enabled": {
  9050                      "description": "Use fallback locale if there is no translation in the current locale.",
  9051                      "type": "boolean",
  9052                      "example": true
  9053                    },
  9054                    "fallback_to_non_regional_locale": {
  9055                      "description": "Indicates whether to fallback to non regional locale when locale can not be found",
  9056                      "type": "boolean",
  9057                      "example": true
  9058                    },
  9059                    "fallback_to_default_locale": {
  9060                      "description": "Indicates whether to fallback to projects default locale when locale can not be found",
  9061                      "type": "boolean",
  9062                      "example": true
  9063                    },
  9064                    "use_last_reviewed_version": {
  9065                      "description": "Use last reviewed instead of latest translation in a project",
  9066                      "type": "boolean",
  9067                      "example": true
  9068                    }
  9069                  }
  9070                }
  9071              }
  9072            }
  9073          },
  9074          "x-cli-version": "2.5"
  9075        },
  9076        "delete": {
  9077          "summary": "Delete a distribution",
  9078          "description": "Delete an existing distribution.",
  9079          "operationId": "distribution/delete",
  9080          "tags": [
  9081            "Distributions"
  9082          ],
  9083          "parameters": [
  9084            {
  9085              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9086            },
  9087            {
  9088              "$ref": "#/components/parameters/account_id"
  9089            },
  9090            {
  9091              "$ref": "#/components/parameters/id"
  9092            }
  9093          ],
  9094          "responses": {
  9095            "204": {
  9096              "$ref": "#/components/responses/204"
  9097            },
  9098            "400": {
  9099              "$ref": "#/components/responses/400"
  9100            },
  9101            "404": {
  9102              "$ref": "#/components/responses/404"
  9103            },
  9104            "429": {
  9105              "$ref": "#/components/responses/429"
  9106            }
  9107          },
  9108          "x-code-samples": [
  9109            {
  9110              "lang": "Curl",
  9111              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
  9112            },
  9113            {
  9114              "lang": "CLI v2",
  9115              "source": "phrase distributions delete \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
  9116            }
  9117          ],
  9118          "x-cli-version": "2.5"
  9119        }
  9120      },
  9121      "/accounts/{account_id}/distributions/{distribution_id}/releases": {
  9122        "get": {
  9123          "summary": "List releases",
  9124          "description": "List all releases for the given distribution.",
  9125          "operationId": "releases/list",
  9126          "tags": [
  9127            "Releases"
  9128          ],
  9129          "parameters": [
  9130            {
  9131              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9132            },
  9133            {
  9134              "$ref": "#/components/parameters/account_id"
  9135            },
  9136            {
  9137              "$ref": "#/components/parameters/distribution_id"
  9138            },
  9139            {
  9140              "$ref": "#/components/parameters/page"
  9141            },
  9142            {
  9143              "$ref": "#/components/parameters/per_page"
  9144            }
  9145          ],
  9146          "responses": {
  9147            "200": {
  9148              "description": "OK",
  9149              "content": {
  9150                "application/json": {
  9151                  "schema": {
  9152                    "type": "array",
  9153                    "items": {
  9154                      "$ref": "#/components/schemas/release_preview"
  9155                    }
  9156                  }
  9157                }
  9158              },
  9159              "headers": {
  9160                "X-Rate-Limit-Limit": {
  9161                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  9162                },
  9163                "X-Rate-Limit-Remaining": {
  9164                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  9165                },
  9166                "X-Rate-Limit-Reset": {
  9167                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  9168                },
  9169                "Link": {
  9170                  "$ref": "#/components/headers/Link"
  9171                },
  9172                "Pagination": {
  9173                  "$ref": "#/components/headers/Pagination"
  9174                }
  9175              }
  9176            },
  9177            "400": {
  9178              "$ref": "#/components/responses/400"
  9179            },
  9180            "404": {
  9181              "$ref": "#/components/responses/404"
  9182            },
  9183            "429": {
  9184              "$ref": "#/components/responses/429"
  9185            }
  9186          },
  9187          "x-code-samples": [
  9188            {
  9189              "lang": "Curl",
  9190              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions/:distribution_id/releases\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  9191            },
  9192            {
  9193              "lang": "CLI v2",
  9194              "source": "phrase releases list \\\n--account_id <account_id> \\\n--distribution_id <distribution_id> \\\n--access_token <token>"
  9195            }
  9196          ],
  9197          "x-cli-version": "2.5"
  9198        },
  9199        "post": {
  9200          "summary": "Create a release",
  9201          "description": "Create a new release.",
  9202          "operationId": "release/create",
  9203          "tags": [
  9204            "Releases"
  9205          ],
  9206          "parameters": [
  9207            {
  9208              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9209            },
  9210            {
  9211              "$ref": "#/components/parameters/account_id"
  9212            },
  9213            {
  9214              "$ref": "#/components/parameters/distribution_id"
  9215            }
  9216          ],
  9217          "responses": {
  9218            "201": {
  9219              "description": "Created",
  9220              "content": {
  9221                "application/json": {
  9222                  "schema": {
  9223                    "$ref": "#/components/schemas/release"
  9224                  }
  9225                }
  9226              },
  9227              "headers": {
  9228                "X-Rate-Limit-Limit": {
  9229                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  9230                },
  9231                "X-Rate-Limit-Remaining": {
  9232                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  9233                },
  9234                "X-Rate-Limit-Reset": {
  9235                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  9236                }
  9237              }
  9238            },
  9239            "400": {
  9240              "$ref": "#/components/responses/400"
  9241            },
  9242            "404": {
  9243              "$ref": "#/components/responses/404"
  9244            },
  9245            "429": {
  9246              "$ref": "#/components/responses/429"
  9247            }
  9248          },
  9249          "x-code-samples": [
  9250            {
  9251              "lang": "Curl",
  9252              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions/:distribution_id/releases\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"description\":\"My first Release\",\"platforms\":[\"android\",\"ios\"],\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
  9253            },
  9254            {
  9255              "lang": "CLI v2",
  9256              "source": "phrase releases create \\\n--account_id <account_id> \\\n--distribution_id <distribution_id> \\\n--data '{\"description\": \"My first Release\", \"platforms\": [\"android\", \"ios\"], \"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
  9257            }
  9258          ],
  9259          "requestBody": {
  9260            "required": true,
  9261            "content": {
  9262              "application/json": {
  9263                "schema": {
  9264                  "type": "object",
  9265                  "title": "release/create/parameters",
  9266                  "properties": {
  9267                    "description": {
  9268                      "description": "Description of the release",
  9269                      "type": "string",
  9270                      "example": "My first Release"
  9271                    },
  9272                    "platforms": {
  9273                      "description": "List of platforms the release should support.",
  9274                      "type": "array",
  9275                      "items": {
  9276                        "type": "string"
  9277                      },
  9278                      "example": [
  9279                        "android",
  9280                        "ios"
  9281                      ]
  9282                    },
  9283                    "locale_ids": {
  9284                      "description": "List of locale ids that will be included in the release. If empty, distribution locales will be used",
  9285                      "type": "array",
  9286                      "items": {
  9287                        "type": "string"
  9288                      },
  9289                      "example": [
  9290                        "abcd1234cdef1234abcd1234cdef1234",
  9291                        "fff565db236400772368235db2c6117e"
  9292                      ]
  9293                    },
  9294                    "tags": {
  9295                      "description": "Only include tagged keys in the release. For a key to be included it must be tagged with all tags provided",
  9296                      "type": "array",
  9297                      "items": {
  9298                        "type": "string"
  9299                      },
  9300                      "example": [
  9301                        "android",
  9302                        "feature1"
  9303                      ]
  9304                    },
  9305                    "branch": {
  9306                      "description": "Branch used for release",
  9307                      "type": "string",
  9308                      "example": "my-feature-branch"
  9309                    }
  9310                  }
  9311                }
  9312              }
  9313            }
  9314          },
  9315          "x-cli-version": "2.8"
  9316        }
  9317      },
  9318      "/accounts/{account_id}/distributions/{distribution_id}/releases/{id}": {
  9319        "get": {
  9320          "summary": "Get a single release",
  9321          "description": "Get details on a single release.",
  9322          "operationId": "release/show",
  9323          "tags": [
  9324            "Releases"
  9325          ],
  9326          "parameters": [
  9327            {
  9328              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9329            },
  9330            {
  9331              "$ref": "#/components/parameters/account_id"
  9332            },
  9333            {
  9334              "$ref": "#/components/parameters/distribution_id"
  9335            },
  9336            {
  9337              "$ref": "#/components/parameters/id"
  9338            }
  9339          ],
  9340          "responses": {
  9341            "200": {
  9342              "description": "OK",
  9343              "content": {
  9344                "application/json": {
  9345                  "schema": {
  9346                    "$ref": "#/components/schemas/release"
  9347                  }
  9348                }
  9349              },
  9350              "headers": {
  9351                "X-Rate-Limit-Limit": {
  9352                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  9353                },
  9354                "X-Rate-Limit-Remaining": {
  9355                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  9356                },
  9357                "X-Rate-Limit-Reset": {
  9358                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  9359                }
  9360              }
  9361            },
  9362            "400": {
  9363              "$ref": "#/components/responses/400"
  9364            },
  9365            "404": {
  9366              "$ref": "#/components/responses/404"
  9367            },
  9368            "429": {
  9369              "$ref": "#/components/responses/429"
  9370            }
  9371          },
  9372          "x-code-samples": [
  9373            {
  9374              "lang": "Curl",
  9375              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions/:distribution_id/releases/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  9376            },
  9377            {
  9378              "lang": "CLI v2",
  9379              "source": "phrase releases show \\\n--account_id <account_id> \\\n--distribution_id <distribution_id> \\\n--id <id> \\\n--access_token <token>"
  9380            }
  9381          ],
  9382          "x-cli-version": "2.5"
  9383        },
  9384        "patch": {
  9385          "summary": "Update a release",
  9386          "description": "Update an existing release.",
  9387          "operationId": "release/update",
  9388          "tags": [
  9389            "Releases"
  9390          ],
  9391          "parameters": [
  9392            {
  9393              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9394            },
  9395            {
  9396              "$ref": "#/components/parameters/account_id"
  9397            },
  9398            {
  9399              "$ref": "#/components/parameters/distribution_id"
  9400            },
  9401            {
  9402              "$ref": "#/components/parameters/id"
  9403            }
  9404          ],
  9405          "responses": {
  9406            "200": {
  9407              "description": "OK",
  9408              "content": {
  9409                "application/json": {
  9410                  "schema": {
  9411                    "$ref": "#/components/schemas/release"
  9412                  }
  9413                }
  9414              },
  9415              "headers": {
  9416                "X-Rate-Limit-Limit": {
  9417                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  9418                },
  9419                "X-Rate-Limit-Remaining": {
  9420                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  9421                },
  9422                "X-Rate-Limit-Reset": {
  9423                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  9424                }
  9425              }
  9426            },
  9427            "400": {
  9428              "$ref": "#/components/responses/400"
  9429            },
  9430            "404": {
  9431              "$ref": "#/components/responses/404"
  9432            },
  9433            "429": {
  9434              "$ref": "#/components/responses/429"
  9435            }
  9436          },
  9437          "x-code-samples": [
  9438            {
  9439              "lang": "Curl",
  9440              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions/:distribution_id/releases/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"description\":\"My first Release\",\"platforms\":[\"android\",\"ios\"],\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
  9441            },
  9442            {
  9443              "lang": "CLI v2",
  9444              "source": "phrase releases update \\\n--account_id <account_id> \\\n--distribution_id <distribution_id> \\\n--id <id> \\\n--data '{\"description\": \"My first Release\", \"platforms\": \"android,ios\", \"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
  9445            }
  9446          ],
  9447          "requestBody": {
  9448            "required": true,
  9449            "content": {
  9450              "application/json": {
  9451                "schema": {
  9452                  "type": "object",
  9453                  "title": "release/update/parameters",
  9454                  "properties": {
  9455                    "description": {
  9456                      "description": "Description of the release",
  9457                      "type": "string",
  9458                      "example": "My first Release"
  9459                    },
  9460                    "platforms": {
  9461                      "description": "List of platforms the release should support.",
  9462                      "type": "array",
  9463                      "items": {
  9464                        "type": "string"
  9465                      },
  9466                      "example": [
  9467                        "android",
  9468                        "ios"
  9469                      ]
  9470                    },
  9471                    "branch": {
  9472                      "description": "Branch used for release",
  9473                      "type": "string",
  9474                      "example": "my-feature-branch"
  9475                    }
  9476                  }
  9477                }
  9478              }
  9479            }
  9480          },
  9481          "x-cli-version": "2.5"
  9482        },
  9483        "delete": {
  9484          "summary": "Delete a release",
  9485          "description": "Delete an existing release.",
  9486          "operationId": "release/delete",
  9487          "tags": [
  9488            "Releases"
  9489          ],
  9490          "parameters": [
  9491            {
  9492              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9493            },
  9494            {
  9495              "$ref": "#/components/parameters/account_id"
  9496            },
  9497            {
  9498              "$ref": "#/components/parameters/distribution_id"
  9499            },
  9500            {
  9501              "$ref": "#/components/parameters/id"
  9502            }
  9503          ],
  9504          "responses": {
  9505            "204": {
  9506              "$ref": "#/components/responses/204"
  9507            },
  9508            "400": {
  9509              "$ref": "#/components/responses/400"
  9510            },
  9511            "404": {
  9512              "$ref": "#/components/responses/404"
  9513            },
  9514            "429": {
  9515              "$ref": "#/components/responses/429"
  9516            }
  9517          },
  9518          "x-code-samples": [
  9519            {
  9520              "lang": "Curl",
  9521              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions/:distribution_id/releases/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
  9522            },
  9523            {
  9524              "lang": "CLI v2",
  9525              "source": "phrase releases delete \\\n--account_id <account_id> \\\n--distribution_id <distribution_id> \\\n--id <id> \\\n--access_token <token>"
  9526            }
  9527          ],
  9528          "x-cli-version": "2.5"
  9529        }
  9530      },
  9531      "/accounts/{account_id}/distributions/{distribution_id}/releases/{id}/publish": {
  9532        "post": {
  9533          "summary": "Publish a release",
  9534          "description": "Publish a release for production.",
  9535          "operationId": "release/publish",
  9536          "tags": [
  9537            "Releases"
  9538          ],
  9539          "parameters": [
  9540            {
  9541              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9542            },
  9543            {
  9544              "$ref": "#/components/parameters/account_id"
  9545            },
  9546            {
  9547              "$ref": "#/components/parameters/distribution_id"
  9548            },
  9549            {
  9550              "$ref": "#/components/parameters/id"
  9551            }
  9552          ],
  9553          "responses": {
  9554            "200": {
  9555              "description": "OK",
  9556              "content": {
  9557                "application/json": {
  9558                  "schema": {
  9559                    "$ref": "#/components/schemas/release"
  9560                  }
  9561                }
  9562              },
  9563              "headers": {
  9564                "X-Rate-Limit-Limit": {
  9565                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  9566                },
  9567                "X-Rate-Limit-Remaining": {
  9568                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  9569                },
  9570                "X-Rate-Limit-Reset": {
  9571                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  9572                }
  9573              }
  9574            },
  9575            "400": {
  9576              "$ref": "#/components/responses/400"
  9577            },
  9578            "404": {
  9579              "$ref": "#/components/responses/404"
  9580            },
  9581            "429": {
  9582              "$ref": "#/components/responses/429"
  9583            }
  9584          },
  9585          "x-code-samples": [
  9586            {
  9587              "lang": "Curl",
  9588              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/distributions/:distribution_id/releases/:id/publish\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST"
  9589            },
  9590            {
  9591              "lang": "CLI v2",
  9592              "source": "phrase releases publish \\\n--account_id <account_id> \\\n--distribution_id <distribution_id> \\\n--id <id> \\\n--access_token <token>"
  9593            }
  9594          ],
  9595          "x-cli-version": "2.5"
  9596        }
  9597      },
  9598      "/projects/{project_id}/jobs": {
  9599        "get": {
  9600          "summary": "List jobs",
  9601          "description": "List all jobs for the given project.",
  9602          "operationId": "jobs/list",
  9603          "tags": [
  9604            "Jobs"
  9605          ],
  9606          "parameters": [
  9607            {
  9608              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9609            },
  9610            {
  9611              "$ref": "#/components/parameters/project_id"
  9612            },
  9613            {
  9614              "$ref": "#/components/parameters/page"
  9615            },
  9616            {
  9617              "$ref": "#/components/parameters/per_page"
  9618            },
  9619            {
  9620              "description": "specify the branch to use",
  9621              "example": "my-feature-branch",
  9622              "name": "branch",
  9623              "in": "query",
  9624              "schema": {
  9625                "type": "string"
  9626              }
  9627            },
  9628            {
  9629              "description": "filter by user owning job",
  9630              "example": "abcd1234cdef1234abcd1234cdef1234",
  9631              "name": "owned_by",
  9632              "in": "query",
  9633              "schema": {
  9634                "type": "string"
  9635              }
  9636            },
  9637            {
  9638              "description": "filter by user assigned to job",
  9639              "example": "abcd1234cdef1234abcd1234cdef1234",
  9640              "name": "assigned_to",
  9641              "in": "query",
  9642              "schema": {
  9643                "type": "string"
  9644              }
  9645            },
  9646            {
  9647              "description": "filter by state of job Valid states are <code>draft</code>, <code>in_progress</code>, <code>completed</code>",
  9648              "example": "completed",
  9649              "name": "state",
  9650              "in": "query",
  9651              "schema": {
  9652                "type": "string"
  9653              }
  9654            }
  9655          ],
  9656          "responses": {
  9657            "200": {
  9658              "description": "OK",
  9659              "content": {
  9660                "application/json": {
  9661                  "schema": {
  9662                    "type": "array",
  9663                    "items": {
  9664                      "$ref": "#/components/schemas/job"
  9665                    }
  9666                  }
  9667                }
  9668              },
  9669              "headers": {
  9670                "X-Rate-Limit-Limit": {
  9671                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  9672                },
  9673                "X-Rate-Limit-Remaining": {
  9674                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  9675                },
  9676                "X-Rate-Limit-Reset": {
  9677                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  9678                },
  9679                "Link": {
  9680                  "$ref": "#/components/headers/Link"
  9681                },
  9682                "Pagination": {
  9683                  "$ref": "#/components/headers/Pagination"
  9684                }
  9685              }
  9686            },
  9687            "400": {
  9688              "$ref": "#/components/responses/400"
  9689            },
  9690            "404": {
  9691              "$ref": "#/components/responses/404"
  9692            },
  9693            "429": {
  9694              "$ref": "#/components/responses/429"
  9695            }
  9696          },
  9697          "x-code-samples": [
  9698            {
  9699              "lang": "Curl",
  9700              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs?branch=my-feature-branch&owned_by=abcd1234cdef1234abcd1234cdef1234&assigned_to=abcd1234cdef1234abcd1234cdef1234&state=completed\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  9701            },
  9702            {
  9703              "lang": "CLI v2",
  9704              "source": "phrase jobs list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--owned_by abcd1234cdef1234abcd1234cdef1234 \\\n--assigned_to abcd1234cdef1234abcd1234cdef1234 \\\n--state completed \\\n--access_token <token>"
  9705            }
  9706          ],
  9707          "x-cli-version": "2.5"
  9708        },
  9709        "post": {
  9710          "summary": "Create a job",
  9711          "description": "Create a new job.",
  9712          "operationId": "job/create",
  9713          "tags": [
  9714            "Jobs"
  9715          ],
  9716          "parameters": [
  9717            {
  9718              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9719            },
  9720            {
  9721              "$ref": "#/components/parameters/project_id"
  9722            }
  9723          ],
  9724          "responses": {
  9725            "201": {
  9726              "description": "Created",
  9727              "content": {
  9728                "application/json": {
  9729                  "schema": {
  9730                    "$ref": "#/components/schemas/job_details"
  9731                  }
  9732                }
  9733              },
  9734              "headers": {
  9735                "X-Rate-Limit-Limit": {
  9736                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  9737                },
  9738                "X-Rate-Limit-Remaining": {
  9739                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  9740                },
  9741                "X-Rate-Limit-Reset": {
  9742                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  9743                }
  9744              }
  9745            },
  9746            "400": {
  9747              "$ref": "#/components/responses/400"
  9748            },
  9749            "404": {
  9750              "$ref": "#/components/responses/404"
  9751            },
  9752            "429": {
  9753              "$ref": "#/components/responses/429"
  9754            }
  9755          },
  9756          "x-code-samples": [
  9757            {
  9758              "lang": "Curl",
  9759              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"name\":\"de\",\"briefing\":\"de-DE\",\"due_date\":\"2017-08-15\",\"ticket_url\":\"https://example.atlassian.net/browse/FOO\",\"tags\":[\"myUploadTag\"],\"translation_key_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n  -H 'Content-Type: application/json'"
  9760            },
  9761            {
  9762              "lang": "CLI v2",
  9763              "source": "phrase jobs create \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\":\"de\", \"briefing\":\"de-DE\", \"due_date\":\"2017-08-15\", \"ticket_url\":\"https://example.atlassian.net/browse/FOO\", \"tags\": [\"myUploadTag\"], \"translation_key_ids\": [\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n--access_token <token>"
  9764            }
  9765          ],
  9766          "requestBody": {
  9767            "required": true,
  9768            "content": {
  9769              "application/json": {
  9770                "schema": {
  9771                  "type": "object",
  9772                  "title": "job/create/parameters",
  9773                  "required": [
  9774                    "name"
  9775                  ],
  9776                  "properties": {
  9777                    "branch": {
  9778                      "description": "specify the branch to use",
  9779                      "type": "string",
  9780                      "example": "my-feature-branch"
  9781                    },
  9782                    "name": {
  9783                      "description": "Job name",
  9784                      "type": "string",
  9785                      "example": "de"
  9786                    },
  9787                    "source_locale_id": {
  9788                      "description": "The API id of the source language",
  9789                      "type": "string",
  9790                      "example": "abcd1234cdef1234abcd1234cdef1234"
  9791                    },
  9792                    "briefing": {
  9793                      "description": "Briefing for the translators",
  9794                      "type": "string",
  9795                      "example": "de-DE"
  9796                    },
  9797                    "due_date": {
  9798                      "description": "Date the job should be finished",
  9799                      "type": "string",
  9800                      "format": "date-time",
  9801                      "example": "2017-08-15",
  9802                      "nullable": true
  9803                    },
  9804                    "ticket_url": {
  9805                      "description": "URL to a ticket for this job (e.g. Jira, Trello)",
  9806                      "type": "string",
  9807                      "example": "https://example.atlassian.net/browse/FOO"
  9808                    },
  9809                    "tags": {
  9810                      "description": "tags of keys that should be included within the job",
  9811                      "type": "array",
  9812                      "items": {
  9813                        "type": "string"
  9814                      },
  9815                      "example": [
  9816                        "myUploadTag"
  9817                      ]
  9818                    },
  9819                    "translation_key_ids": {
  9820                      "description": "ids of keys that should be included within the job",
  9821                      "type": "array",
  9822                      "items": {
  9823                        "type": "string"
  9824                      },
  9825                      "example": [
  9826                        "abcd1234cdef1234abcd1234cdef1234"
  9827                      ]
  9828                    },
  9829                    "job_template_id": {
  9830                      "description": "id of a job template you would like to model the created job after. Any manually added parameters will take preference over template attributes.",
  9831                      "type": "string",
  9832                      "example": "abcd1234cdef1234abcd1234cdef1234"
  9833                    }
  9834                  }
  9835                }
  9836              }
  9837            }
  9838          },
  9839          "x-cli-version": "2.5"
  9840        }
  9841      },
  9842      "/accounts/{account_id}/jobs": {
  9843        "get": {
  9844          "summary": "List account jobs",
  9845          "description": "List all jobs for the given account.",
  9846          "operationId": "jobs/by_account",
  9847          "tags": [
  9848            "Jobs"
  9849          ],
  9850          "parameters": [
  9851            {
  9852              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9853            },
  9854            {
  9855              "$ref": "#/components/parameters/account_id"
  9856            },
  9857            {
  9858              "$ref": "#/components/parameters/page"
  9859            },
  9860            {
  9861              "$ref": "#/components/parameters/per_page"
  9862            },
  9863            {
  9864              "description": "filter by user owning job",
  9865              "example": "abcd1234cdef1234abcd1234cdef1234",
  9866              "name": "owned_by",
  9867              "in": "query",
  9868              "schema": {
  9869                "type": "string"
  9870              }
  9871            },
  9872            {
  9873              "description": "filter by user assigned to job",
  9874              "example": "abcd1234cdef1234abcd1234cdef1234",
  9875              "name": "assigned_to",
  9876              "in": "query",
  9877              "schema": {
  9878                "type": "string"
  9879              }
  9880            },
  9881            {
  9882              "description": "filter by state of job Valid states are <code>draft</code>, <code>in_progress</code>, <code>completed</code>",
  9883              "example": "completed",
  9884              "name": "state",
  9885              "in": "query",
  9886              "schema": {
  9887                "type": "string"
  9888              }
  9889            }
  9890          ],
  9891          "responses": {
  9892            "200": {
  9893              "description": "OK",
  9894              "content": {
  9895                "application/json": {
  9896                  "schema": {
  9897                    "type": "array",
  9898                    "items": {
  9899                      "$ref": "#/components/schemas/job"
  9900                    }
  9901                  }
  9902                }
  9903              },
  9904              "headers": {
  9905                "X-Rate-Limit-Limit": {
  9906                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  9907                },
  9908                "X-Rate-Limit-Remaining": {
  9909                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  9910                },
  9911                "X-Rate-Limit-Reset": {
  9912                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  9913                },
  9914                "Link": {
  9915                  "$ref": "#/components/headers/Link"
  9916                },
  9917                "Pagination": {
  9918                  "$ref": "#/components/headers/Pagination"
  9919                }
  9920              }
  9921            },
  9922            "400": {
  9923              "$ref": "#/components/responses/400"
  9924            },
  9925            "404": {
  9926              "$ref": "#/components/responses/404"
  9927            },
  9928            "429": {
  9929              "$ref": "#/components/responses/429"
  9930            }
  9931          },
  9932          "x-code-samples": [
  9933            {
  9934              "lang": "Curl",
  9935              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/jobs?owned_by=abcd1234cdef1234abcd1234cdef1234&assigned_to=abcd1234cdef1234abcd1234cdef1234&state=completed\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
  9936            },
  9937            {
  9938              "lang": "CLI v2",
  9939              "source": "phrase jobs by_account \\\n--account_id <account_id> \\\n--owned_by abcd1234cdef1234abcd1234cdef1234 \\\n--assigned_to abcd1234cdef1234abcd1234cdef1234 \\\n--state completed \\\n--access_token <token>"
  9940            }
  9941          ],
  9942          "x-cli-version": "2.5"
  9943        }
  9944      },
  9945      "/projects/{project_id}/jobs/{id}": {
  9946        "get": {
  9947          "summary": "Get a single job",
  9948          "description": "Get details on a single job for a given project.",
  9949          "operationId": "job/show",
  9950          "tags": [
  9951            "Jobs"
  9952          ],
  9953          "parameters": [
  9954            {
  9955              "$ref": "#/components/parameters/X-PhraseApp-OTP"
  9956            },
  9957            {
  9958              "$ref": "#/components/parameters/project_id"
  9959            },
  9960            {
  9961              "$ref": "#/components/parameters/id"
  9962            },
  9963            {
  9964              "description": "specify the branch to use",
  9965              "example": "my-feature-branch",
  9966              "name": "branch",
  9967              "in": "query",
  9968              "schema": {
  9969                "type": "string"
  9970              }
  9971            }
  9972          ],
  9973          "responses": {
  9974            "200": {
  9975              "description": "OK",
  9976              "content": {
  9977                "application/json": {
  9978                  "schema": {
  9979                    "$ref": "#/components/schemas/job_details"
  9980                  }
  9981                }
  9982              },
  9983              "headers": {
  9984                "X-Rate-Limit-Limit": {
  9985                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
  9986                },
  9987                "X-Rate-Limit-Remaining": {
  9988                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
  9989                },
  9990                "X-Rate-Limit-Reset": {
  9991                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
  9992                }
  9993              }
  9994            },
  9995            "400": {
  9996              "$ref": "#/components/responses/400"
  9997            },
  9998            "404": {
  9999              "$ref": "#/components/responses/404"
 10000            },
 10001            "429": {
 10002              "$ref": "#/components/responses/429"
 10003            }
 10004          },
 10005          "x-code-samples": [
 10006            {
 10007              "lang": "Curl",
 10008              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 10009            },
 10010            {
 10011              "lang": "CLI v2",
 10012              "source": "phrase jobs show \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 10013            }
 10014          ],
 10015          "x-cli-version": "2.5"
 10016        },
 10017        "patch": {
 10018          "summary": "Update a job",
 10019          "description": "Update an existing job.",
 10020          "operationId": "job/update",
 10021          "tags": [
 10022            "Jobs"
 10023          ],
 10024          "parameters": [
 10025            {
 10026              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10027            },
 10028            {
 10029              "$ref": "#/components/parameters/project_id"
 10030            },
 10031            {
 10032              "$ref": "#/components/parameters/id"
 10033            }
 10034          ],
 10035          "responses": {
 10036            "200": {
 10037              "description": "OK",
 10038              "content": {
 10039                "application/json": {
 10040                  "schema": {
 10041                    "$ref": "#/components/schemas/job_details"
 10042                  }
 10043                }
 10044              },
 10045              "headers": {
 10046                "X-Rate-Limit-Limit": {
 10047                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 10048                },
 10049                "X-Rate-Limit-Remaining": {
 10050                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 10051                },
 10052                "X-Rate-Limit-Reset": {
 10053                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 10054                }
 10055              }
 10056            },
 10057            "400": {
 10058              "$ref": "#/components/responses/400"
 10059            },
 10060            "404": {
 10061              "$ref": "#/components/responses/404"
 10062            },
 10063            "429": {
 10064              "$ref": "#/components/responses/429"
 10065            }
 10066          },
 10067          "x-code-samples": [
 10068            {
 10069              "lang": "Curl",
 10070              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"name\":\"de\",\"briefing\":\"de-DE\",\"due_date\":\"2017-08-15\",\"ticket_url\":\"https://example.atlassian.net/browse/FOO\"}' \\\n  -H 'Content-Type: application/json'"
 10071            },
 10072            {
 10073              "lang": "CLI v2",
 10074              "source": "phrase jobs update \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\":\"de\", \"briefing\":\"de-DE\", \"due_date\":\"2017-08-15\", \"ticket_url\":\"https://example.atlassian.net/browse/FOO\"}' \\\n--access_token <token>"
 10075            }
 10076          ],
 10077          "requestBody": {
 10078            "required": true,
 10079            "content": {
 10080              "application/json": {
 10081                "schema": {
 10082                  "type": "object",
 10083                  "title": "job/update/parameters",
 10084                  "properties": {
 10085                    "branch": {
 10086                      "description": "specify the branch to use",
 10087                      "type": "string",
 10088                      "example": "my-feature-branch"
 10089                    },
 10090                    "name": {
 10091                      "description": "Job name",
 10092                      "type": "string",
 10093                      "example": "de"
 10094                    },
 10095                    "briefing": {
 10096                      "description": "Briefing for the translators",
 10097                      "type": "string",
 10098                      "example": "de-DE"
 10099                    },
 10100                    "due_date": {
 10101                      "description": "Date the job should be finished",
 10102                      "type": "string",
 10103                      "format": "date-time",
 10104                      "example": "2017-08-15",
 10105                      "nullable": true
 10106                    },
 10107                    "ticket_url": {
 10108                      "description": "URL to a ticket for this job (e.g. Jira, Trello)",
 10109                      "type": "string",
 10110                      "example": "https://example.atlassian.net/browse/FOO"
 10111                    }
 10112                  }
 10113                }
 10114              }
 10115            }
 10116          },
 10117          "x-cli-version": "2.5"
 10118        },
 10119        "delete": {
 10120          "summary": "Delete a job",
 10121          "description": "Delete an existing job.",
 10122          "operationId": "job/delete",
 10123          "tags": [
 10124            "Jobs"
 10125          ],
 10126          "parameters": [
 10127            {
 10128              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10129            },
 10130            {
 10131              "$ref": "#/components/parameters/project_id"
 10132            },
 10133            {
 10134              "$ref": "#/components/parameters/id"
 10135            },
 10136            {
 10137              "description": "specify the branch to use",
 10138              "example": "my-feature-branch",
 10139              "name": "branch",
 10140              "in": "query",
 10141              "schema": {
 10142                "type": "string"
 10143              }
 10144            }
 10145          ],
 10146          "responses": {
 10147            "204": {
 10148              "$ref": "#/components/responses/204"
 10149            },
 10150            "400": {
 10151              "$ref": "#/components/responses/400"
 10152            },
 10153            "404": {
 10154              "$ref": "#/components/responses/404"
 10155            },
 10156            "429": {
 10157              "$ref": "#/components/responses/429"
 10158            }
 10159          },
 10160          "x-code-samples": [
 10161            {
 10162              "lang": "Curl",
 10163              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 10164            },
 10165            {
 10166              "lang": "CLI v2",
 10167              "source": "phrase jobs delete \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 10168            }
 10169          ],
 10170          "x-cli-version": "2.5"
 10171        }
 10172      },
 10173      "/projects/{project_id}/jobs/{id}/start": {
 10174        "post": {
 10175          "summary": "Start a job",
 10176          "description": "Starts an existing job in state draft.",
 10177          "operationId": "job/start",
 10178          "tags": [
 10179            "Jobs"
 10180          ],
 10181          "parameters": [
 10182            {
 10183              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10184            },
 10185            {
 10186              "$ref": "#/components/parameters/project_id"
 10187            },
 10188            {
 10189              "$ref": "#/components/parameters/id"
 10190            }
 10191          ],
 10192          "responses": {
 10193            "200": {
 10194              "description": "OK",
 10195              "content": {
 10196                "application/json": {
 10197                  "schema": {
 10198                    "$ref": "#/components/schemas/job_details"
 10199                  }
 10200                }
 10201              },
 10202              "headers": {
 10203                "X-Rate-Limit-Limit": {
 10204                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 10205                },
 10206                "X-Rate-Limit-Remaining": {
 10207                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 10208                },
 10209                "X-Rate-Limit-Reset": {
 10210                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 10211                }
 10212              }
 10213            },
 10214            "400": {
 10215              "$ref": "#/components/responses/400"
 10216            },
 10217            "404": {
 10218              "$ref": "#/components/responses/404"
 10219            },
 10220            "429": {
 10221              "$ref": "#/components/responses/429"
 10222            }
 10223          },
 10224          "x-code-samples": [
 10225            {
 10226              "lang": "Curl",
 10227              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/start\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 10228            },
 10229            {
 10230              "lang": "CLI v2",
 10231              "source": "phrase jobs start \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 10232            }
 10233          ],
 10234          "requestBody": {
 10235            "required": true,
 10236            "content": {
 10237              "application/json": {
 10238                "schema": {
 10239                  "type": "object",
 10240                  "title": "job/start/parameters",
 10241                  "properties": {
 10242                    "branch": {
 10243                      "description": "specify the branch to use",
 10244                      "type": "string",
 10245                      "example": "my-feature-branch"
 10246                    }
 10247                  }
 10248                }
 10249              }
 10250            }
 10251          },
 10252          "x-cli-version": "2.5"
 10253        }
 10254      },
 10255      "/projects/{project_id}/jobs/{id}/complete": {
 10256        "post": {
 10257          "summary": "Complete a job",
 10258          "description": "Mark a job as completed.",
 10259          "operationId": "job/complete",
 10260          "tags": [
 10261            "Jobs"
 10262          ],
 10263          "parameters": [
 10264            {
 10265              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10266            },
 10267            {
 10268              "$ref": "#/components/parameters/project_id"
 10269            },
 10270            {
 10271              "$ref": "#/components/parameters/id"
 10272            }
 10273          ],
 10274          "responses": {
 10275            "200": {
 10276              "description": "OK",
 10277              "content": {
 10278                "application/json": {
 10279                  "schema": {
 10280                    "$ref": "#/components/schemas/job_details"
 10281                  }
 10282                }
 10283              },
 10284              "headers": {
 10285                "X-Rate-Limit-Limit": {
 10286                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 10287                },
 10288                "X-Rate-Limit-Remaining": {
 10289                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 10290                },
 10291                "X-Rate-Limit-Reset": {
 10292                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 10293                }
 10294              }
 10295            },
 10296            "400": {
 10297              "$ref": "#/components/responses/400"
 10298            },
 10299            "404": {
 10300              "$ref": "#/components/responses/404"
 10301            },
 10302            "429": {
 10303              "$ref": "#/components/responses/429"
 10304            }
 10305          },
 10306          "x-code-samples": [
 10307            {
 10308              "lang": "Curl",
 10309              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/complete\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 10310            },
 10311            {
 10312              "lang": "CLI v2",
 10313              "source": "phrase jobs complete \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 10314            }
 10315          ],
 10316          "requestBody": {
 10317            "required": true,
 10318            "content": {
 10319              "application/json": {
 10320                "schema": {
 10321                  "type": "object",
 10322                  "title": "job/complete/parameters",
 10323                  "properties": {
 10324                    "branch": {
 10325                      "description": "specify the branch to use",
 10326                      "type": "string",
 10327                      "example": "my-feature-branch"
 10328                    }
 10329                  }
 10330                }
 10331              }
 10332            }
 10333          },
 10334          "x-cli-version": "2.5"
 10335        }
 10336      },
 10337      "/projects/{project_id}/jobs/{id}/reopen": {
 10338        "post": {
 10339          "summary": "Reopen a job",
 10340          "description": "Mark a job as uncompleted.",
 10341          "operationId": "job/reopen",
 10342          "tags": [
 10343            "Jobs"
 10344          ],
 10345          "parameters": [
 10346            {
 10347              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10348            },
 10349            {
 10350              "$ref": "#/components/parameters/project_id"
 10351            },
 10352            {
 10353              "$ref": "#/components/parameters/id"
 10354            }
 10355          ],
 10356          "responses": {
 10357            "200": {
 10358              "description": "OK",
 10359              "content": {
 10360                "application/json": {
 10361                  "schema": {
 10362                    "$ref": "#/components/schemas/job_details"
 10363                  }
 10364                }
 10365              },
 10366              "headers": {
 10367                "X-Rate-Limit-Limit": {
 10368                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 10369                },
 10370                "X-Rate-Limit-Remaining": {
 10371                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 10372                },
 10373                "X-Rate-Limit-Reset": {
 10374                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 10375                }
 10376              }
 10377            },
 10378            "400": {
 10379              "$ref": "#/components/responses/400"
 10380            },
 10381            "404": {
 10382              "$ref": "#/components/responses/404"
 10383            },
 10384            "429": {
 10385              "$ref": "#/components/responses/429"
 10386            }
 10387          },
 10388          "x-code-samples": [
 10389            {
 10390              "lang": "Curl",
 10391              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/reopen\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 10392            },
 10393            {
 10394              "lang": "CLI v2",
 10395              "source": "phrase jobs reopen \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 10396            }
 10397          ],
 10398          "requestBody": {
 10399            "required": true,
 10400            "content": {
 10401              "application/json": {
 10402                "schema": {
 10403                  "type": "object",
 10404                  "title": "job/reopen/parameters",
 10405                  "properties": {
 10406                    "branch": {
 10407                      "description": "specify the branch to use",
 10408                      "type": "string",
 10409                      "example": "my-feature-branch"
 10410                    }
 10411                  }
 10412                }
 10413              }
 10414            }
 10415          },
 10416          "x-cli-version": "2.5"
 10417        }
 10418      },
 10419      "/projects/{project_id}/jobs/{id}/lock": {
 10420        "post": {
 10421          "summary": "Lock a job",
 10422          "description": "If you are the job owner, you may lock a job using this API request.",
 10423          "operationId": "job/lock",
 10424          "tags": [
 10425            "Jobs"
 10426          ],
 10427          "parameters": [
 10428            {
 10429              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10430            },
 10431            {
 10432              "$ref": "#/components/parameters/project_id"
 10433            },
 10434            {
 10435              "$ref": "#/components/parameters/id"
 10436            },
 10437            {
 10438              "description": "specify the branch to use",
 10439              "example": "my-feature-branch",
 10440              "name": "branch",
 10441              "in": "query",
 10442              "schema": {
 10443                "type": "string"
 10444              }
 10445            }
 10446          ],
 10447          "responses": {
 10448            "204": {
 10449              "$ref": "#/components/responses/204"
 10450            },
 10451            "400": {
 10452              "$ref": "#/components/responses/400"
 10453            },
 10454            "404": {
 10455              "$ref": "#/components/responses/404"
 10456            },
 10457            "429": {
 10458              "$ref": "#/components/responses/429"
 10459            }
 10460          },
 10461          "x-code-samples": [
 10462            {
 10463              "lang": "Curl",
 10464              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/lock\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\"' \\\n  -H 'Content-Type: application/json'"
 10465            },
 10466            {
 10467              "lang": "CLI v2",
 10468              "source": "phrase jobs lock \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 10469            }
 10470          ],
 10471          "x-cli-version": "2.5"
 10472        }
 10473      },
 10474      "/projects/{project_id}/jobs/{id}/unlock": {
 10475        "post": {
 10476          "summary": "Unlock a job",
 10477          "description": "If you are the job owner, you may unlock a locked job using this API request.",
 10478          "operationId": "job/unlock",
 10479          "tags": [
 10480            "Jobs"
 10481          ],
 10482          "parameters": [
 10483            {
 10484              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10485            },
 10486            {
 10487              "$ref": "#/components/parameters/project_id"
 10488            },
 10489            {
 10490              "$ref": "#/components/parameters/id"
 10491            },
 10492            {
 10493              "description": "specify the branch to use",
 10494              "example": "my-feature-branch",
 10495              "name": "branch",
 10496              "in": "query",
 10497              "schema": {
 10498                "type": "string"
 10499              }
 10500            }
 10501          ],
 10502          "responses": {
 10503            "204": {
 10504              "$ref": "#/components/responses/204"
 10505            },
 10506            "400": {
 10507              "$ref": "#/components/responses/400"
 10508            },
 10509            "404": {
 10510              "$ref": "#/components/responses/404"
 10511            },
 10512            "429": {
 10513              "$ref": "#/components/responses/429"
 10514            }
 10515          },
 10516          "x-code-samples": [
 10517            {
 10518              "lang": "Curl",
 10519              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/unlock\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\"' \\\n  -H 'Content-Type: application/json'"
 10520            },
 10521            {
 10522              "lang": "CLI v2",
 10523              "source": "phrase jobs unlock \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 10524            }
 10525          ],
 10526          "x-cli-version": "2.5"
 10527        }
 10528      },
 10529      "/projects/{project_id}/jobs/{id}/keys": {
 10530        "post": {
 10531          "summary": "Add keys to job",
 10532          "description": "Add multiple keys to a existing job.",
 10533          "operationId": "job/keys/create",
 10534          "tags": [
 10535            "Jobs"
 10536          ],
 10537          "parameters": [
 10538            {
 10539              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10540            },
 10541            {
 10542              "$ref": "#/components/parameters/project_id"
 10543            },
 10544            {
 10545              "$ref": "#/components/parameters/id"
 10546            }
 10547          ],
 10548          "responses": {
 10549            "200": {
 10550              "description": "OK",
 10551              "content": {
 10552                "application/json": {
 10553                  "schema": {
 10554                    "$ref": "#/components/schemas/job_details"
 10555                  }
 10556                }
 10557              },
 10558              "headers": {
 10559                "X-Rate-Limit-Limit": {
 10560                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 10561                },
 10562                "X-Rate-Limit-Remaining": {
 10563                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 10564                },
 10565                "X-Rate-Limit-Reset": {
 10566                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 10567                }
 10568              }
 10569            },
 10570            "400": {
 10571              "$ref": "#/components/responses/400"
 10572            },
 10573            "404": {
 10574              "$ref": "#/components/responses/404"
 10575            },
 10576            "429": {
 10577              "$ref": "#/components/responses/429"
 10578            }
 10579          },
 10580          "x-code-samples": [
 10581            {
 10582              "lang": "Curl",
 10583              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/keys\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"translation_key_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n  -H 'Content-Type: application/json'"
 10584            },
 10585            {
 10586              "lang": "CLI v2",
 10587              "source": "phrase jobs keys_create \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\", \"translation_key_ids\": \"abcd1234cdef1234abcd1234cdef1234\"}' \\\n--access_token <token>"
 10588            }
 10589          ],
 10590          "requestBody": {
 10591            "required": true,
 10592            "content": {
 10593              "application/json": {
 10594                "schema": {
 10595                  "type": "object",
 10596                  "title": "job/keys/create/parameters",
 10597                  "properties": {
 10598                    "branch": {
 10599                      "description": "specify the branch to use",
 10600                      "type": "string",
 10601                      "example": "my-feature-branch"
 10602                    },
 10603                    "translation_key_ids": {
 10604                      "description": "ids of keys that should added to the job",
 10605                      "type": "array",
 10606                      "items": {
 10607                        "type": "string"
 10608                      },
 10609                      "example": [
 10610                        "abcd1234cdef1234abcd1234cdef1234"
 10611                      ]
 10612                    }
 10613                  }
 10614                }
 10615              }
 10616            }
 10617          },
 10618          "x-cli-version": "2.5"
 10619        },
 10620        "delete": {
 10621          "summary": "Remove keys from job",
 10622          "description": "Remove multiple keys from existing job.",
 10623          "operationId": "job/keys/delete",
 10624          "tags": [
 10625            "Jobs"
 10626          ],
 10627          "parameters": [
 10628            {
 10629              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10630            },
 10631            {
 10632              "$ref": "#/components/parameters/project_id"
 10633            },
 10634            {
 10635              "$ref": "#/components/parameters/id"
 10636            },
 10637            {
 10638              "description": "specify the branch to use",
 10639              "example": "my-feature-branch",
 10640              "name": "branch",
 10641              "in": "query",
 10642              "schema": {
 10643                "type": "string"
 10644              }
 10645            },
 10646            {
 10647              "description": "ids of keys that should added to the job",
 10648              "example": [
 10649                "abcd1234cdef1234abcd1234cdef1234"
 10650              ],
 10651              "name": "translation_key_ids",
 10652              "in": "query",
 10653              "schema": {
 10654                "type": "array",
 10655                "items": {
 10656                  "type": "string"
 10657                }
 10658              }
 10659            }
 10660          ],
 10661          "responses": {
 10662            "204": {
 10663              "$ref": "#/components/responses/204"
 10664            },
 10665            "400": {
 10666              "$ref": "#/components/responses/400"
 10667            },
 10668            "404": {
 10669              "$ref": "#/components/responses/404"
 10670            },
 10671            "429": {
 10672              "$ref": "#/components/responses/429"
 10673            }
 10674          },
 10675          "x-code-samples": [
 10676            {
 10677              "lang": "Curl",
 10678              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/keys\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\",\"translation_key_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n  -H 'Content-Type: application/json'"
 10679            },
 10680            {
 10681              "lang": "CLI v2",
 10682              "source": "phrase jobs keys_delete \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--translation_key_ids \"abcd1234cdef1234abcd1234cdef1234\" \\\n--access_token <token>"
 10683            }
 10684          ],
 10685          "x-cli-version": "2.5"
 10686        }
 10687      },
 10688      "/projects/{project_id}/job_templates": {
 10689        "get": {
 10690          "summary": "List job templates",
 10691          "description": "List all job templates for the given project.",
 10692          "operationId": "job_templates/list",
 10693          "tags": [
 10694            "Job Templates"
 10695          ],
 10696          "parameters": [
 10697            {
 10698              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10699            },
 10700            {
 10701              "$ref": "#/components/parameters/project_id"
 10702            },
 10703            {
 10704              "$ref": "#/components/parameters/page"
 10705            },
 10706            {
 10707              "$ref": "#/components/parameters/per_page"
 10708            },
 10709            {
 10710              "description": "specify the branch to use",
 10711              "example": "my-feature-branch",
 10712              "name": "branch",
 10713              "in": "query",
 10714              "schema": {
 10715                "type": "string"
 10716              }
 10717            }
 10718          ],
 10719          "responses": {
 10720            "200": {
 10721              "description": "OK",
 10722              "content": {
 10723                "application/json": {
 10724                  "schema": {
 10725                    "type": "array",
 10726                    "items": {
 10727                      "$ref": "#/components/schemas/job_template"
 10728                    }
 10729                  }
 10730                }
 10731              },
 10732              "headers": {
 10733                "X-Rate-Limit-Limit": {
 10734                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 10735                },
 10736                "X-Rate-Limit-Remaining": {
 10737                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 10738                },
 10739                "X-Rate-Limit-Reset": {
 10740                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 10741                },
 10742                "Link": {
 10743                  "$ref": "#/components/headers/Link"
 10744                },
 10745                "Pagination": {
 10746                  "$ref": "#/components/headers/Pagination"
 10747                }
 10748              }
 10749            },
 10750            "400": {
 10751              "$ref": "#/components/responses/400"
 10752            },
 10753            "404": {
 10754              "$ref": "#/components/responses/404"
 10755            },
 10756            "429": {
 10757              "$ref": "#/components/responses/429"
 10758            }
 10759          },
 10760          "x-code-samples": [
 10761            {
 10762              "lang": "Curl",
 10763              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/job_templates?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 10764            },
 10765            {
 10766              "lang": "CLI v2",
 10767              "source": "phrase job_templates list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 10768            }
 10769          ],
 10770          "x-cli-version": "2.5"
 10771        },
 10772        "post": {
 10773          "summary": "Create a job template",
 10774          "description": "Create a new job template.",
 10775          "operationId": "job_template/create",
 10776          "tags": [
 10777            "Job Templates"
 10778          ],
 10779          "parameters": [
 10780            {
 10781              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10782            },
 10783            {
 10784              "$ref": "#/components/parameters/project_id"
 10785            }
 10786          ],
 10787          "responses": {
 10788            "201": {
 10789              "description": "Created",
 10790              "content": {
 10791                "application/json": {
 10792                  "schema": {
 10793                    "$ref": "#/components/schemas/job_template_details"
 10794                  }
 10795                }
 10796              },
 10797              "headers": {
 10798                "X-Rate-Limit-Limit": {
 10799                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 10800                },
 10801                "X-Rate-Limit-Remaining": {
 10802                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 10803                },
 10804                "X-Rate-Limit-Reset": {
 10805                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 10806                }
 10807              }
 10808            },
 10809            "400": {
 10810              "$ref": "#/components/responses/400"
 10811            },
 10812            "404": {
 10813              "$ref": "#/components/responses/404"
 10814            },
 10815            "429": {
 10816              "$ref": "#/components/responses/429"
 10817            }
 10818          },
 10819          "x-code-samples": [
 10820            {
 10821              "lang": "Curl",
 10822              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/job_templates\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"name\":\"template\",\"briefing\":\"text\"}' \\\n  -H 'Content-Type: application/json'"
 10823            },
 10824            {
 10825              "lang": "CLI v2",
 10826              "source": "phrase job_templates create \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\":\"template\", \"briefing\":\"text\"}' \\\n--access_token <token>"
 10827            }
 10828          ],
 10829          "requestBody": {
 10830            "required": true,
 10831            "content": {
 10832              "application/json": {
 10833                "schema": {
 10834                  "type": "object",
 10835                  "title": "job_template/create/parameters",
 10836                  "properties": {
 10837                    "branch": {
 10838                      "description": "specify the branch to use",
 10839                      "type": "string",
 10840                      "example": "my-feature-branch"
 10841                    },
 10842                    "name": {
 10843                      "description": "Job template name",
 10844                      "type": "string",
 10845                      "example": "template"
 10846                    },
 10847                    "briefing": {
 10848                      "description": "Briefing for the translators",
 10849                      "type": "string",
 10850                      "example": "text"
 10851                    }
 10852                  },
 10853                  "required": [
 10854                    "name"
 10855                  ]
 10856                }
 10857              }
 10858            }
 10859          },
 10860          "x-cli-version": "2.5"
 10861        }
 10862      },
 10863      "/projects/{project_id}/job_templates/{id}": {
 10864        "get": {
 10865          "summary": "Get a single job template",
 10866          "description": "Get details on a single job template for a given project.",
 10867          "operationId": "job_templates/show",
 10868          "tags": [
 10869            "Job Templates"
 10870          ],
 10871          "parameters": [
 10872            {
 10873              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10874            },
 10875            {
 10876              "$ref": "#/components/parameters/project_id"
 10877            },
 10878            {
 10879              "$ref": "#/components/parameters/id"
 10880            },
 10881            {
 10882              "description": "specify the branch to use",
 10883              "example": "my-feature-branch",
 10884              "name": "branch",
 10885              "in": "query",
 10886              "schema": {
 10887                "type": "string"
 10888              }
 10889            }
 10890          ],
 10891          "responses": {
 10892            "200": {
 10893              "description": "OK",
 10894              "content": {
 10895                "application/json": {
 10896                  "schema": {
 10897                    "$ref": "#/components/schemas/job_template_details"
 10898                  }
 10899                }
 10900              },
 10901              "headers": {
 10902                "X-Rate-Limit-Limit": {
 10903                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 10904                },
 10905                "X-Rate-Limit-Remaining": {
 10906                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 10907                },
 10908                "X-Rate-Limit-Reset": {
 10909                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 10910                }
 10911              }
 10912            },
 10913            "400": {
 10914              "$ref": "#/components/responses/400"
 10915            },
 10916            "404": {
 10917              "$ref": "#/components/responses/404"
 10918            },
 10919            "429": {
 10920              "$ref": "#/components/responses/429"
 10921            }
 10922          },
 10923          "x-code-samples": [
 10924            {
 10925              "lang": "Curl",
 10926              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/job_templates/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 10927            },
 10928            {
 10929              "lang": "CLI v2",
 10930              "source": "phrase job_templates show \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 10931            }
 10932          ],
 10933          "x-cli-version": "2.5"
 10934        },
 10935        "patch": {
 10936          "summary": "Update a job template",
 10937          "description": "Update an existing job template.",
 10938          "operationId": "job_template/update",
 10939          "tags": [
 10940            "Job Templates"
 10941          ],
 10942          "parameters": [
 10943            {
 10944              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 10945            },
 10946            {
 10947              "$ref": "#/components/parameters/project_id"
 10948            },
 10949            {
 10950              "$ref": "#/components/parameters/id"
 10951            }
 10952          ],
 10953          "responses": {
 10954            "200": {
 10955              "description": "OK",
 10956              "content": {
 10957                "application/json": {
 10958                  "schema": {
 10959                    "$ref": "#/components/schemas/job_template_details"
 10960                  }
 10961                }
 10962              },
 10963              "headers": {
 10964                "X-Rate-Limit-Limit": {
 10965                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 10966                },
 10967                "X-Rate-Limit-Remaining": {
 10968                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 10969                },
 10970                "X-Rate-Limit-Reset": {
 10971                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 10972                }
 10973              }
 10974            },
 10975            "400": {
 10976              "$ref": "#/components/responses/400"
 10977            },
 10978            "404": {
 10979              "$ref": "#/components/responses/404"
 10980            },
 10981            "429": {
 10982              "$ref": "#/components/responses/429"
 10983            }
 10984          },
 10985          "x-code-samples": [
 10986            {
 10987              "lang": "Curl",
 10988              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/job_templates/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"name\":\"template\",\"briefing\":\"text\"}' \\\n  -H 'Content-Type: application/json'"
 10989            },
 10990            {
 10991              "lang": "CLI v2",
 10992              "source": "phrase job_templates update \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\":\"template\", \"briefing\":\"text\"}' \\\n--access_token <token>"
 10993            }
 10994          ],
 10995          "requestBody": {
 10996            "required": true,
 10997            "content": {
 10998              "application/json": {
 10999                "schema": {
 11000                  "type": "object",
 11001                  "title": "job_template/update/parameters",
 11002                  "properties": {
 11003                    "branch": {
 11004                      "description": "specify the branch to use",
 11005                      "type": "string",
 11006                      "example": "my-feature-branch"
 11007                    },
 11008                    "name": {
 11009                      "description": "Job template name",
 11010                      "type": "string",
 11011                      "example": "template"
 11012                    },
 11013                    "briefing": {
 11014                      "description": "Briefing for the translators",
 11015                      "type": "string",
 11016                      "example": "text"
 11017                    }
 11018                  },
 11019                  "required": [
 11020                    "name"
 11021                  ]
 11022                }
 11023              }
 11024            }
 11025          },
 11026          "x-cli-version": "2.5"
 11027        },
 11028        "delete": {
 11029          "summary": "Delete a job template",
 11030          "description": "Delete an existing job template.",
 11031          "operationId": "job_template/delete",
 11032          "tags": [
 11033            "Job Templates"
 11034          ],
 11035          "parameters": [
 11036            {
 11037              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11038            },
 11039            {
 11040              "$ref": "#/components/parameters/project_id"
 11041            },
 11042            {
 11043              "$ref": "#/components/parameters/id"
 11044            },
 11045            {
 11046              "description": "specify the branch to use",
 11047              "example": "my-feature-branch",
 11048              "name": "branch",
 11049              "in": "query",
 11050              "schema": {
 11051                "type": "string"
 11052              }
 11053            }
 11054          ],
 11055          "responses": {
 11056            "204": {
 11057              "$ref": "#/components/responses/204"
 11058            },
 11059            "400": {
 11060              "$ref": "#/components/responses/400"
 11061            },
 11062            "404": {
 11063              "$ref": "#/components/responses/404"
 11064            },
 11065            "429": {
 11066              "$ref": "#/components/responses/429"
 11067            }
 11068          },
 11069          "x-code-samples": [
 11070            {
 11071              "lang": "Curl",
 11072              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/job_templates/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 11073            },
 11074            {
 11075              "lang": "CLI v2",
 11076              "source": "phrase job_templates delete \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 11077            }
 11078          ],
 11079          "x-cli-version": "2.5"
 11080        }
 11081      },
 11082      "/accounts/{account_id}/glossaries": {
 11083        "get": {
 11084          "summary": "List term bases",
 11085          "description": "List all term bases (previously: glossaries) the current user has access to.",
 11086          "operationId": "glossaries/list",
 11087          "tags": [
 11088            "Glossaries"
 11089          ],
 11090          "parameters": [
 11091            {
 11092              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11093            },
 11094            {
 11095              "$ref": "#/components/parameters/account_id"
 11096            },
 11097            {
 11098              "$ref": "#/components/parameters/page"
 11099            },
 11100            {
 11101              "$ref": "#/components/parameters/per_page"
 11102            }
 11103          ],
 11104          "responses": {
 11105            "200": {
 11106              "description": "OK",
 11107              "content": {
 11108                "application/json": {
 11109                  "schema": {
 11110                    "type": "array",
 11111                    "items": {
 11112                      "$ref": "#/components/schemas/glossary"
 11113                    }
 11114                  }
 11115                }
 11116              },
 11117              "headers": {
 11118                "X-Rate-Limit-Limit": {
 11119                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11120                },
 11121                "X-Rate-Limit-Remaining": {
 11122                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 11123                },
 11124                "X-Rate-Limit-Reset": {
 11125                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 11126                },
 11127                "Link": {
 11128                  "$ref": "#/components/headers/Link"
 11129                },
 11130                "Pagination": {
 11131                  "$ref": "#/components/headers/Pagination"
 11132                }
 11133              }
 11134            },
 11135            "400": {
 11136              "$ref": "#/components/responses/400"
 11137            },
 11138            "404": {
 11139              "$ref": "#/components/responses/404"
 11140            },
 11141            "429": {
 11142              "$ref": "#/components/responses/429"
 11143            }
 11144          },
 11145          "x-code-samples": [
 11146            {
 11147              "lang": "Curl",
 11148              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 11149            },
 11150            {
 11151              "lang": "CLI v2",
 11152              "source": "phrase glossaries list \\\n--account_id <account_id> \\\n--access_token <token>"
 11153            }
 11154          ],
 11155          "x-cli-version": "2.5"
 11156        },
 11157        "post": {
 11158          "summary": "Create a term base",
 11159          "description": "Create a new term base (previously: glossary).",
 11160          "operationId": "glossary/create",
 11161          "tags": [
 11162            "Glossaries"
 11163          ],
 11164          "parameters": [
 11165            {
 11166              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11167            },
 11168            {
 11169              "$ref": "#/components/parameters/account_id"
 11170            }
 11171          ],
 11172          "responses": {
 11173            "201": {
 11174              "description": "Created",
 11175              "content": {
 11176                "application/json": {
 11177                  "schema": {
 11178                    "$ref": "#/components/schemas/glossary"
 11179                  }
 11180                }
 11181              },
 11182              "headers": {
 11183                "X-Rate-Limit-Limit": {
 11184                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11185                },
 11186                "X-Rate-Limit-Remaining": {
 11187                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 11188                },
 11189                "X-Rate-Limit-Reset": {
 11190                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 11191                }
 11192              }
 11193            },
 11194            "400": {
 11195              "$ref": "#/components/responses/400"
 11196            },
 11197            "404": {
 11198              "$ref": "#/components/responses/404"
 11199            },
 11200            "429": {
 11201              "$ref": "#/components/responses/429"
 11202            }
 11203          },
 11204          "x-code-samples": [
 11205            {
 11206              "lang": "Curl",
 11207              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"name\":\"My term base\",\"project_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\",\"space_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"]}' \\\n  -H 'Content-Type: application/json'"
 11208            },
 11209            {
 11210              "lang": "CLI v2",
 11211              "source": "phrase glossaries create \\\n--account_id <account_id> \\\n--data '{\"name\":\"My term base\", \"project_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\", \"space_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\"}' \\\n--access_token <token>"
 11212            }
 11213          ],
 11214          "requestBody": {
 11215            "required": true,
 11216            "content": {
 11217              "application/json": {
 11218                "schema": {
 11219                  "type": "object",
 11220                  "title": "glossary/create/parameters",
 11221                  "required": [
 11222                    "name"
 11223                  ],
 11224                  "properties": {
 11225                    "name": {
 11226                      "description": "Name of the glossary",
 11227                      "type": "string",
 11228                      "example": "My glossary"
 11229                    },
 11230                    "project_ids": {
 11231                      "description": "List of project ids the glossary should be assigned to.",
 11232                      "type": "string",
 11233                      "example": "abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235"
 11234                    },
 11235                    "space_ids": {
 11236                      "description": "List of space ids the glossary should be assigned to.",
 11237                      "type": "array",
 11238                      "items": {
 11239                        "type": "string"
 11240                      },
 11241                      "example": [
 11242                        "abcd1234abcd1234abcd1234",
 11243                        "abcd1234abcd1234abcd1235"
 11244                      ]
 11245                    }
 11246                  }
 11247                }
 11248              }
 11249            }
 11250          },
 11251          "x-cli-version": "2.5"
 11252        }
 11253      },
 11254      "/accounts/{account_id}/glossaries/{id}": {
 11255        "get": {
 11256          "summary": "Get a single term base",
 11257          "description": "Get details on a single term base (previously: glossary).",
 11258          "operationId": "glossary/show",
 11259          "tags": [
 11260            "Glossaries"
 11261          ],
 11262          "parameters": [
 11263            {
 11264              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11265            },
 11266            {
 11267              "$ref": "#/components/parameters/account_id"
 11268            },
 11269            {
 11270              "$ref": "#/components/parameters/id"
 11271            }
 11272          ],
 11273          "responses": {
 11274            "200": {
 11275              "description": "OK",
 11276              "content": {
 11277                "application/json": {
 11278                  "schema": {
 11279                    "$ref": "#/components/schemas/glossary"
 11280                  }
 11281                }
 11282              },
 11283              "headers": {
 11284                "X-Rate-Limit-Limit": {
 11285                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11286                },
 11287                "X-Rate-Limit-Remaining": {
 11288                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 11289                },
 11290                "X-Rate-Limit-Reset": {
 11291                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 11292                }
 11293              }
 11294            },
 11295            "400": {
 11296              "$ref": "#/components/responses/400"
 11297            },
 11298            "404": {
 11299              "$ref": "#/components/responses/404"
 11300            },
 11301            "429": {
 11302              "$ref": "#/components/responses/429"
 11303            }
 11304          },
 11305          "x-code-samples": [
 11306            {
 11307              "lang": "Curl",
 11308              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 11309            },
 11310            {
 11311              "lang": "CLI v2",
 11312              "source": "phrase glossaries show \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 11313            }
 11314          ],
 11315          "x-cli-version": "2.5"
 11316        },
 11317        "patch": {
 11318          "summary": "Update a term base",
 11319          "description": "Update an existing term base (previously: glossary).",
 11320          "operationId": "glossary/update",
 11321          "tags": [
 11322            "Glossaries"
 11323          ],
 11324          "parameters": [
 11325            {
 11326              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11327            },
 11328            {
 11329              "$ref": "#/components/parameters/account_id"
 11330            },
 11331            {
 11332              "$ref": "#/components/parameters/id"
 11333            }
 11334          ],
 11335          "responses": {
 11336            "200": {
 11337              "description": "OK",
 11338              "content": {
 11339                "application/json": {
 11340                  "schema": {
 11341                    "$ref": "#/components/schemas/glossary"
 11342                  }
 11343                }
 11344              },
 11345              "headers": {
 11346                "X-Rate-Limit-Limit": {
 11347                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11348                },
 11349                "X-Rate-Limit-Remaining": {
 11350                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 11351                },
 11352                "X-Rate-Limit-Reset": {
 11353                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 11354                }
 11355              }
 11356            },
 11357            "400": {
 11358              "$ref": "#/components/responses/400"
 11359            },
 11360            "404": {
 11361              "$ref": "#/components/responses/404"
 11362            },
 11363            "429": {
 11364              "$ref": "#/components/responses/429"
 11365            }
 11366          },
 11367          "x-code-samples": [
 11368            {
 11369              "lang": "Curl",
 11370              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"name\":\"My glossary\",\"project_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\",\"space_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"]}' \\\n  -H 'Content-Type: application/json'"
 11371            },
 11372            {
 11373              "lang": "CLI v2",
 11374              "source": "phrase glossaries update \\\n--account_id <account_id> \\\n--id <id> \\\n--data '{\"name\": \"My glossary\", \"project_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\", \"space_ids\": \"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\"}' \\\n--access_token <token>"
 11375            }
 11376          ],
 11377          "requestBody": {
 11378            "required": true,
 11379            "content": {
 11380              "application/json": {
 11381                "schema": {
 11382                  "type": "object",
 11383                  "title": "glossary/update/parameters",
 11384                  "properties": {
 11385                    "name": {
 11386                      "description": "Name of the glossary",
 11387                      "type": "string",
 11388                      "example": "My glossary"
 11389                    },
 11390                    "project_ids": {
 11391                      "description": "List of project ids the glossary should be assigned to.",
 11392                      "type": "string",
 11393                      "example": "abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235"
 11394                    },
 11395                    "space_ids": {
 11396                      "description": "List of space ids the glossary should be assigned to.",
 11397                      "type": "array",
 11398                      "items": {
 11399                        "type": "string"
 11400                      },
 11401                      "example": [
 11402                        "abcd1234abcd1234abcd1234",
 11403                        "abcd1234abcd1234abcd1235"
 11404                      ]
 11405                    }
 11406                  }
 11407                }
 11408              }
 11409            }
 11410          },
 11411          "x-cli-version": "2.5"
 11412        },
 11413        "delete": {
 11414          "summary": "Delete a term base",
 11415          "description": "Delete an existing term base (previously: glossary).",
 11416          "operationId": "glossary/delete",
 11417          "tags": [
 11418            "Glossaries"
 11419          ],
 11420          "parameters": [
 11421            {
 11422              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11423            },
 11424            {
 11425              "$ref": "#/components/parameters/account_id"
 11426            },
 11427            {
 11428              "$ref": "#/components/parameters/id"
 11429            }
 11430          ],
 11431          "responses": {
 11432            "204": {
 11433              "$ref": "#/components/responses/204"
 11434            },
 11435            "400": {
 11436              "$ref": "#/components/responses/400"
 11437            },
 11438            "404": {
 11439              "$ref": "#/components/responses/404"
 11440            },
 11441            "429": {
 11442              "$ref": "#/components/responses/429"
 11443            }
 11444          },
 11445          "x-code-samples": [
 11446            {
 11447              "lang": "Curl",
 11448              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 11449            },
 11450            {
 11451              "lang": "CLI v2",
 11452              "source": "phrase glossaries delete \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 11453            }
 11454          ],
 11455          "x-cli-version": "2.5"
 11456        }
 11457      },
 11458      "/authorizations": {
 11459        "get": {
 11460          "summary": "List authorizations",
 11461          "description": "List all your authorizations.",
 11462          "operationId": "authorizations/list",
 11463          "tags": [
 11464            "Authorizations"
 11465          ],
 11466          "parameters": [
 11467            {
 11468              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11469            },
 11470            {
 11471              "$ref": "#/components/parameters/page"
 11472            },
 11473            {
 11474              "$ref": "#/components/parameters/per_page"
 11475            }
 11476          ],
 11477          "responses": {
 11478            "200": {
 11479              "description": "OK",
 11480              "content": {
 11481                "application/json": {
 11482                  "schema": {
 11483                    "type": "array",
 11484                    "items": {
 11485                      "$ref": "#/components/schemas/authorization"
 11486                    }
 11487                  }
 11488                }
 11489              },
 11490              "headers": {
 11491                "X-Rate-Limit-Limit": {
 11492                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11493                },
 11494                "X-Rate-Limit-Remaining": {
 11495                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 11496                },
 11497                "X-Rate-Limit-Reset": {
 11498                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 11499                },
 11500                "Link": {
 11501                  "$ref": "#/components/headers/Link"
 11502                },
 11503                "Pagination": {
 11504                  "$ref": "#/components/headers/Pagination"
 11505                }
 11506              }
 11507            },
 11508            "400": {
 11509              "$ref": "#/components/responses/400"
 11510            },
 11511            "404": {
 11512              "$ref": "#/components/responses/404"
 11513            },
 11514            "429": {
 11515              "$ref": "#/components/responses/429"
 11516            }
 11517          },
 11518          "x-code-samples": [
 11519            {
 11520              "lang": "Curl",
 11521              "source": "curl \"https://api.phrase.com/v2/authorizations\" \\\n  -u USERNAME"
 11522            },
 11523            {
 11524              "lang": "CLI v2",
 11525              "source": "phrase authorizations list"
 11526            }
 11527          ],
 11528          "x-cli-version": "2.5"
 11529        },
 11530        "post": {
 11531          "summary": "Create an authorization",
 11532          "description": "Create a new authorization.",
 11533          "operationId": "authorization/create",
 11534          "tags": [
 11535            "Authorizations"
 11536          ],
 11537          "parameters": [
 11538            {
 11539              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11540            }
 11541          ],
 11542          "responses": {
 11543            "201": {
 11544              "description": "Created",
 11545              "content": {
 11546                "application/json": {
 11547                  "schema": {
 11548                    "$ref": "#/components/schemas/authorization_with_token"
 11549                  }
 11550                }
 11551              },
 11552              "headers": {
 11553                "X-Rate-Limit-Limit": {
 11554                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11555                },
 11556                "X-Rate-Limit-Remaining": {
 11557                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 11558                },
 11559                "X-Rate-Limit-Reset": {
 11560                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 11561                }
 11562              }
 11563            },
 11564            "400": {
 11565              "$ref": "#/components/responses/400"
 11566            },
 11567            "404": {
 11568              "$ref": "#/components/responses/404"
 11569            },
 11570            "429": {
 11571              "$ref": "#/components/responses/429"
 11572            }
 11573          },
 11574          "x-code-samples": [
 11575            {
 11576              "lang": "Curl",
 11577              "source": "curl \"https://api.phrase.com/v2/authorizations\" \\\n  -u USERNAME \\\n  -X POST \\\n  -d '{\"note\":\"My Deploy Script\",\"scopes\":[\"read\",\"write\"],\"expires_at\":\"2015-03-30T09:52:53Z\"}' \\\n  -H 'Content-Type: application/json'"
 11578            },
 11579            {
 11580              "lang": "CLI v2",
 11581              "source": "phrase authorizations create \\\n--data '{\"note\": \"My Deploy Script\", \"scopes\": \"read,write\", \"expires_at\": \"2015-03-30T09:52:53Z\"}'"
 11582            }
 11583          ],
 11584          "requestBody": {
 11585            "required": true,
 11586            "content": {
 11587              "application/json": {
 11588                "schema": {
 11589                  "type": "object",
 11590                  "title": "authorization/create/parameters",
 11591                  "required": [
 11592                    "note"
 11593                  ],
 11594                  "properties": {
 11595                    "note": {
 11596                      "description": "A note to help you remember what the access is used for.",
 11597                      "type": "string",
 11598                      "example": "My Deploy Script"
 11599                    },
 11600                    "scopes": {
 11601                      "description": "A list of scopes that the access can be used for.",
 11602                      "type": "array",
 11603                      "items": {
 11604                        "type": "string"
 11605                      },
 11606                      "example": [
 11607                        "read",
 11608                        "write"
 11609                      ]
 11610                    },
 11611                    "expires_at": {
 11612                      "description": "Expiration date for the authorization token. Null means no expiration date (default).",
 11613                      "type": "string",
 11614                      "format": "date-time",
 11615                      "example": "2015-03-30T09:52:53Z"
 11616                    }
 11617                  }
 11618                }
 11619              }
 11620            }
 11621          },
 11622          "x-cli-version": "2.5"
 11623        }
 11624      },
 11625      "/authorizations/{id}": {
 11626        "get": {
 11627          "summary": "Get a single authorization",
 11628          "description": "Get details on a single authorization.",
 11629          "operationId": "authorization/show",
 11630          "tags": [
 11631            "Authorizations"
 11632          ],
 11633          "parameters": [
 11634            {
 11635              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11636            },
 11637            {
 11638              "$ref": "#/components/parameters/id"
 11639            }
 11640          ],
 11641          "responses": {
 11642            "200": {
 11643              "description": "OK",
 11644              "content": {
 11645                "application/json": {
 11646                  "schema": {
 11647                    "$ref": "#/components/schemas/authorization"
 11648                  }
 11649                }
 11650              },
 11651              "headers": {
 11652                "X-Rate-Limit-Limit": {
 11653                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11654                },
 11655                "X-Rate-Limit-Remaining": {
 11656                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 11657                },
 11658                "X-Rate-Limit-Reset": {
 11659                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 11660                }
 11661              }
 11662            },
 11663            "400": {
 11664              "$ref": "#/components/responses/400"
 11665            },
 11666            "404": {
 11667              "$ref": "#/components/responses/404"
 11668            },
 11669            "429": {
 11670              "$ref": "#/components/responses/429"
 11671            }
 11672          },
 11673          "x-code-samples": [
 11674            {
 11675              "lang": "Curl",
 11676              "source": "curl \"https://api.phrase.com/v2/authorizations/:id\" \\\n  -u USERNAME"
 11677            },
 11678            {
 11679              "lang": "CLI v2",
 11680              "source": "phrase authorizations show \\\n--id <id>"
 11681            }
 11682          ],
 11683          "x-cli-version": "2.5"
 11684        },
 11685        "patch": {
 11686          "summary": "Update an authorization",
 11687          "description": "Update an existing authorization.",
 11688          "operationId": "authorization/update",
 11689          "tags": [
 11690            "Authorizations"
 11691          ],
 11692          "parameters": [
 11693            {
 11694              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11695            },
 11696            {
 11697              "$ref": "#/components/parameters/id"
 11698            }
 11699          ],
 11700          "responses": {
 11701            "200": {
 11702              "description": "OK",
 11703              "content": {
 11704                "application/json": {
 11705                  "schema": {
 11706                    "$ref": "#/components/schemas/authorization"
 11707                  }
 11708                }
 11709              },
 11710              "headers": {
 11711                "X-Rate-Limit-Limit": {
 11712                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11713                },
 11714                "X-Rate-Limit-Remaining": {
 11715                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 11716                },
 11717                "X-Rate-Limit-Reset": {
 11718                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 11719                }
 11720              }
 11721            },
 11722            "400": {
 11723              "$ref": "#/components/responses/400"
 11724            },
 11725            "404": {
 11726              "$ref": "#/components/responses/404"
 11727            },
 11728            "429": {
 11729              "$ref": "#/components/responses/429"
 11730            }
 11731          },
 11732          "x-code-samples": [
 11733            {
 11734              "lang": "Curl",
 11735              "source": "curl \"https://api.phrase.com/v2/authorizations/:id\" \\\n  -u USERNAME \\\n  -X PATCH \\\n  -d '{\"note\":\"My Deploy Script\",\"scopes\":[\"read\",\"write\"],\"expires_at\":\"2015-03-30T09:52:53Z\"}' \\\n  -H 'Content-Type: application/json'"
 11736            },
 11737            {
 11738              "lang": "CLI v2",
 11739              "source": "phrase authorizations update \\\n--id <id> \\\n--data '{\"note\": \"My Deploy Script\", \"scopes\": \"read,write\", \"expires_at\": \"2015-03-30T09:52:53Z\"}'"
 11740            }
 11741          ],
 11742          "requestBody": {
 11743            "required": true,
 11744            "content": {
 11745              "application/json": {
 11746                "schema": {
 11747                  "type": "object",
 11748                  "title": "authorization/update/parameters",
 11749                  "properties": {
 11750                    "note": {
 11751                      "description": "A note to help you remember what the access is used for.",
 11752                      "type": "string",
 11753                      "example": "My Deploy Script"
 11754                    },
 11755                    "scopes": {
 11756                      "description": "A list of scopes that the access can be used for.",
 11757                      "type": "array",
 11758                      "items": {
 11759                        "type": "string"
 11760                      },
 11761                      "example": [
 11762                        "read",
 11763                        "write"
 11764                      ]
 11765                    },
 11766                    "expires_at": {
 11767                      "description": "Expiration date for the authorization token. Null means no expiration date (default).",
 11768                      "type": "string",
 11769                      "format": "date-time",
 11770                      "example": "2015-03-30T09:52:53Z"
 11771                    }
 11772                  }
 11773                }
 11774              }
 11775            }
 11776          },
 11777          "x-cli-version": "2.5"
 11778        },
 11779        "delete": {
 11780          "summary": "Delete an authorization",
 11781          "description": "Delete an existing authorization. API calls using that token will stop working.",
 11782          "operationId": "authorization/delete",
 11783          "tags": [
 11784            "Authorizations"
 11785          ],
 11786          "parameters": [
 11787            {
 11788              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11789            },
 11790            {
 11791              "$ref": "#/components/parameters/id"
 11792            }
 11793          ],
 11794          "responses": {
 11795            "204": {
 11796              "$ref": "#/components/responses/204"
 11797            },
 11798            "400": {
 11799              "$ref": "#/components/responses/400"
 11800            },
 11801            "404": {
 11802              "$ref": "#/components/responses/404"
 11803            },
 11804            "429": {
 11805              "$ref": "#/components/responses/429"
 11806            }
 11807          },
 11808          "x-code-samples": [
 11809            {
 11810              "lang": "Curl",
 11811              "source": "curl \"https://api.phrase.com/v2/authorizations/:id\" \\\n  -u USERNAME \\\n  -X DELETE"
 11812            },
 11813            {
 11814              "lang": "CLI v2",
 11815              "source": "phrase authorizations delete \\\n--id <id>"
 11816            }
 11817          ],
 11818          "x-cli-version": "2.5"
 11819        }
 11820      },
 11821      "/bitbucket_syncs": {
 11822        "get": {
 11823          "summary": "List Bitbucket syncs",
 11824          "description": "List all Bitbucket repositories for which synchronisation with Phrase Strings is activated.",
 11825          "operationId": "bitbucket_syncs/list",
 11826          "tags": [
 11827            "Bitbucket Sync"
 11828          ],
 11829          "parameters": [
 11830            {
 11831              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11832            },
 11833            {
 11834              "description": "Account ID to specify the actual account the project should be created in. Required if the requesting user is a member of multiple accounts.",
 11835              "example": "abcd1234",
 11836              "name": "account_id",
 11837              "in": "query",
 11838              "schema": {
 11839                "type": "string"
 11840              }
 11841            }
 11842          ],
 11843          "responses": {
 11844            "200": {
 11845              "description": "OK",
 11846              "content": {
 11847                "application/json": {
 11848                  "schema": {
 11849                    "type": "array",
 11850                    "items": {
 11851                      "$ref": "#/components/schemas/bitbucket_sync"
 11852                    }
 11853                  }
 11854                }
 11855              },
 11856              "headers": {
 11857                "X-Rate-Limit-Limit": {
 11858                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11859                },
 11860                "X-Rate-Limit-Remaining": {
 11861                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 11862                },
 11863                "X-Rate-Limit-Reset": {
 11864                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 11865                },
 11866                "Link": {
 11867                  "$ref": "#/components/headers/Link"
 11868                },
 11869                "Pagination": {
 11870                  "$ref": "#/components/headers/Pagination"
 11871                }
 11872              }
 11873            },
 11874            "400": {
 11875              "$ref": "#/components/responses/400"
 11876            },
 11877            "404": {
 11878              "$ref": "#/components/responses/404"
 11879            },
 11880            "429": {
 11881              "$ref": "#/components/responses/429"
 11882            }
 11883          },
 11884          "x-code-samples": [
 11885            {
 11886              "lang": "Curl",
 11887              "source": "curl \"https://api.phrase.com/v2/bitbucket_syncs?account_id=abcd1234\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 11888            },
 11889            {
 11890              "lang": "CLI v2",
 11891              "source": "phrase bitbucket_sync list \\\n--account_id abcd1234 \\\n--access_token <token>"
 11892            }
 11893          ],
 11894          "x-cli-version": "2.5"
 11895        }
 11896      },
 11897      "/bitbucket_syncs/{id}/export": {
 11898        "post": {
 11899          "summary": "Export from Phrase Strings to Bitbucket",
 11900          "description": "Export translations from Phrase Strings to Bitbucket according to the .phraseapp.yml file within the Bitbucket Repository. <br><br><i>Note: Export is done asynchronously and may take several seconds depending on the project size.</i>",
 11901          "operationId": "bitbucket_sync/export",
 11902          "tags": [
 11903            "Bitbucket Sync"
 11904          ],
 11905          "parameters": [
 11906            {
 11907              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11908            },
 11909            {
 11910              "$ref": "#/components/parameters/id"
 11911            }
 11912          ],
 11913          "responses": {
 11914            "200": {
 11915              "description": "OK",
 11916              "content": {
 11917                "application/json": {
 11918                  "schema": {
 11919                    "$ref": "#/components/schemas/bitbucket_sync_export_response"
 11920                  }
 11921                }
 11922              },
 11923              "headers": {
 11924                "X-Rate-Limit-Limit": {
 11925                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11926                },
 11927                "X-Rate-Limit-Remaining": {
 11928                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 11929                },
 11930                "X-Rate-Limit-Reset": {
 11931                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 11932                }
 11933              }
 11934            },
 11935            "400": {
 11936              "$ref": "#/components/responses/400"
 11937            },
 11938            "404": {
 11939              "$ref": "#/components/responses/404"
 11940            },
 11941            "429": {
 11942              "$ref": "#/components/responses/429"
 11943            }
 11944          },
 11945          "x-code-samples": [
 11946            {
 11947              "lang": "Curl",
 11948              "source": "curl \"https://api.phrase.com/v2/bitbucket_syncs/:id/export\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"account_id\":\"abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
 11949            },
 11950            {
 11951              "lang": "CLI v2",
 11952              "source": "phrase bitbucket_sync export \\\n--id <id> \\\n--data '{\"account_id\":\"abcd1234\"}' \\\n--access_token <token>"
 11953            }
 11954          ],
 11955          "requestBody": {
 11956            "required": true,
 11957            "content": {
 11958              "application/json": {
 11959                "schema": {
 11960                  "type": "object",
 11961                  "title": "bitbucket_sync/export/parameters",
 11962                  "properties": {
 11963                    "account_id": {
 11964                      "description": "Account ID to specify the actual account the project should be created in. Required if the requesting user is a member of multiple accounts.",
 11965                      "type": "string",
 11966                      "example": "abcd1234"
 11967                    }
 11968                  }
 11969                }
 11970              }
 11971            }
 11972          },
 11973          "x-cli-version": "2.5"
 11974        }
 11975      },
 11976      "/bitbucket_syncs/{id}/import": {
 11977        "post": {
 11978          "summary": "Import to Phrase Strings from Bitbucket",
 11979          "description": "Import translations from Bitbucket to Phrase Strings according to the .phraseapp.yml file within the Bitbucket repository. <br><br><i>Note: Import is done asynchronously and may take several seconds depending on the project size.</i>",
 11980          "operationId": "bitbucket_sync/import",
 11981          "tags": [
 11982            "Bitbucket Sync"
 11983          ],
 11984          "parameters": [
 11985            {
 11986              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 11987            },
 11988            {
 11989              "$ref": "#/components/parameters/id"
 11990            }
 11991          ],
 11992          "responses": {
 11993            "200": {
 11994              "description": "OK",
 11995              "headers": {
 11996                "X-Rate-Limit-Limit": {
 11997                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 11998                },
 11999                "X-Rate-Limit-Remaining": {
 12000                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 12001                },
 12002                "X-Rate-Limit-Reset": {
 12003                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 12004                }
 12005              }
 12006            },
 12007            "400": {
 12008              "$ref": "#/components/responses/400"
 12009            },
 12010            "404": {
 12011              "$ref": "#/components/responses/404"
 12012            },
 12013            "429": {
 12014              "$ref": "#/components/responses/429"
 12015            }
 12016          },
 12017          "x-code-samples": [
 12018            {
 12019              "lang": "Curl",
 12020              "source": "curl \"https://api.phrase.com/v2/bitbucket_syncs/:id/import\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"account_id\":\"abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
 12021            },
 12022            {
 12023              "lang": "CLI v2",
 12024              "source": "phrase bitbucket_sync import \\\n--id <id> \\\n--data '{\"account_id\":\"abcd1234\"}' \\\n--access_token <token>"
 12025            }
 12026          ],
 12027          "requestBody": {
 12028            "required": true,
 12029            "content": {
 12030              "application/json": {
 12031                "schema": {
 12032                  "type": "object",
 12033                  "title": "bitbucket_sync/import/parameters",
 12034                  "properties": {
 12035                    "account_id": {
 12036                      "description": "Account ID to specify the actual account the project should be created in. Required if the requesting user is a member of multiple accounts.",
 12037                      "type": "string",
 12038                      "example": "abcd1234"
 12039                    }
 12040                  }
 12041                }
 12042              }
 12043            }
 12044          },
 12045          "x-cli-version": "2.5"
 12046        }
 12047      },
 12048      "/projects/{project_id}/keys/{key_id}/comments": {
 12049        "get": {
 12050          "summary": "List comments",
 12051          "description": "List all comments for a key.",
 12052          "operationId": "comments/list",
 12053          "tags": [
 12054            "Comments"
 12055          ],
 12056          "parameters": [
 12057            {
 12058              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12059            },
 12060            {
 12061              "$ref": "#/components/parameters/project_id"
 12062            },
 12063            {
 12064              "$ref": "#/components/parameters/key_id"
 12065            },
 12066            {
 12067              "$ref": "#/components/parameters/page"
 12068            },
 12069            {
 12070              "$ref": "#/components/parameters/per_page"
 12071            },
 12072            {
 12073              "description": "specify the branch to use",
 12074              "example": "my-feature-branch",
 12075              "name": "branch",
 12076              "in": "query",
 12077              "schema": {
 12078                "type": "string"
 12079              }
 12080            },
 12081            {
 12082              "description": "Search query for comment messages",
 12083              "example": "Some comment content",
 12084              "name": "query",
 12085              "in": "query",
 12086              "schema": {
 12087                "type": "string"
 12088              }
 12089            },
 12090            {
 12091              "description": "Search comments by their assigned locales",
 12092              "example": [
 12093                "someId"
 12094              ],
 12095              "name": "locale_ids",
 12096              "in": "query",
 12097              "schema": {
 12098                "type": "array",
 12099                "items": {
 12100                  "type": "string"
 12101                }
 12102              }
 12103            },
 12104            {
 12105              "description": "Specify the filter for the comments",
 12106              "name": "filters",
 12107              "in": "query",
 12108              "schema": {
 12109                "type": "array",
 12110                "example": [
 12111                  "read",
 12112                  "unread"
 12113                ],
 12114                "items": {
 12115                  "type": "string"
 12116                }
 12117              }
 12118            },
 12119            {
 12120              "description": "Order direction. Can be one of: asc, desc.",
 12121              "name": "order",
 12122              "in": "query",
 12123              "example": "desc",
 12124              "schema": {
 12125                "type": "string"
 12126              }
 12127            }
 12128          ],
 12129          "responses": {
 12130            "200": {
 12131              "description": "OK",
 12132              "content": {
 12133                "application/json": {
 12134                  "schema": {
 12135                    "type": "array",
 12136                    "items": {
 12137                      "$ref": "#/components/schemas/comment"
 12138                    }
 12139                  }
 12140                }
 12141              },
 12142              "headers": {
 12143                "X-Rate-Limit-Limit": {
 12144                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 12145                },
 12146                "X-Rate-Limit-Remaining": {
 12147                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 12148                },
 12149                "X-Rate-Limit-Reset": {
 12150                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 12151                },
 12152                "Link": {
 12153                  "$ref": "#/components/headers/Link"
 12154                },
 12155                "Pagination": {
 12156                  "$ref": "#/components/headers/Pagination"
 12157                }
 12158              }
 12159            },
 12160            "400": {
 12161              "$ref": "#/components/responses/400"
 12162            },
 12163            "404": {
 12164              "$ref": "#/components/responses/404"
 12165            },
 12166            "429": {
 12167              "$ref": "#/components/responses/429"
 12168            }
 12169          },
 12170          "x-code-samples": [
 12171            {
 12172              "lang": "Curl",
 12173              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments?branch=my-feature-branch&filters=unread&query=something&locale_ids=someId&order=desc\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X GET \\\n  -H 'Content-Type: application/json'"
 12174            },
 12175            {
 12176              "lang": "CLI v2",
 12177              "source": "phrase comments list \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--branch \"my-feature-branch\" \\\n--filters unread \\\n--order desc \\\n--query \"Some comment content\" \\\n--locale_ids someId \\\n--access_token <token>"
 12178            }
 12179          ],
 12180          "requestBody": {
 12181            "required": true,
 12182            "content": {
 12183              "application/json": {
 12184                "schema": {
 12185                  "type": "object",
 12186                  "title": "comments/list/parameters",
 12187                  "properties": {
 12188                    "branch": {
 12189                      "description": "Specify the branch to use",
 12190                      "type": "string",
 12191                      "example": "my-feature-branch"
 12192                    },
 12193                    "query": {
 12194                      "description": "Search query for comment messages",
 12195                      "type": "string",
 12196                      "example": "Some comment content"
 12197                    },
 12198                    "locale_ids": {
 12199                      "description": "Search comments by their assigned locales",
 12200                      "type": "array",
 12201                      "items": {
 12202                        "type": "string"
 12203                      },
 12204                      "example": [
 12205                        "someId",
 12206                        "otherId"
 12207                      ]
 12208                    },
 12209                    "filters": {
 12210                      "description": "Specify filters to find comments by",
 12211                      "type": "array",
 12212                      "items": {
 12213                        "type": "string"
 12214                      },
 12215                      "example": [
 12216                        "read",
 12217                        "unread"
 12218                      ]
 12219                    },
 12220                    "order": {
 12221                      "description": "Specify ordering of comments",
 12222                      "type": "string",
 12223                      "example": "desc"
 12224                    }
 12225                  }
 12226                }
 12227              }
 12228            }
 12229          },
 12230          "x-cli-version": "2.5"
 12231        },
 12232        "post": {
 12233          "summary": "Create a comment",
 12234          "description": "Create a new comment for a key.",
 12235          "operationId": "comment/create",
 12236          "tags": [
 12237            "Comments"
 12238          ],
 12239          "parameters": [
 12240            {
 12241              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12242            },
 12243            {
 12244              "$ref": "#/components/parameters/project_id"
 12245            },
 12246            {
 12247              "$ref": "#/components/parameters/key_id"
 12248            },
 12249            {
 12250              "description": "specify the message for the comment",
 12251              "example": "some message...",
 12252              "name": "message",
 12253              "in": "query",
 12254              "schema": {
 12255                "type": "string"
 12256              }
 12257            },
 12258            {
 12259              "description": "specify the locales for the comment",
 12260              "example": "someId",
 12261              "name": "locale_ids",
 12262              "in": "query",
 12263              "schema": {
 12264                "type": "array",
 12265                "items": {
 12266                  "type": "string"
 12267                }
 12268              }
 12269            }
 12270          ],
 12271          "responses": {
 12272            "201": {
 12273              "description": "Created",
 12274              "content": {
 12275                "application/json": {
 12276                  "schema": {
 12277                    "$ref": "#/components/schemas/comment"
 12278                  }
 12279                }
 12280              },
 12281              "headers": {
 12282                "X-Rate-Limit-Limit": {
 12283                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 12284                },
 12285                "X-Rate-Limit-Remaining": {
 12286                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 12287                },
 12288                "X-Rate-Limit-Reset": {
 12289                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 12290                }
 12291              }
 12292            },
 12293            "400": {
 12294              "$ref": "#/components/responses/400"
 12295            },
 12296            "404": {
 12297              "$ref": "#/components/responses/404"
 12298            },
 12299            "429": {
 12300              "$ref": "#/components/responses/429"
 12301            }
 12302          },
 12303          "x-code-samples": [
 12304            {
 12305              "lang": "Curl",
 12306              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\", \"message\":\"Some message...\", \"locale_ids\": [\"someId\"]}' \\\n  -H 'Content-Type: application/json'"
 12307            },
 12308            {
 12309              "lang": "CLI v2",
 12310              "source": "phrase comments create \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"message\": \"Some message...\", \"locale_ids\": [\"someId\"]}' \\\n--access_token <token>"
 12311            }
 12312          ],
 12313          "requestBody": {
 12314            "required": true,
 12315            "content": {
 12316              "application/json": {
 12317                "schema": {
 12318                  "type": "object",
 12319                  "title": "comment/create/parameters",
 12320                  "properties": {
 12321                    "branch": {
 12322                      "description": "specify the branch to use",
 12323                      "type": "string",
 12324                      "example": "my-feature-branch"
 12325                    },
 12326                    "message": {
 12327                      "description": "Comment message",
 12328                      "type": "string",
 12329                      "example": "Some message..."
 12330                    }
 12331                  }
 12332                }
 12333              }
 12334            }
 12335          },
 12336          "x-cli-version": "2.5"
 12337        }
 12338      },
 12339      "/projects/{project_id}/keys/{key_id}/comments/{id}": {
 12340        "get": {
 12341          "summary": "Get a single comment",
 12342          "description": "Get details on a single comment.",
 12343          "operationId": "comment/show",
 12344          "tags": [
 12345            "Comments"
 12346          ],
 12347          "parameters": [
 12348            {
 12349              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12350            },
 12351            {
 12352              "$ref": "#/components/parameters/project_id"
 12353            },
 12354            {
 12355              "$ref": "#/components/parameters/key_id"
 12356            },
 12357            {
 12358              "$ref": "#/components/parameters/id"
 12359            },
 12360            {
 12361              "description": "specify the branch to use",
 12362              "example": "my-feature-branch",
 12363              "name": "branch",
 12364              "in": "query",
 12365              "schema": {
 12366                "type": "string"
 12367              }
 12368            }
 12369          ],
 12370          "responses": {
 12371            "200": {
 12372              "description": "OK",
 12373              "content": {
 12374                "application/json": {
 12375                  "schema": {
 12376                    "$ref": "#/components/schemas/comment"
 12377                  }
 12378                }
 12379              },
 12380              "headers": {
 12381                "X-Rate-Limit-Limit": {
 12382                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 12383                },
 12384                "X-Rate-Limit-Remaining": {
 12385                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 12386                },
 12387                "X-Rate-Limit-Reset": {
 12388                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 12389                }
 12390              }
 12391            },
 12392            "400": {
 12393              "$ref": "#/components/responses/400"
 12394            },
 12395            "404": {
 12396              "$ref": "#/components/responses/404"
 12397            },
 12398            "429": {
 12399              "$ref": "#/components/responses/429"
 12400            }
 12401          },
 12402          "x-code-samples": [
 12403            {
 12404              "lang": "Curl",
 12405              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 12406            },
 12407            {
 12408              "lang": "CLI v2",
 12409              "source": "phrase comments show \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 12410            }
 12411          ],
 12412          "x-cli-version": "2.5"
 12413        },
 12414        "patch": {
 12415          "summary": "Update a comment",
 12416          "description": "Update an existing comment.",
 12417          "operationId": "comment/update",
 12418          "tags": [
 12419            "Comments"
 12420          ],
 12421          "parameters": [
 12422            {
 12423              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12424            },
 12425            {
 12426              "$ref": "#/components/parameters/project_id"
 12427            },
 12428            {
 12429              "$ref": "#/components/parameters/key_id"
 12430            },
 12431            {
 12432              "$ref": "#/components/parameters/id"
 12433            }
 12434          ],
 12435          "responses": {
 12436            "200": {
 12437              "description": "OK",
 12438              "content": {
 12439                "application/json": {
 12440                  "schema": {
 12441                    "$ref": "#/components/schemas/comment"
 12442                  }
 12443                }
 12444              },
 12445              "headers": {
 12446                "X-Rate-Limit-Limit": {
 12447                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 12448                },
 12449                "X-Rate-Limit-Remaining": {
 12450                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 12451                },
 12452                "X-Rate-Limit-Reset": {
 12453                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 12454                }
 12455              }
 12456            },
 12457            "400": {
 12458              "$ref": "#/components/responses/400"
 12459            },
 12460            "404": {
 12461              "$ref": "#/components/responses/404"
 12462            },
 12463            "429": {
 12464              "$ref": "#/components/responses/429"
 12465            }
 12466          },
 12467          "x-code-samples": [
 12468            {
 12469              "lang": "Curl",
 12470              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"message\":\"Some message...\"}' \\\n  -H 'Content-Type: application/json'"
 12471            },
 12472            {
 12473              "lang": "CLI v2",
 12474              "source": "phrase comments update \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\", \"message\": \"Some message...\"}' \\\n--access_token <token>"
 12475            }
 12476          ],
 12477          "requestBody": {
 12478            "required": true,
 12479            "content": {
 12480              "application/json": {
 12481                "schema": {
 12482                  "type": "object",
 12483                  "title": "comment/update/parameters",
 12484                  "properties": {
 12485                    "branch": {
 12486                      "description": "specify the branch to use",
 12487                      "type": "string",
 12488                      "example": "my-feature-branch"
 12489                    },
 12490                    "message": {
 12491                      "description": "Comment message",
 12492                      "type": "string",
 12493                      "example": "Some message..."
 12494                    }
 12495                  }
 12496                }
 12497              }
 12498            }
 12499          },
 12500          "x-cli-version": "2.5"
 12501        },
 12502        "delete": {
 12503          "summary": "Delete a comment",
 12504          "description": "Delete an existing comment.",
 12505          "operationId": "comment/delete",
 12506          "tags": [
 12507            "Comments"
 12508          ],
 12509          "parameters": [
 12510            {
 12511              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12512            },
 12513            {
 12514              "$ref": "#/components/parameters/project_id"
 12515            },
 12516            {
 12517              "$ref": "#/components/parameters/key_id"
 12518            },
 12519            {
 12520              "$ref": "#/components/parameters/id"
 12521            },
 12522            {
 12523              "description": "specify the branch to use",
 12524              "example": "my-feature-branch",
 12525              "name": "branch",
 12526              "in": "query",
 12527              "schema": {
 12528                "type": "string"
 12529              }
 12530            }
 12531          ],
 12532          "responses": {
 12533            "204": {
 12534              "$ref": "#/components/responses/204"
 12535            },
 12536            "400": {
 12537              "$ref": "#/components/responses/400"
 12538            },
 12539            "404": {
 12540              "$ref": "#/components/responses/404"
 12541            },
 12542            "429": {
 12543              "$ref": "#/components/responses/429"
 12544            }
 12545          },
 12546          "x-code-samples": [
 12547            {
 12548              "lang": "Curl",
 12549              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 12550            },
 12551            {
 12552              "lang": "CLI v2",
 12553              "source": "phrase comments delete \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 12554            }
 12555          ],
 12556          "x-cli-version": "2.5"
 12557        }
 12558      },
 12559      "/projects/{project_id}/keys/{key_id}/comments/{id}/read": {
 12560        "patch": {
 12561          "summary": "Mark a comment as read",
 12562          "description": "Mark a comment as read.",
 12563          "operationId": "comment/mark/read",
 12564          "tags": [
 12565            "Comments"
 12566          ],
 12567          "parameters": [
 12568            {
 12569              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12570            },
 12571            {
 12572              "$ref": "#/components/parameters/project_id"
 12573            },
 12574            {
 12575              "$ref": "#/components/parameters/key_id"
 12576            },
 12577            {
 12578              "$ref": "#/components/parameters/id"
 12579            }
 12580          ],
 12581          "responses": {
 12582            "204": {
 12583              "$ref": "#/components/responses/204"
 12584            },
 12585            "400": {
 12586              "$ref": "#/components/responses/400"
 12587            },
 12588            "404": {
 12589              "$ref": "#/components/responses/404"
 12590            },
 12591            "429": {
 12592              "$ref": "#/components/responses/429"
 12593            }
 12594          },
 12595          "x-code-samples": [
 12596            {
 12597              "lang": "Curl",
 12598              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:id/read\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 12599            },
 12600            {
 12601              "lang": "CLI v2",
 12602              "source": "phrase comments mark \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 12603            }
 12604          ],
 12605          "requestBody": {
 12606            "required": true,
 12607            "content": {
 12608              "application/json": {
 12609                "schema": {
 12610                  "type": "object",
 12611                  "title": "comment/mark/read/parameters",
 12612                  "properties": {
 12613                    "branch": {
 12614                      "description": "specify the branch to use",
 12615                      "type": "string",
 12616                      "example": "my-feature-branch"
 12617                    }
 12618                  }
 12619                }
 12620              }
 12621            }
 12622          },
 12623          "x-cli-version": "2.5"
 12624        },
 12625        "delete": {
 12626          "summary": "Mark a comment as unread",
 12627          "description": "Mark a comment as unread.",
 12628          "operationId": "comment/mark/unread",
 12629          "tags": [
 12630            "Comments"
 12631          ],
 12632          "parameters": [
 12633            {
 12634              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12635            },
 12636            {
 12637              "$ref": "#/components/parameters/project_id"
 12638            },
 12639            {
 12640              "$ref": "#/components/parameters/key_id"
 12641            },
 12642            {
 12643              "$ref": "#/components/parameters/id"
 12644            },
 12645            {
 12646              "description": "specify the branch to use",
 12647              "example": "my-feature-branch",
 12648              "name": "branch",
 12649              "in": "query",
 12650              "schema": {
 12651                "type": "string"
 12652              }
 12653            }
 12654          ],
 12655          "responses": {
 12656            "204": {
 12657              "$ref": "#/components/responses/204"
 12658            },
 12659            "400": {
 12660              "$ref": "#/components/responses/400"
 12661            },
 12662            "404": {
 12663              "$ref": "#/components/responses/404"
 12664            },
 12665            "429": {
 12666              "$ref": "#/components/responses/429"
 12667            }
 12668          },
 12669          "x-code-samples": [
 12670            {
 12671              "lang": "Curl",
 12672              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:id/read\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 12673            },
 12674            {
 12675              "lang": "CLI v2",
 12676              "source": "phrase comments mark \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 12677            }
 12678          ],
 12679          "x-cli-version": "2.5"
 12680        },
 12681        "get": {
 12682          "summary": "Check if comment is read",
 12683          "description": "Check if comment was marked as read. Returns 204 if read, 404 if unread.",
 12684          "operationId": "comment/mark/check",
 12685          "tags": [
 12686            "Comments"
 12687          ],
 12688          "parameters": [
 12689            {
 12690              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12691            },
 12692            {
 12693              "$ref": "#/components/parameters/project_id"
 12694            },
 12695            {
 12696              "$ref": "#/components/parameters/key_id"
 12697            },
 12698            {
 12699              "$ref": "#/components/parameters/id"
 12700            },
 12701            {
 12702              "description": "specify the branch to use",
 12703              "example": "my-feature-branch",
 12704              "name": "branch",
 12705              "in": "query",
 12706              "schema": {
 12707                "type": "string"
 12708              }
 12709            }
 12710          ],
 12711          "responses": {
 12712            "204": {
 12713              "$ref": "#/components/responses/204"
 12714            },
 12715            "400": {
 12716              "$ref": "#/components/responses/400"
 12717            },
 12718            "404": {
 12719              "$ref": "#/components/responses/404"
 12720            },
 12721            "429": {
 12722              "$ref": "#/components/responses/429"
 12723            }
 12724          },
 12725          "x-code-samples": [
 12726            {
 12727              "lang": "Curl",
 12728              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:id/read?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 12729            },
 12730            {
 12731              "lang": "CLI v2",
 12732              "source": "phrase comments mark \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 12733            }
 12734          ],
 12735          "x-cli-version": "2.5"
 12736        }
 12737      },
 12738      "/projects/{project_id}/keys/{key_id}/comments/{comment_id}/reactions": {
 12739        "get": {
 12740          "summary": "List reactions",
 12741          "description": "List all reactions for a comment.",
 12742          "operationId": "reactions/list",
 12743          "tags": [
 12744            "Comment Reactions"
 12745          ],
 12746          "parameters": [
 12747            {
 12748              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12749            },
 12750            {
 12751              "$ref": "#/components/parameters/project_id"
 12752            },
 12753            {
 12754              "$ref": "#/components/parameters/key_id"
 12755            },
 12756            {
 12757              "$ref": "#/components/parameters/comment_id"
 12758            },
 12759            {
 12760              "$ref": "#/components/parameters/page"
 12761            },
 12762            {
 12763              "$ref": "#/components/parameters/per_page"
 12764            },
 12765            {
 12766              "description": "specify the branch to use",
 12767              "example": "my-feature-branch",
 12768              "name": "branch",
 12769              "in": "query",
 12770              "schema": {
 12771                "type": "string"
 12772              }
 12773            }
 12774          ],
 12775          "responses": {
 12776            "200": {
 12777              "description": "OK",
 12778              "content": {
 12779                "application/json": {
 12780                  "schema": {
 12781                    "type": "array",
 12782                    "items": {
 12783                      "$ref": "#/components/schemas/comment_reaction"
 12784                    }
 12785                  }
 12786                }
 12787              },
 12788              "headers": {
 12789                "X-Rate-Limit-Limit": {
 12790                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 12791                },
 12792                "X-Rate-Limit-Remaining": {
 12793                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 12794                },
 12795                "X-Rate-Limit-Reset": {
 12796                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 12797                },
 12798                "Link": {
 12799                  "$ref": "#/components/headers/Link"
 12800                },
 12801                "Pagination": {
 12802                  "$ref": "#/components/headers/Pagination"
 12803                }
 12804              }
 12805            },
 12806            "400": {
 12807              "$ref": "#/components/responses/400"
 12808            },
 12809            "403": {
 12810              "$ref": "#/components/responses/403"
 12811            },
 12812            "404": {
 12813              "$ref": "#/components/responses/404"
 12814            },
 12815            "429": {
 12816              "$ref": "#/components/responses/429"
 12817            }
 12818          },
 12819          "x-code-samples": [
 12820            {
 12821              "lang": "Curl",
 12822              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:comment_id/reactions\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X GET \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 12823            },
 12824            {
 12825              "lang": "CLI v2",
 12826              "source": "phrase reactions list \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--comment_id <comment_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 12827            }
 12828          ],
 12829          "x-cli-version": "2.9"
 12830        },
 12831        "post": {
 12832          "summary": "Create a reaction",
 12833          "description": "Create a new reaction for a comment.",
 12834          "operationId": "reaction/create",
 12835          "tags": [
 12836            "Comment Reactions"
 12837          ],
 12838          "parameters": [
 12839            {
 12840              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12841            },
 12842            {
 12843              "$ref": "#/components/parameters/project_id"
 12844            },
 12845            {
 12846              "$ref": "#/components/parameters/key_id"
 12847            },
 12848            {
 12849              "$ref": "#/components/parameters/comment_id"
 12850            },
 12851            {
 12852              "description": "specify the branch to use",
 12853              "example": "my-feature-branch",
 12854              "name": "branch",
 12855              "in": "query",
 12856              "schema": {
 12857                "type": "string"
 12858              }
 12859            },
 12860            {
 12861              "description": "specify the emoji for the reaction",
 12862              "example": "👍",
 12863              "name": "emoji",
 12864              "in": "query",
 12865              "schema": {
 12866                "type": "string"
 12867              }
 12868            }
 12869          ],
 12870          "responses": {
 12871            "201": {
 12872              "description": "Created",
 12873              "content": {
 12874                "application/json": {
 12875                  "schema": {
 12876                    "$ref": "#/components/schemas/comment_reaction"
 12877                  }
 12878                }
 12879              },
 12880              "headers": {
 12881                "X-Rate-Limit-Limit": {
 12882                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 12883                },
 12884                "X-Rate-Limit-Remaining": {
 12885                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 12886                },
 12887                "X-Rate-Limit-Reset": {
 12888                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 12889                }
 12890              }
 12891            },
 12892            "400": {
 12893              "$ref": "#/components/responses/400"
 12894            },
 12895            "403": {
 12896              "$ref": "#/components/responses/403"
 12897            },
 12898            "404": {
 12899              "$ref": "#/components/responses/404"
 12900            },
 12901            "429": {
 12902              "$ref": "#/components/responses/429"
 12903            }
 12904          },
 12905          "x-code-samples": [
 12906            {
 12907              "lang": "Curl",
 12908              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:comment_id/reactions/\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\", \"emoji\": \"👍\"}' \\\n  -H 'Content-Type: application/json'"
 12909            },
 12910            {
 12911              "lang": "CLI v2",
 12912              "source": "phrase reactions create \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--comment_id <comment_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"emoji\": \"👍\"]}' \\\n--access_token <token>"
 12913            }
 12914          ],
 12915          "x-cli-version": "2.9"
 12916        }
 12917      },
 12918      "/projects/{project_id}/keys/{key_id}/comments/{comment_id}/reactions/{id}": {
 12919        "get": {
 12920          "summary": "Get a single reaction",
 12921          "description": "Get details on a single reaction.",
 12922          "operationId": "reaction/show",
 12923          "tags": [
 12924            "Comment Reactions"
 12925          ],
 12926          "parameters": [
 12927            {
 12928              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 12929            },
 12930            {
 12931              "$ref": "#/components/parameters/project_id"
 12932            },
 12933            {
 12934              "$ref": "#/components/parameters/key_id"
 12935            },
 12936            {
 12937              "$ref": "#/components/parameters/comment_id"
 12938            },
 12939            {
 12940              "$ref": "#/components/parameters/id"
 12941            },
 12942            {
 12943              "description": "specify the branch to use",
 12944              "example": "my-feature-branch",
 12945              "name": "branch",
 12946              "in": "query",
 12947              "schema": {
 12948                "type": "string"
 12949              }
 12950            }
 12951          ],
 12952          "responses": {
 12953            "200": {
 12954              "description": "OK",
 12955              "content": {
 12956                "application/json": {
 12957                  "schema": {
 12958                    "$ref": "#/components/schemas/comment_reaction"
 12959                  }
 12960                }
 12961              },
 12962              "headers": {
 12963                "X-Rate-Limit-Limit": {
 12964                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 12965                },
 12966                "X-Rate-Limit-Remaining": {
 12967                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 12968                },
 12969                "X-Rate-Limit-Reset": {
 12970                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 12971                }
 12972              }
 12973            },
 12974            "400": {
 12975              "$ref": "#/components/responses/400"
 12976            },
 12977            "403": {
 12978              "$ref": "#/components/responses/403"
 12979            },
 12980            "404": {
 12981              "$ref": "#/components/responses/404"
 12982            },
 12983            "429": {
 12984              "$ref": "#/components/responses/429"
 12985            }
 12986          },
 12987          "x-code-samples": [
 12988            {
 12989              "lang": "Curl",
 12990              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:comment_id/reactions/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X GET \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 12991            },
 12992            {
 12993              "lang": "CLI v2",
 12994              "source": "phrase reactions show \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--comment_id <comment_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 12995            }
 12996          ],
 12997          "x-cli-version": "2.9"
 12998        },
 12999        "delete": {
 13000          "summary": "Delete a reaction",
 13001          "description": "Delete an existing reaction.",
 13002          "operationId": "reaction/delete",
 13003          "tags": [
 13004            "Comment Reactions"
 13005          ],
 13006          "parameters": [
 13007            {
 13008              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13009            },
 13010            {
 13011              "$ref": "#/components/parameters/project_id"
 13012            },
 13013            {
 13014              "$ref": "#/components/parameters/key_id"
 13015            },
 13016            {
 13017              "$ref": "#/components/parameters/comment_id"
 13018            },
 13019            {
 13020              "$ref": "#/components/parameters/id"
 13021            },
 13022            {
 13023              "description": "specify the branch to use",
 13024              "example": "my-feature-branch",
 13025              "name": "branch",
 13026              "in": "query",
 13027              "schema": {
 13028                "type": "string"
 13029              }
 13030            }
 13031          ],
 13032          "responses": {
 13033            "204": {
 13034              "$ref": "#/components/responses/204"
 13035            },
 13036            "400": {
 13037              "$ref": "#/components/responses/400"
 13038            },
 13039            "403": {
 13040              "$ref": "#/components/responses/403"
 13041            },
 13042            "404": {
 13043              "$ref": "#/components/responses/404"
 13044            },
 13045            "429": {
 13046              "$ref": "#/components/responses/429"
 13047            }
 13048          },
 13049          "x-code-samples": [
 13050            {
 13051              "lang": "Curl",
 13052              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:comment_id/reactions/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 13053            },
 13054            {
 13055              "lang": "CLI v2",
 13056              "source": "phrase reactions delete \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--comment_id <comment_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 13057            }
 13058          ],
 13059          "x-cli-version": "2.9"
 13060        }
 13061      },
 13062      "/projects/{project_id}/keys/{key_id}/comments/{comment_id}/replies": {
 13063        "get": {
 13064          "summary": "List replies",
 13065          "description": "List all replies for a comment.",
 13066          "operationId": "replies/list",
 13067          "tags": [
 13068            "Comment Replies"
 13069          ],
 13070          "parameters": [
 13071            {
 13072              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13073            },
 13074            {
 13075              "$ref": "#/components/parameters/project_id"
 13076            },
 13077            {
 13078              "$ref": "#/components/parameters/key_id"
 13079            },
 13080            {
 13081              "$ref": "#/components/parameters/comment_id"
 13082            },
 13083            {
 13084              "$ref": "#/components/parameters/page"
 13085            },
 13086            {
 13087              "$ref": "#/components/parameters/per_page"
 13088            },
 13089            {
 13090              "description": "specify the branch to use",
 13091              "example": "my-feature-branch",
 13092              "name": "branch",
 13093              "in": "query",
 13094              "schema": {
 13095                "type": "string"
 13096              }
 13097            },
 13098            {
 13099              "description": "Search query for comment messages",
 13100              "example": "Some comment content",
 13101              "name": "query",
 13102              "in": "query",
 13103              "schema": {
 13104                "type": "string"
 13105              }
 13106            },
 13107            {
 13108              "description": "Specify the filter for the comments",
 13109              "name": "filters",
 13110              "in": "query",
 13111              "schema": {
 13112                "type": "array",
 13113                "example": [
 13114                  "read",
 13115                  "unread"
 13116                ],
 13117                "items": {
 13118                  "type": "string"
 13119                }
 13120              }
 13121            },
 13122            {
 13123              "description": "Order direction. Can be one of: asc, desc.",
 13124              "name": "order",
 13125              "in": "query",
 13126              "example": "desc",
 13127              "schema": {
 13128                "type": "string"
 13129              }
 13130            }
 13131          ],
 13132          "responses": {
 13133            "200": {
 13134              "description": "OK",
 13135              "content": {
 13136                "application/json": {
 13137                  "schema": {
 13138                    "type": "array",
 13139                    "items": {
 13140                      "$ref": "#/components/schemas/comment"
 13141                    }
 13142                  }
 13143                }
 13144              },
 13145              "headers": {
 13146                "X-Rate-Limit-Limit": {
 13147                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 13148                },
 13149                "X-Rate-Limit-Remaining": {
 13150                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 13151                },
 13152                "X-Rate-Limit-Reset": {
 13153                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 13154                },
 13155                "Link": {
 13156                  "$ref": "#/components/headers/Link"
 13157                },
 13158                "Pagination": {
 13159                  "$ref": "#/components/headers/Pagination"
 13160                }
 13161              }
 13162            },
 13163            "400": {
 13164              "$ref": "#/components/responses/400"
 13165            },
 13166            "403": {
 13167              "$ref": "#/components/responses/403"
 13168            },
 13169            "404": {
 13170              "$ref": "#/components/responses/404"
 13171            },
 13172            "429": {
 13173              "$ref": "#/components/responses/429"
 13174            }
 13175          },
 13176          "x-code-samples": [
 13177            {
 13178              "lang": "Curl",
 13179              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:comment_id/replies?branch=my-feature-branch&filters=unread&query=something&order=desc\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X GET \\\n  -H 'Content-Type: application/json'"
 13180            },
 13181            {
 13182              "lang": "CLI v2",
 13183              "source": "phrase replies list \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--comment_id <comment_id> \\\n--branch \"my-feature-branch\" \\\n--filters unread \\\n--order desc \\\n--query \"Some comment content\" \\\n--access_token <token>"
 13184            }
 13185          ],
 13186          "requestBody": {
 13187            "required": true,
 13188            "content": {
 13189              "application/json": {
 13190                "schema": {
 13191                  "type": "object",
 13192                  "title": "replies/list/parameters",
 13193                  "properties": {
 13194                    "branch": {
 13195                      "description": "Specify the branch to use",
 13196                      "type": "string",
 13197                      "example": "my-feature-branch"
 13198                    },
 13199                    "query": {
 13200                      "description": "Search query for comment messages",
 13201                      "type": "string",
 13202                      "example": "Some comment content"
 13203                    },
 13204                    "filters": {
 13205                      "description": "Specify filters to find comments by",
 13206                      "type": "array",
 13207                      "items": {
 13208                        "type": "string"
 13209                      },
 13210                      "example": [
 13211                        "read",
 13212                        "unread"
 13213                      ]
 13214                    },
 13215                    "order": {
 13216                      "description": "Specify ordering of comments",
 13217                      "type": "string",
 13218                      "example": "desc"
 13219                    }
 13220                  }
 13221                }
 13222              }
 13223            }
 13224          },
 13225          "x-cli-version": "2.10"
 13226        },
 13227        "post": {
 13228          "summary": "Create a reply",
 13229          "description": "Create a new reply for a comment.",
 13230          "operationId": "reply/create",
 13231          "tags": [
 13232            "Comment Replies"
 13233          ],
 13234          "parameters": [
 13235            {
 13236              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13237            },
 13238            {
 13239              "$ref": "#/components/parameters/project_id"
 13240            },
 13241            {
 13242              "$ref": "#/components/parameters/key_id"
 13243            },
 13244            {
 13245              "$ref": "#/components/parameters/comment_id"
 13246            },
 13247            {
 13248              "description": "specify the branch to use",
 13249              "example": "my-feature-branch",
 13250              "name": "branch",
 13251              "in": "query",
 13252              "schema": {
 13253                "type": "string"
 13254              }
 13255            },
 13256            {
 13257              "description": "specify the message for the comment",
 13258              "example": "some message...",
 13259              "name": "message",
 13260              "in": "query",
 13261              "schema": {
 13262                "type": "string"
 13263              }
 13264            }
 13265          ],
 13266          "responses": {
 13267            "201": {
 13268              "description": "Created",
 13269              "content": {
 13270                "application/json": {
 13271                  "schema": {
 13272                    "$ref": "#/components/schemas/comment"
 13273                  }
 13274                }
 13275              },
 13276              "headers": {
 13277                "X-Rate-Limit-Limit": {
 13278                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 13279                },
 13280                "X-Rate-Limit-Remaining": {
 13281                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 13282                },
 13283                "X-Rate-Limit-Reset": {
 13284                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 13285                }
 13286              }
 13287            },
 13288            "400": {
 13289              "$ref": "#/components/responses/400"
 13290            },
 13291            "403": {
 13292              "$ref": "#/components/responses/403"
 13293            },
 13294            "404": {
 13295              "$ref": "#/components/responses/404"
 13296            },
 13297            "429": {
 13298              "$ref": "#/components/responses/429"
 13299            }
 13300          },
 13301          "x-code-samples": [
 13302            {
 13303              "lang": "Curl",
 13304              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:comment_id/replies/\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\", \"message\":\"Some message...\"}' \\\n  -H 'Content-Type: application/json'"
 13305            },
 13306            {
 13307              "lang": "CLI v2",
 13308              "source": "phrase replies create \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--comment_id <comment_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"message\": \"Some message...\"]}' \\\n--access_token <token>"
 13309            }
 13310          ],
 13311          "x-cli-version": "2.10"
 13312        }
 13313      },
 13314      "/projects/{project_id}/keys/{key_id}/comments/{comment_id}/replies/{id}": {
 13315        "get": {
 13316          "summary": "Get a single reply",
 13317          "description": "Get details on a single reply.",
 13318          "operationId": "reply/show",
 13319          "tags": [
 13320            "Comment Replies"
 13321          ],
 13322          "parameters": [
 13323            {
 13324              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13325            },
 13326            {
 13327              "$ref": "#/components/parameters/project_id"
 13328            },
 13329            {
 13330              "$ref": "#/components/parameters/key_id"
 13331            },
 13332            {
 13333              "$ref": "#/components/parameters/comment_id"
 13334            },
 13335            {
 13336              "$ref": "#/components/parameters/id"
 13337            },
 13338            {
 13339              "description": "specify the branch to use",
 13340              "example": "my-feature-branch",
 13341              "name": "branch",
 13342              "in": "query",
 13343              "schema": {
 13344                "type": "string"
 13345              }
 13346            }
 13347          ],
 13348          "responses": {
 13349            "200": {
 13350              "description": "OK",
 13351              "content": {
 13352                "application/json": {
 13353                  "schema": {
 13354                    "$ref": "#/components/schemas/comment"
 13355                  }
 13356                }
 13357              },
 13358              "headers": {
 13359                "X-Rate-Limit-Limit": {
 13360                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 13361                },
 13362                "X-Rate-Limit-Remaining": {
 13363                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 13364                },
 13365                "X-Rate-Limit-Reset": {
 13366                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 13367                }
 13368              }
 13369            },
 13370            "400": {
 13371              "$ref": "#/components/responses/400"
 13372            },
 13373            "403": {
 13374              "$ref": "#/components/responses/403"
 13375            },
 13376            "404": {
 13377              "$ref": "#/components/responses/404"
 13378            },
 13379            "429": {
 13380              "$ref": "#/components/responses/429"
 13381            }
 13382          },
 13383          "x-code-samples": [
 13384            {
 13385              "lang": "Curl",
 13386              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:comment_id/replies/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X GET \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 13387            },
 13388            {
 13389              "lang": "CLI v2",
 13390              "source": "phrase replies show \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--comment_id <comment_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"]}' \\\n--access_token <token>"
 13391            }
 13392          ],
 13393          "x-cli-version": "2.10"
 13394        },
 13395        "delete": {
 13396          "summary": "Delete a reply",
 13397          "description": "Delete an existing reply.",
 13398          "operationId": "reply/delete",
 13399          "tags": [
 13400            "Comment Replies"
 13401          ],
 13402          "parameters": [
 13403            {
 13404              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13405            },
 13406            {
 13407              "$ref": "#/components/parameters/project_id"
 13408            },
 13409            {
 13410              "$ref": "#/components/parameters/key_id"
 13411            },
 13412            {
 13413              "$ref": "#/components/parameters/comment_id"
 13414            },
 13415            {
 13416              "$ref": "#/components/parameters/id"
 13417            },
 13418            {
 13419              "description": "specify the branch to use",
 13420              "example": "my-feature-branch",
 13421              "name": "branch",
 13422              "in": "query",
 13423              "schema": {
 13424                "type": "string"
 13425              }
 13426            }
 13427          ],
 13428          "responses": {
 13429            "204": {
 13430              "$ref": "#/components/responses/204"
 13431            },
 13432            "400": {
 13433              "$ref": "#/components/responses/400"
 13434            },
 13435            "403": {
 13436              "$ref": "#/components/responses/403"
 13437            },
 13438            "404": {
 13439              "$ref": "#/components/responses/404"
 13440            },
 13441            "429": {
 13442              "$ref": "#/components/responses/429"
 13443            }
 13444          },
 13445          "x-code-samples": [
 13446            {
 13447              "lang": "Curl",
 13448              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:comment_id/replies/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 13449            },
 13450            {
 13451              "lang": "CLI v2",
 13452              "source": "phrase replies delete \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--comment_id <comment_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"]}' \\\n--access_token <token>"
 13453            }
 13454          ],
 13455          "x-cli-version": "2.10"
 13456        }
 13457      },
 13458      "/projects/{project_id}/keys/{key_id}/comments/{comment_id}/replies/{id}/mark_as_read": {
 13459        "patch": {
 13460          "summary": "Mark a reply as read",
 13461          "description": "Mark a reply as read.",
 13462          "operationId": "reply/mark_as_read",
 13463          "tags": [
 13464            "Comment Replies"
 13465          ],
 13466          "parameters": [
 13467            {
 13468              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13469            },
 13470            {
 13471              "$ref": "#/components/parameters/project_id"
 13472            },
 13473            {
 13474              "$ref": "#/components/parameters/key_id"
 13475            },
 13476            {
 13477              "$ref": "#/components/parameters/comment_id"
 13478            },
 13479            {
 13480              "$ref": "#/components/parameters/id"
 13481            },
 13482            {
 13483              "description": "specify the branch to use",
 13484              "example": "my-feature-branch",
 13485              "name": "branch",
 13486              "in": "query",
 13487              "schema": {
 13488                "type": "string"
 13489              }
 13490            }
 13491          ],
 13492          "responses": {
 13493            "204": {
 13494              "$ref": "#/components/responses/204"
 13495            },
 13496            "400": {
 13497              "$ref": "#/components/responses/400"
 13498            },
 13499            "403": {
 13500              "$ref": "#/components/responses/403"
 13501            },
 13502            "404": {
 13503              "$ref": "#/components/responses/404"
 13504            },
 13505            "429": {
 13506              "$ref": "#/components/responses/429"
 13507            }
 13508          },
 13509          "x-code-samples": [
 13510            {
 13511              "lang": "Curl",
 13512              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:comment_id/replies/:id/mark_as_read\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 13513            },
 13514            {
 13515              "lang": "CLI v2",
 13516              "source": "phrase replies mark_as_read \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--comment_id <comment_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"]}' \\\n--access_token <token>"
 13517            }
 13518          ],
 13519          "x-cli-version": "2.10"
 13520        }
 13521      },
 13522      "/projects/{project_id}/keys/{key_id}/comments/{comment_id}/replies/{id}/mark_as_unread": {
 13523        "patch": {
 13524          "summary": "Mark a reply as unread",
 13525          "description": "Mark a reply as unread.",
 13526          "operationId": "reply/mark_as_unread",
 13527          "tags": [
 13528            "Comment Replies"
 13529          ],
 13530          "parameters": [
 13531            {
 13532              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13533            },
 13534            {
 13535              "$ref": "#/components/parameters/project_id"
 13536            },
 13537            {
 13538              "$ref": "#/components/parameters/key_id"
 13539            },
 13540            {
 13541              "$ref": "#/components/parameters/comment_id"
 13542            },
 13543            {
 13544              "$ref": "#/components/parameters/id"
 13545            },
 13546            {
 13547              "description": "specify the branch to use",
 13548              "example": "my-feature-branch",
 13549              "name": "branch",
 13550              "in": "query",
 13551              "schema": {
 13552                "type": "string"
 13553              }
 13554            }
 13555          ],
 13556          "responses": {
 13557            "204": {
 13558              "$ref": "#/components/responses/204"
 13559            },
 13560            "400": {
 13561              "$ref": "#/components/responses/400"
 13562            },
 13563            "403": {
 13564              "$ref": "#/components/responses/403"
 13565            },
 13566            "404": {
 13567              "$ref": "#/components/responses/404"
 13568            },
 13569            "429": {
 13570              "$ref": "#/components/responses/429"
 13571            }
 13572          },
 13573          "x-code-samples": [
 13574            {
 13575              "lang": "Curl",
 13576              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/comments/:comment_id/replies/:id/mark_as_unread\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 13577            },
 13578            {
 13579              "lang": "CLI v2",
 13580              "source": "phrase replies mark_as_unread \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--comment_id <comment_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"]}' \\\n--access_token <token>"
 13581            }
 13582          ],
 13583          "x-cli-version": "2.10"
 13584        }
 13585      },
 13586      "/projects/{project_id}/webhooks": {
 13587        "get": {
 13588          "summary": "List webhooks",
 13589          "description": "List all webhooks for the given project.",
 13590          "operationId": "webhooks/list",
 13591          "tags": [
 13592            "Webhooks"
 13593          ],
 13594          "parameters": [
 13595            {
 13596              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13597            },
 13598            {
 13599              "$ref": "#/components/parameters/project_id"
 13600            },
 13601            {
 13602              "$ref": "#/components/parameters/page"
 13603            },
 13604            {
 13605              "$ref": "#/components/parameters/per_page"
 13606            }
 13607          ],
 13608          "responses": {
 13609            "200": {
 13610              "description": "OK",
 13611              "content": {
 13612                "application/json": {
 13613                  "schema": {
 13614                    "type": "array",
 13615                    "items": {
 13616                      "$ref": "#/components/schemas/webhook"
 13617                    }
 13618                  }
 13619                }
 13620              },
 13621              "headers": {
 13622                "X-Rate-Limit-Limit": {
 13623                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 13624                },
 13625                "X-Rate-Limit-Remaining": {
 13626                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 13627                },
 13628                "X-Rate-Limit-Reset": {
 13629                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 13630                },
 13631                "Link": {
 13632                  "$ref": "#/components/headers/Link"
 13633                },
 13634                "Pagination": {
 13635                  "$ref": "#/components/headers/Pagination"
 13636                }
 13637              }
 13638            },
 13639            "400": {
 13640              "$ref": "#/components/responses/400"
 13641            },
 13642            "404": {
 13643              "$ref": "#/components/responses/404"
 13644            },
 13645            "429": {
 13646              "$ref": "#/components/responses/429"
 13647            }
 13648          },
 13649          "x-code-samples": [
 13650            {
 13651              "lang": "Curl",
 13652              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/webhooks\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 13653            },
 13654            {
 13655              "lang": "CLI v2",
 13656              "source": "phrase webhooks list \\\n--project_id <project_id> \\\n--access_token <token>"
 13657            }
 13658          ],
 13659          "x-cli-version": "2.5"
 13660        },
 13661        "post": {
 13662          "summary": "Create a webhook",
 13663          "description": "Create a new webhook.",
 13664          "operationId": "webhook/create",
 13665          "tags": [
 13666            "Webhooks"
 13667          ],
 13668          "parameters": [
 13669            {
 13670              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13671            },
 13672            {
 13673              "$ref": "#/components/parameters/project_id"
 13674            }
 13675          ],
 13676          "responses": {
 13677            "201": {
 13678              "description": "Created",
 13679              "content": {
 13680                "application/json": {
 13681                  "schema": {
 13682                    "$ref": "#/components/schemas/webhook"
 13683                  }
 13684                }
 13685              },
 13686              "headers": {
 13687                "X-Rate-Limit-Limit": {
 13688                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 13689                },
 13690                "X-Rate-Limit-Remaining": {
 13691                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 13692                },
 13693                "X-Rate-Limit-Reset": {
 13694                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 13695                }
 13696              }
 13697            },
 13698            "400": {
 13699              "$ref": "#/components/responses/400"
 13700            },
 13701            "404": {
 13702              "$ref": "#/components/responses/404"
 13703            },
 13704            "429": {
 13705              "$ref": "#/components/responses/429"
 13706            }
 13707          },
 13708          "x-code-samples": [
 13709            {
 13710              "lang": "Curl",
 13711              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/webhooks\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"callback_url\":\"http://example.com/hooks/phraseapp-notifications\",\"description\":\"My webhook for chat notifications\",\"events\":\"locales:create,translations:update\"}' \\\n  -H 'Content-Type: application/json'"
 13712            },
 13713            {
 13714              "lang": "CLI v2",
 13715              "source": "phrase webhooks create \\\n--project_id <project_id> \\\n--data '{\"callback_url\": \"http://example.com/hooks/phraseapp-notifications\", \"description\": \"My webhook for chat notifications\", \"events\": \"locales:create,translations:update\"}' \\\n--access_token <token>"
 13716            }
 13717          ],
 13718          "requestBody": {
 13719            "required": true,
 13720            "content": {
 13721              "application/json": {
 13722                "schema": {
 13723                  "type": "object",
 13724                  "title": "webhook/create/parameters",
 13725                  "required": [
 13726                    "callback_url"
 13727                  ],
 13728                  "properties": {
 13729                    "callback_url": {
 13730                      "description": "Callback URL to send requests to",
 13731                      "type": "string",
 13732                      "example": "http://example.com/hooks/phraseapp-notifications"
 13733                    },
 13734                    "secret": {
 13735                      "description": "Webhook secret used to calculate signature. If empty, the default project secret will be used.",
 13736                      "type": "string",
 13737                      "example": "secr3t"
 13738                    },
 13739                    "description": {
 13740                      "description": "Webhook description",
 13741                      "type": "string",
 13742                      "example": "My webhook for chat notifications"
 13743                    },
 13744                    "events": {
 13745                      "description": "List of event names to trigger the webhook (separated by comma)",
 13746                      "type": "string",
 13747                      "example": "locales:create,translations:update"
 13748                    },
 13749                    "active": {
 13750                      "description": "Whether webhook is active or inactive",
 13751                      "type": "boolean",
 13752                      "example": null
 13753                    },
 13754                    "include_branches": {
 13755                      "description": "If enabled, webhook will also be triggered for events from branches of the project specified.",
 13756                      "type": "boolean",
 13757                      "example": null
 13758                    }
 13759                  }
 13760                }
 13761              }
 13762            }
 13763          },
 13764          "x-cli-version": "2.5"
 13765        }
 13766      },
 13767      "/projects/{project_id}/webhooks/{id}": {
 13768        "get": {
 13769          "summary": "Get a single webhook",
 13770          "description": "Get details on a single webhook.",
 13771          "operationId": "webhook/show",
 13772          "tags": [
 13773            "Webhooks"
 13774          ],
 13775          "parameters": [
 13776            {
 13777              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13778            },
 13779            {
 13780              "$ref": "#/components/parameters/project_id"
 13781            },
 13782            {
 13783              "$ref": "#/components/parameters/id"
 13784            }
 13785          ],
 13786          "responses": {
 13787            "200": {
 13788              "description": "OK",
 13789              "content": {
 13790                "application/json": {
 13791                  "schema": {
 13792                    "$ref": "#/components/schemas/webhook"
 13793                  }
 13794                }
 13795              },
 13796              "headers": {
 13797                "X-Rate-Limit-Limit": {
 13798                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 13799                },
 13800                "X-Rate-Limit-Remaining": {
 13801                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 13802                },
 13803                "X-Rate-Limit-Reset": {
 13804                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 13805                }
 13806              }
 13807            },
 13808            "400": {
 13809              "$ref": "#/components/responses/400"
 13810            },
 13811            "404": {
 13812              "$ref": "#/components/responses/404"
 13813            },
 13814            "429": {
 13815              "$ref": "#/components/responses/429"
 13816            }
 13817          },
 13818          "x-code-samples": [
 13819            {
 13820              "lang": "Curl",
 13821              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/webhooks/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 13822            },
 13823            {
 13824              "lang": "CLI v2",
 13825              "source": "phrase webhooks show \\\n--project_id <project_id> \\\n--id <id> \\\n--access_token <token>"
 13826            }
 13827          ],
 13828          "x-cli-version": "2.5"
 13829        },
 13830        "patch": {
 13831          "summary": "Update a webhook",
 13832          "description": "Update an existing webhook.",
 13833          "operationId": "webhook/update",
 13834          "tags": [
 13835            "Webhooks"
 13836          ],
 13837          "parameters": [
 13838            {
 13839              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13840            },
 13841            {
 13842              "$ref": "#/components/parameters/project_id"
 13843            },
 13844            {
 13845              "$ref": "#/components/parameters/id"
 13846            }
 13847          ],
 13848          "responses": {
 13849            "200": {
 13850              "description": "OK",
 13851              "content": {
 13852                "application/json": {
 13853                  "schema": {
 13854                    "$ref": "#/components/schemas/webhook"
 13855                  }
 13856                }
 13857              },
 13858              "headers": {
 13859                "X-Rate-Limit-Limit": {
 13860                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 13861                },
 13862                "X-Rate-Limit-Remaining": {
 13863                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 13864                },
 13865                "X-Rate-Limit-Reset": {
 13866                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 13867                }
 13868              }
 13869            },
 13870            "400": {
 13871              "$ref": "#/components/responses/400"
 13872            },
 13873            "404": {
 13874              "$ref": "#/components/responses/404"
 13875            },
 13876            "429": {
 13877              "$ref": "#/components/responses/429"
 13878            }
 13879          },
 13880          "x-code-samples": [
 13881            {
 13882              "lang": "Curl",
 13883              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/webhooks/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"callback_url\":\"http://example.com/hooks/phraseapp-notifications\",\"description\":\"My webhook for chat notifications\",\"events\":\"locales:create,translations:update\"}' \\\n  -H 'Content-Type: application/json'"
 13884            },
 13885            {
 13886              "lang": "CLI v2",
 13887              "source": "phrase webhooks update \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"callback_url\": \"http://example.com/hooks/phraseapp-notifications\", \"description\": \"My webhook for chat notifications\", \"events\": \"locales:create,translations:update\"}' \\\n--access_token <token>"
 13888            }
 13889          ],
 13890          "requestBody": {
 13891            "required": true,
 13892            "content": {
 13893              "application/json": {
 13894                "schema": {
 13895                  "type": "object",
 13896                  "title": "webhook/update/parameters",
 13897                  "properties": {
 13898                    "callback_url": {
 13899                      "description": "Callback URL to send requests to",
 13900                      "type": "string",
 13901                      "example": "http://example.com/hooks/phraseapp-notifications"
 13902                    },
 13903                    "secret": {
 13904                      "description": "Webhook secret used to calculate signature. If empty, the default project secret will be used.",
 13905                      "type": "string",
 13906                      "example": "secr3t"
 13907                    },
 13908                    "description": {
 13909                      "description": "Webhook description",
 13910                      "type": "string",
 13911                      "example": "My webhook for chat notifications"
 13912                    },
 13913                    "events": {
 13914                      "description": "List of event names to trigger the webhook (separated by comma)",
 13915                      "type": "string",
 13916                      "example": "locales:create,translations:update"
 13917                    },
 13918                    "active": {
 13919                      "description": "Whether webhook is active or inactive",
 13920                      "type": "boolean",
 13921                      "example": null
 13922                    },
 13923                    "include_branches": {
 13924                      "description": "If enabled, webhook will also be triggered for events from branches of the project specified.",
 13925                      "type": "boolean",
 13926                      "example": null
 13927                    }
 13928                  }
 13929                }
 13930              }
 13931            }
 13932          },
 13933          "x-cli-version": "2.5"
 13934        },
 13935        "delete": {
 13936          "summary": "Delete a webhook",
 13937          "description": "Delete an existing webhook.",
 13938          "operationId": "webhook/delete",
 13939          "tags": [
 13940            "Webhooks"
 13941          ],
 13942          "parameters": [
 13943            {
 13944              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13945            },
 13946            {
 13947              "$ref": "#/components/parameters/project_id"
 13948            },
 13949            {
 13950              "$ref": "#/components/parameters/id"
 13951            }
 13952          ],
 13953          "responses": {
 13954            "204": {
 13955              "$ref": "#/components/responses/204"
 13956            },
 13957            "400": {
 13958              "$ref": "#/components/responses/400"
 13959            },
 13960            "404": {
 13961              "$ref": "#/components/responses/404"
 13962            },
 13963            "429": {
 13964              "$ref": "#/components/responses/429"
 13965            }
 13966          },
 13967          "x-code-samples": [
 13968            {
 13969              "lang": "Curl",
 13970              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/webhooks/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 13971            },
 13972            {
 13973              "lang": "CLI v2",
 13974              "source": "phrase webhooks delete \\\n--project_id <project_id> \\\n--id <id> \\\n--access_token <token>"
 13975            }
 13976          ],
 13977          "x-cli-version": "2.5"
 13978        }
 13979      },
 13980      "/projects/{project_id}/webhooks/{id}/test": {
 13981        "post": {
 13982          "summary": "Test a webhook",
 13983          "description": "Perform a test request for a webhook.",
 13984          "operationId": "webhook/test",
 13985          "tags": [
 13986            "Webhooks"
 13987          ],
 13988          "parameters": [
 13989            {
 13990              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 13991            },
 13992            {
 13993              "$ref": "#/components/parameters/project_id"
 13994            },
 13995            {
 13996              "$ref": "#/components/parameters/id"
 13997            }
 13998          ],
 13999          "responses": {
 14000            "200": {
 14001              "description": "OK",
 14002              "headers": {
 14003                "X-Rate-Limit-Limit": {
 14004                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14005                },
 14006                "X-Rate-Limit-Remaining": {
 14007                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14008                },
 14009                "X-Rate-Limit-Reset": {
 14010                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14011                }
 14012              }
 14013            },
 14014            "400": {
 14015              "$ref": "#/components/responses/400"
 14016            },
 14017            "404": {
 14018              "$ref": "#/components/responses/404"
 14019            },
 14020            "429": {
 14021              "$ref": "#/components/responses/429"
 14022            }
 14023          },
 14024          "x-code-samples": [
 14025            {
 14026              "lang": "Curl",
 14027              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/webhooks/:id/test\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST"
 14028            },
 14029            {
 14030              "lang": "CLI v2",
 14031              "source": "phrase webhooks test \\\n--project_id <project_id> \\\n--id <id> \\\n--access_token <token>"
 14032            }
 14033          ],
 14034          "x-cli-version": "2.5"
 14035        }
 14036      },
 14037      "/projects/{project_id}/uploads": {
 14038        "post": {
 14039          "summary": "Upload a new file",
 14040          "description": "Upload a new language file. Creates necessary resources in your project.",
 14041          "operationId": "upload/create",
 14042          "tags": [
 14043            "Uploads"
 14044          ],
 14045          "parameters": [
 14046            {
 14047              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14048            },
 14049            {
 14050              "$ref": "#/components/parameters/project_id"
 14051            }
 14052          ],
 14053          "responses": {
 14054            "201": {
 14055              "description": "Created",
 14056              "content": {
 14057                "application/json": {
 14058                  "schema": {
 14059                    "$ref": "#/components/schemas/upload"
 14060                  }
 14061                }
 14062              },
 14063              "headers": {
 14064                "X-Rate-Limit-Limit": {
 14065                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14066                },
 14067                "X-Rate-Limit-Remaining": {
 14068                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14069                },
 14070                "X-Rate-Limit-Reset": {
 14071                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14072                }
 14073              }
 14074            },
 14075            "400": {
 14076              "$ref": "#/components/responses/400"
 14077            },
 14078            "404": {
 14079              "$ref": "#/components/responses/404"
 14080            },
 14081            "429": {
 14082              "$ref": "#/components/responses/429"
 14083            }
 14084          },
 14085          "x-code-samples": [
 14086            {
 14087              "lang": "Curl",
 14088              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/uploads\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -F branch=my-feature-branch \\\n  -F file=@/path/to/my/file.json \\\n  -F file_format=json \\\n  -F locale_id=abcd1234cdef1234abcd1234cdef1234 \\\n  -F tags=awesome-feature,needs-proofreading \\\n  -F locale_mapping[en]=2 \\\n  -F format_options[foo]=bar"
 14089            },
 14090            {
 14091              "lang": "CLI v2",
 14092              "source": "phrase uploads create \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--file /path/to/my/file.json \\\n--file_format json \\\n--locale_id abcd1234cdef1234abcd1234cdef1234 \\\n--tags awesome-feature,needs-proofreading \\\n--locale_mapping '{\"en\": \"2\"}' \\\n--format_options '{\"foo\": \"bar\"}' \\\n--access_token <token>"
 14093            }
 14094          ],
 14095          "requestBody": {
 14096            "required": true,
 14097            "content": {
 14098              "multipart/form-data": {
 14099                "schema": {
 14100                  "type": "object",
 14101                  "title": "upload/create/parameters",
 14102                  "required": [
 14103                    "file",
 14104                    "file_format",
 14105                    "locale_id"
 14106                  ],
 14107                  "properties": {
 14108                    "branch": {
 14109                      "description": "specify the branch to use",
 14110                      "type": "string",
 14111                      "example": "my-feature-branch"
 14112                    },
 14113                    "file": {
 14114                      "description": "File to be imported",
 14115                      "type": "string",
 14116                      "format": "binary",
 14117                      "example": "/path/to/my/file.json"
 14118                    },
 14119                    "file_format": {
 14120                      "description": "File format. Auto-detected when possible and not specified.",
 14121                      "type": "string",
 14122                      "example": "json"
 14123                    },
 14124                    "locale_id": {
 14125                      "description": "Locale of the file's content. Can be the name or id of the locale. Preferred is id.",
 14126                      "type": "string",
 14127                      "example": "abcd1234cdef1234abcd1234cdef1234"
 14128                    },
 14129                    "tags": {
 14130                      "description": "List of tags separated by comma to be associated with the new keys contained in the upload.",
 14131                      "type": "string",
 14132                      "example": "awesome-feature,needs-proofreading"
 14133                    },
 14134                    "update_translations": {
 14135                      "description": "Indicates whether existing translations should be updated with the file content.",
 14136                      "type": "boolean",
 14137                      "example": null
 14138                    },
 14139                    "update_translation_keys": {
 14140                      "description": "Pass `false` here to prevent new keys from being created and existing keys updated.",
 14141                      "type": "boolean",
 14142                      "default": true,
 14143                      "example": null
 14144                    },
 14145                    "update_descriptions": {
 14146                      "description": "Existing key descriptions will be updated with the file content. Empty descriptions overwrite existing descriptions.",
 14147                      "type": "boolean",
 14148                      "example": null
 14149                    },
 14150                    "convert_emoji": {
 14151                      "description": "This option is obsolete. Providing the option will cause a bad request error.",
 14152                      "type": "boolean",
 14153                      "example": null,
 14154                      "deprecated": true
 14155                    },
 14156                    "skip_upload_tags": {
 14157                      "description": "Indicates whether the upload should not create upload tags.",
 14158                      "type": "boolean",
 14159                      "example": null
 14160                    },
 14161                    "skip_unverification": {
 14162                      "description": "Indicates whether the upload should unverify updated translations.",
 14163                      "type": "boolean",
 14164                      "example": null
 14165                    },
 14166                    "file_encoding": {
 14167                      "description": "Enforces a specific encoding on the file contents. Valid options are \"UTF-8\", \"UTF-16\" and \"ISO-8859-1\".",
 14168                      "type": "string",
 14169                      "example": null
 14170                    },
 14171                    "locale_mapping": {
 14172                      "description": "Mapping between locale names and translation columns. Required in some formats like CSV or XLSX.",
 14173                      "type": "object",
 14174                      "properties": {},
 14175                      "example": "{\"en\": \"2\"}"
 14176                    },
 14177                    "format_options": {
 14178                      "description": "Additional options available for specific formats. See our format guide for complete list.",
 14179                      "type": "object",
 14180                      "properties": {},
 14181                      "example": "{\"foo\": \"bar\"}"
 14182                    },
 14183                    "autotranslate": {
 14184                      "description": "If set, translations for the uploaded language will be fetched automatically.",
 14185                      "type": "boolean",
 14186                      "example": null
 14187                    },
 14188                    "mark_reviewed": {
 14189                      "description": "Indicated whether the imported translations should be marked as reviewed. This setting is available if the review workflow is enabled for the project.",
 14190                      "type": "boolean",
 14191                      "example": null
 14192                    },
 14193                    "tag_only_affected_keys": {
 14194                      "description": "Indicates whether only keys affected (created or updated) by the upload should be tagged. The default is `false`",
 14195                      "type": "boolean",
 14196                      "default": false,
 14197                      "example": null
 14198                    }
 14199                  }
 14200                }
 14201              }
 14202            }
 14203          },
 14204          "x-cli-version": "2.12"
 14205        },
 14206        "get": {
 14207          "summary": "List uploads",
 14208          "description": "List all uploads for the given project.",
 14209          "operationId": "uploads/list",
 14210          "tags": [
 14211            "Uploads"
 14212          ],
 14213          "parameters": [
 14214            {
 14215              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14216            },
 14217            {
 14218              "$ref": "#/components/parameters/project_id"
 14219            },
 14220            {
 14221              "$ref": "#/components/parameters/page"
 14222            },
 14223            {
 14224              "$ref": "#/components/parameters/per_page"
 14225            },
 14226            {
 14227              "description": "specify the branch to use",
 14228              "example": "my-feature-branch",
 14229              "name": "branch",
 14230              "in": "query",
 14231              "schema": {
 14232                "type": "string"
 14233              }
 14234            }
 14235          ],
 14236          "responses": {
 14237            "200": {
 14238              "description": "OK",
 14239              "content": {
 14240                "application/json": {
 14241                  "schema": {
 14242                    "type": "array",
 14243                    "items": {
 14244                      "$ref": "#/components/schemas/upload"
 14245                    }
 14246                  }
 14247                }
 14248              },
 14249              "headers": {
 14250                "X-Rate-Limit-Limit": {
 14251                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14252                },
 14253                "X-Rate-Limit-Remaining": {
 14254                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14255                },
 14256                "X-Rate-Limit-Reset": {
 14257                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14258                },
 14259                "Link": {
 14260                  "$ref": "#/components/headers/Link"
 14261                },
 14262                "Pagination": {
 14263                  "$ref": "#/components/headers/Pagination"
 14264                }
 14265              }
 14266            },
 14267            "400": {
 14268              "$ref": "#/components/responses/400"
 14269            },
 14270            "404": {
 14271              "$ref": "#/components/responses/404"
 14272            },
 14273            "429": {
 14274              "$ref": "#/components/responses/429"
 14275            }
 14276          },
 14277          "x-code-samples": [
 14278            {
 14279              "lang": "Curl",
 14280              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/uploads?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 14281            },
 14282            {
 14283              "lang": "CLI v2",
 14284              "source": "phrase uploads list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 14285            }
 14286          ],
 14287          "x-cli-version": "2.5"
 14288        }
 14289      },
 14290      "/projects/{project_id}/uploads/{id}": {
 14291        "get": {
 14292          "summary": "Get a single upload",
 14293          "description": "View details and summary for a single upload.",
 14294          "operationId": "upload/show",
 14295          "tags": [
 14296            "Uploads"
 14297          ],
 14298          "parameters": [
 14299            {
 14300              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14301            },
 14302            {
 14303              "$ref": "#/components/parameters/project_id"
 14304            },
 14305            {
 14306              "$ref": "#/components/parameters/id"
 14307            },
 14308            {
 14309              "description": "specify the branch to use",
 14310              "example": "my-feature-branch",
 14311              "name": "branch",
 14312              "in": "query",
 14313              "schema": {
 14314                "type": "string"
 14315              }
 14316            }
 14317          ],
 14318          "responses": {
 14319            "200": {
 14320              "description": "OK",
 14321              "content": {
 14322                "application/json": {
 14323                  "schema": {
 14324                    "$ref": "#/components/schemas/upload"
 14325                  }
 14326                }
 14327              },
 14328              "headers": {
 14329                "X-Rate-Limit-Limit": {
 14330                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14331                },
 14332                "X-Rate-Limit-Remaining": {
 14333                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14334                },
 14335                "X-Rate-Limit-Reset": {
 14336                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14337                }
 14338              }
 14339            },
 14340            "400": {
 14341              "$ref": "#/components/responses/400"
 14342            },
 14343            "404": {
 14344              "$ref": "#/components/responses/404"
 14345            },
 14346            "429": {
 14347              "$ref": "#/components/responses/429"
 14348            }
 14349          },
 14350          "x-code-samples": [
 14351            {
 14352              "lang": "Curl",
 14353              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/uploads/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 14354            },
 14355            {
 14356              "lang": "CLI v2",
 14357              "source": "phrase uploads show \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 14358            }
 14359          ],
 14360          "x-cli-version": "2.5"
 14361        }
 14362      },
 14363      "/github_syncs/export": {
 14364        "post": {
 14365          "summary": "Export from Phrase Strings to GitHub",
 14366          "description": "Export translations from Phrase Strings to GitHub according to the .phraseapp.yml file within the GitHub repository. <br><br><i>Note: Export is done asynchronously and may take several seconds depending on the project size.</i>",
 14367          "operationId": "github_sync/export",
 14368          "tags": [
 14369            "GitHub Sync"
 14370          ],
 14371          "parameters": [
 14372            {
 14373              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14374            }
 14375          ],
 14376          "responses": {
 14377            "200": {
 14378              "description": "OK",
 14379              "headers": {
 14380                "X-Rate-Limit-Limit": {
 14381                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14382                },
 14383                "X-Rate-Limit-Remaining": {
 14384                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14385                },
 14386                "X-Rate-Limit-Reset": {
 14387                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14388                }
 14389              }
 14390            },
 14391            "400": {
 14392              "$ref": "#/components/responses/400"
 14393            },
 14394            "404": {
 14395              "$ref": "#/components/responses/404"
 14396            },
 14397            "422": {
 14398              "$ref": "#/components/responses/422"
 14399            },
 14400            "429": {
 14401              "$ref": "#/components/responses/429"
 14402            }
 14403          },
 14404          "x-code-samples": [
 14405            {
 14406              "lang": "Curl",
 14407              "source": "curl \"https://api.phrase.com/v2/github_syncs/export\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"project_id\":\"abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
 14408            },
 14409            {
 14410              "lang": "CLI v2",
 14411              "source": "UNAVAILABLE"
 14412            }
 14413          ],
 14414          "requestBody": {
 14415            "required": true,
 14416            "content": {
 14417              "application/json": {
 14418                "schema": {
 14419                  "type": "object",
 14420                  "title": "github_sync/export/parameters",
 14421                  "properties": {
 14422                    "project_id": {
 14423                      "description": "Project ID to specify the actual project the GitHub export should be triggered in.",
 14424                      "type": "string",
 14425                      "example": "abcd1234"
 14426                    }
 14427                  }
 14428                }
 14429              }
 14430            }
 14431          },
 14432          "x-cli-version": "2.5"
 14433        }
 14434      },
 14435      "/github_syncs/import": {
 14436        "post": {
 14437          "summary": "Import to Phrase Strings from GitHub",
 14438          "description": "Import files to Phrase Strings from your connected GitHub repository. <br><br><i>Note: Import is done asynchronously and may take several seconds depending on the project size.</i>",
 14439          "operationId": "github_sync/import",
 14440          "tags": [
 14441            "GitHub Sync"
 14442          ],
 14443          "parameters": [
 14444            {
 14445              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14446            }
 14447          ],
 14448          "responses": {
 14449            "200": {
 14450              "description": "OK",
 14451              "headers": {
 14452                "X-Rate-Limit-Limit": {
 14453                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14454                },
 14455                "X-Rate-Limit-Remaining": {
 14456                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14457                },
 14458                "X-Rate-Limit-Reset": {
 14459                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14460                }
 14461              }
 14462            },
 14463            "400": {
 14464              "$ref": "#/components/responses/400"
 14465            },
 14466            "404": {
 14467              "$ref": "#/components/responses/404"
 14468            },
 14469            "422": {
 14470              "$ref": "#/components/responses/422"
 14471            },
 14472            "429": {
 14473              "$ref": "#/components/responses/429"
 14474            }
 14475          },
 14476          "x-code-samples": [
 14477            {
 14478              "lang": "Curl",
 14479              "source": "curl \"https://api.phrase.com/v2/github_syncs/import\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"project_id\":\"abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
 14480            },
 14481            {
 14482              "lang": "CLI v2",
 14483              "source": "UNAVAILABLE"
 14484            }
 14485          ],
 14486          "requestBody": {
 14487            "required": true,
 14488            "content": {
 14489              "application/json": {
 14490                "schema": {
 14491                  "type": "object",
 14492                  "title": "github_sync/import/parameters",
 14493                  "properties": {
 14494                    "project_id": {
 14495                      "description": "Project ID to specify the actual project the GitHub import should be triggered in.",
 14496                      "type": "string",
 14497                      "example": "abcd1234"
 14498                    }
 14499                  }
 14500                }
 14501              }
 14502            }
 14503          },
 14504          "x-cli-version": "2.5"
 14505        }
 14506      },
 14507      "/gitlab_syncs": {
 14508        "get": {
 14509          "summary": "List GitLab syncs",
 14510          "description": "List all GitLab Sync Settings for which synchronisation with Phrase Strings and GitLab is activated.",
 14511          "operationId": "gitlab_sync/list",
 14512          "tags": [
 14513            "GitLab Sync"
 14514          ],
 14515          "parameters": [
 14516            {
 14517              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14518            },
 14519            {
 14520              "description": "Account ID to specify the actual account the GitLab Sync should be created in. Required if the requesting user is a member of multiple accounts.",
 14521              "example": "abcd1234",
 14522              "name": "account_id",
 14523              "in": "query",
 14524              "schema": {
 14525                "type": "string"
 14526              }
 14527            }
 14528          ],
 14529          "responses": {
 14530            "200": {
 14531              "description": "OK",
 14532              "content": {
 14533                "application/json": {
 14534                  "schema": {
 14535                    "type": "array",
 14536                    "items": {
 14537                      "$ref": "#/components/schemas/gitlab_sync"
 14538                    }
 14539                  }
 14540                }
 14541              },
 14542              "headers": {
 14543                "X-Rate-Limit-Limit": {
 14544                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14545                },
 14546                "X-Rate-Limit-Remaining": {
 14547                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14548                },
 14549                "X-Rate-Limit-Reset": {
 14550                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14551                },
 14552                "Link": {
 14553                  "$ref": "#/components/headers/Link"
 14554                },
 14555                "Pagination": {
 14556                  "$ref": "#/components/headers/Pagination"
 14557                }
 14558              }
 14559            },
 14560            "400": {
 14561              "$ref": "#/components/responses/400"
 14562            },
 14563            "404": {
 14564              "$ref": "#/components/responses/404"
 14565            },
 14566            "429": {
 14567              "$ref": "#/components/responses/429"
 14568            }
 14569          },
 14570          "x-code-samples": [
 14571            {
 14572              "lang": "Curl",
 14573              "source": "curl \"https://api.phrase.com/v2/gitlab_syncs?account_id=abcd1234\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 14574            },
 14575            {
 14576              "lang": "CLI v2",
 14577              "source": "phrase git_lab_sync list \\\n--account_id abcd1234 \\\n--access_token <token>"
 14578            }
 14579          ],
 14580          "x-cli-version": "2.5"
 14581        }
 14582      },
 14583      "/gitlab_syncs/{id}": {
 14584        "get": {
 14585          "summary": "Get single Sync Setting",
 14586          "description": "Shows a single GitLab Sync Setting.",
 14587          "operationId": "gitlab_sync/show",
 14588          "tags": [
 14589            "GitLab Sync"
 14590          ],
 14591          "parameters": [
 14592            {
 14593              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14594            },
 14595            {
 14596              "$ref": "#/components/parameters/id"
 14597            },
 14598            {
 14599              "description": "Account ID to specify the actual account the GitLab Sync should be created in. Required if the requesting user is a member of multiple accounts.",
 14600              "example": "abcd1234",
 14601              "name": "account_id",
 14602              "in": "query",
 14603              "schema": {
 14604                "type": "string"
 14605              }
 14606            }
 14607          ],
 14608          "responses": {
 14609            "200": {
 14610              "description": "OK",
 14611              "content": {
 14612                "application/json": {
 14613                  "schema": {
 14614                    "$ref": "#/components/schemas/gitlab_sync"
 14615                  }
 14616                }
 14617              },
 14618              "headers": {
 14619                "X-Rate-Limit-Limit": {
 14620                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14621                },
 14622                "X-Rate-Limit-Remaining": {
 14623                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14624                },
 14625                "X-Rate-Limit-Reset": {
 14626                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14627                }
 14628              }
 14629            },
 14630            "400": {
 14631              "$ref": "#/components/responses/400"
 14632            },
 14633            "404": {
 14634              "$ref": "#/components/responses/404"
 14635            },
 14636            "429": {
 14637              "$ref": "#/components/responses/429"
 14638            }
 14639          },
 14640          "x-code-samples": [
 14641            {
 14642              "lang": "Curl",
 14643              "source": "curl \"https://api.phrase.com/v2/gitlab_syncs/:id?account_id=abcd1234\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 14644            },
 14645            {
 14646              "lang": "CLI v2",
 14647              "source": "phrase git_lab_sync show \\\n--id <id> \\\n--account_id abcd1234 \\\n--access_token <token>"
 14648            }
 14649          ],
 14650          "x-cli-version": "2.5"
 14651        },
 14652        "put": {
 14653          "summary": "Update single Sync Setting",
 14654          "description": "Updates a single GitLab Sync Setting.",
 14655          "operationId": "gitlab_sync/update",
 14656          "tags": [
 14657            "GitLab Sync"
 14658          ],
 14659          "parameters": [
 14660            {
 14661              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14662            },
 14663            {
 14664              "$ref": "#/components/parameters/id"
 14665            },
 14666            {
 14667              "description": "Account ID to specify the actual account the GitLab Sync should be created in. Required if the requesting user is a member of multiple accounts.",
 14668              "example": "abcd1234",
 14669              "name": "account_id",
 14670              "in": "query",
 14671              "schema": {
 14672                "type": "string"
 14673              }
 14674            },
 14675            {
 14676              "description": "Code of the related Phrase Strings Project.",
 14677              "example": "3456abcd",
 14678              "name": "phrase_project_code",
 14679              "in": "query",
 14680              "schema": {
 14681                "type": "string"
 14682              }
 14683            },
 14684            {
 14685              "description": "ID of the related GitLab Project.",
 14686              "example": 12345,
 14687              "name": "gitlab_project_id",
 14688              "in": "query",
 14689              "schema": {
 14690                "type": "integer"
 14691              }
 14692            },
 14693            {
 14694              "description": "Name of the GitLab Branch.",
 14695              "example": "feature-development",
 14696              "name": "gitlab_branch_name",
 14697              "in": "query",
 14698              "schema": {
 14699                "type": "string"
 14700              }
 14701            }
 14702          ],
 14703          "responses": {
 14704            "200": {
 14705              "description": "OK",
 14706              "content": {
 14707                "application/json": {
 14708                  "schema": {
 14709                    "$ref": "#/components/schemas/gitlab_sync"
 14710                  }
 14711                }
 14712              },
 14713              "headers": {
 14714                "X-Rate-Limit-Limit": {
 14715                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14716                },
 14717                "X-Rate-Limit-Remaining": {
 14718                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14719                },
 14720                "X-Rate-Limit-Reset": {
 14721                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14722                }
 14723              }
 14724            },
 14725            "400": {
 14726              "$ref": "#/components/responses/400"
 14727            },
 14728            "404": {
 14729              "$ref": "#/components/responses/404"
 14730            },
 14731            "429": {
 14732              "$ref": "#/components/responses/429"
 14733            }
 14734          },
 14735          "x-code-samples": [
 14736            {
 14737              "lang": "Curl",
 14738              "source": "curl \"https://api.phrase.com/v2/gitlab_syncs/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PUT \\\n  -d '{\"account_id\":\"abcd1234\",\"phrase_project_code\":\"3456abcd\",\"gitlab_project_id\":12345,\"gitlab_branch_name\":\"feature-development\"}' \\\n  -H 'Content-Type: application/json'"
 14739            },
 14740            {
 14741              "lang": "CLI v2",
 14742              "source": "phrase git_lab_sync update \\\n--id <id> \\\n--data '{\"account_id\":\"abcd1234\", \"phrase_project_code\":\"3456abcd\", \"gitlab_project_id\":\"12345\", \"gitlab_branch_name\":\"feature-development\"}' \\\n--access_token <token>"
 14743            }
 14744          ],
 14745          "x-cli-version": "2.5"
 14746        },
 14747        "delete": {
 14748          "summary": "Delete single Sync Setting",
 14749          "description": "Deletes a single GitLab Sync Setting.",
 14750          "operationId": "gitlab_sync/delete",
 14751          "tags": [
 14752            "GitLab Sync"
 14753          ],
 14754          "parameters": [
 14755            {
 14756              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14757            },
 14758            {
 14759              "$ref": "#/components/parameters/id"
 14760            },
 14761            {
 14762              "description": "Account ID to specify the actual account the GitLab Sync should be created in. Required if the requesting user is a member of multiple accounts.",
 14763              "example": "abcd1234",
 14764              "name": "account_id",
 14765              "in": "query",
 14766              "schema": {
 14767                "type": "string"
 14768              }
 14769            }
 14770          ],
 14771          "responses": {
 14772            "204": {
 14773              "$ref": "#/components/responses/204"
 14774            },
 14775            "400": {
 14776              "$ref": "#/components/responses/400"
 14777            },
 14778            "404": {
 14779              "$ref": "#/components/responses/404"
 14780            },
 14781            "429": {
 14782              "$ref": "#/components/responses/429"
 14783            }
 14784          },
 14785          "x-code-samples": [
 14786            {
 14787              "lang": "Curl",
 14788              "source": "curl \"https://api.phrase.com/v2/gitlab_syncs/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"account_id\":\"abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
 14789            },
 14790            {
 14791              "lang": "CLI v2",
 14792              "source": "phrase git_lab_sync delete \\\n--id <id> \\\n--account_id abcd1234 \\\n--access_token <token>"
 14793            }
 14794          ],
 14795          "x-cli-version": "2.5"
 14796        }
 14797      },
 14798      "/gitlab_syncs/{gitlab_sync_id}/import": {
 14799        "post": {
 14800          "summary": "Import from GitLab to Phrase",
 14801          "description": "Import translations from GitLab to Phrase Strings according to the .phraseapp.yml file within the GitLab repository. <br><br><i>Note: Import is done asynchronously and may take several seconds depending on the project size.</i>",
 14802          "operationId": "gitlab_sync/import",
 14803          "tags": [
 14804            "GitLab Sync"
 14805          ],
 14806          "parameters": [
 14807            {
 14808              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14809            },
 14810            {
 14811              "$ref": "#/components/parameters/gitlab_sync_id"
 14812            }
 14813          ],
 14814          "responses": {
 14815            "200": {
 14816              "description": "OK",
 14817              "content": {
 14818                "application/json": {
 14819                  "schema": {
 14820                    "type": "array",
 14821                    "items": {
 14822                      "$ref": "#/components/schemas/upload"
 14823                    }
 14824                  }
 14825                }
 14826              },
 14827              "headers": {
 14828                "X-Rate-Limit-Limit": {
 14829                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14830                },
 14831                "X-Rate-Limit-Remaining": {
 14832                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14833                },
 14834                "X-Rate-Limit-Reset": {
 14835                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14836                },
 14837                "Link": {
 14838                  "$ref": "#/components/headers/Link"
 14839                },
 14840                "Pagination": {
 14841                  "$ref": "#/components/headers/Pagination"
 14842                }
 14843              }
 14844            },
 14845            "400": {
 14846              "$ref": "#/components/responses/400"
 14847            },
 14848            "404": {
 14849              "$ref": "#/components/responses/404"
 14850            },
 14851            "429": {
 14852              "$ref": "#/components/responses/429"
 14853            }
 14854          },
 14855          "x-code-samples": [
 14856            {
 14857              "lang": "Curl",
 14858              "source": "curl \"https://api.phrase.com/v2/gitlab_syncs/:gitlab_sync_id/import\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"account_id\":\"abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
 14859            },
 14860            {
 14861              "lang": "CLI v2",
 14862              "source": "phrase git_lab_sync import \\\n--gitlab_sync_id <gitlab_sync_id> \\\n--data '{\"account_id\":\"abcd1234\"}' \\\n--access_token <token>"
 14863            }
 14864          ],
 14865          "requestBody": {
 14866            "required": true,
 14867            "content": {
 14868              "application/json": {
 14869                "schema": {
 14870                  "type": "object",
 14871                  "title": "gitlab_sync/import/parameters",
 14872                  "properties": {
 14873                    "account_id": {
 14874                      "description": "Account ID to specify the actual account the GitLab Sync should be created in. Required if the requesting user is a member of multiple accounts.",
 14875                      "type": "string",
 14876                      "example": "abcd1234"
 14877                    }
 14878                  }
 14879                }
 14880              }
 14881            }
 14882          },
 14883          "x-cli-version": "2.5"
 14884        }
 14885      },
 14886      "/gitlab_syncs/{gitlab_sync_id}/export": {
 14887        "post": {
 14888          "summary": "Export from Phrase Strings to GitLab",
 14889          "description": "Export translations from Phrase Strings to GitLab according to the .phraseapp.yml file within the GitLab repository. <br><br><i>Note: Export is done asynchronously and may take several seconds depending on the project size.</i>",
 14890          "operationId": "gitlab_sync/export",
 14891          "tags": [
 14892            "GitLab Sync"
 14893          ],
 14894          "parameters": [
 14895            {
 14896              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14897            },
 14898            {
 14899              "$ref": "#/components/parameters/gitlab_sync_id"
 14900            }
 14901          ],
 14902          "responses": {
 14903            "200": {
 14904              "description": "OK",
 14905              "content": {
 14906                "application/json": {
 14907                  "schema": {
 14908                    "$ref": "#/components/schemas/gitlab_sync_export"
 14909                  }
 14910                }
 14911              },
 14912              "headers": {
 14913                "X-Rate-Limit-Limit": {
 14914                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 14915                },
 14916                "X-Rate-Limit-Remaining": {
 14917                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 14918                },
 14919                "X-Rate-Limit-Reset": {
 14920                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 14921                }
 14922              }
 14923            },
 14924            "400": {
 14925              "$ref": "#/components/responses/400"
 14926            },
 14927            "404": {
 14928              "$ref": "#/components/responses/404"
 14929            },
 14930            "429": {
 14931              "$ref": "#/components/responses/429"
 14932            }
 14933          },
 14934          "x-code-samples": [
 14935            {
 14936              "lang": "Curl",
 14937              "source": "curl \"https://api.phrase.com/v2/gitlab_syncs/:gitlab_sync_id/export\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"account_id\":\"abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
 14938            },
 14939            {
 14940              "lang": "CLI v2",
 14941              "source": "phrase git_lab_sync export \\\n--gitlab_sync_id <gitlab_sync_id> \\\n--data '{\"account_id\":\"abcd1234\"}' \\\n--access_token <token>"
 14942            }
 14943          ],
 14944          "requestBody": {
 14945            "required": true,
 14946            "content": {
 14947              "application/json": {
 14948                "schema": {
 14949                  "type": "object",
 14950                  "title": "gitlab_sync/export/parameters",
 14951                  "properties": {
 14952                    "account_id": {
 14953                      "description": "Account ID to specify the actual account the GitLab Sync should be created in. Required if the requesting user is a member of multiple accounts.",
 14954                      "type": "string",
 14955                      "example": "abcd1234"
 14956                    }
 14957                  }
 14958                }
 14959              }
 14960            }
 14961          },
 14962          "x-cli-version": "2.5"
 14963        }
 14964      },
 14965      "/gitlab_syncs/{gitlab_sync_id}/history": {
 14966        "get": {
 14967          "summary": "History of single Sync Setting",
 14968          "description": "List history for a single Sync Setting.",
 14969          "operationId": "gitlab_sync/history",
 14970          "tags": [
 14971            "GitLab Sync"
 14972          ],
 14973          "parameters": [
 14974            {
 14975              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 14976            },
 14977            {
 14978              "$ref": "#/components/parameters/gitlab_sync_id"
 14979            },
 14980            {
 14981              "$ref": "#/components/parameters/page"
 14982            },
 14983            {
 14984              "$ref": "#/components/parameters/per_page"
 14985            },
 14986            {
 14987              "description": "Account ID to specify the actual account the GitLab Sync should be created in. Required if the requesting user is a member of multiple accounts.",
 14988              "example": "abcd1234",
 14989              "name": "account_id",
 14990              "in": "query",
 14991              "schema": {
 14992                "type": "string"
 14993              }
 14994            }
 14995          ],
 14996          "responses": {
 14997            "200": {
 14998              "description": "OK",
 14999              "content": {
 15000                "application/json": {
 15001                  "schema": {
 15002                    "type": "array",
 15003                    "items": {
 15004                      "$ref": "#/components/schemas/gitlab_sync_history"
 15005                    }
 15006                  }
 15007                }
 15008              },
 15009              "headers": {
 15010                "X-Rate-Limit-Limit": {
 15011                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 15012                },
 15013                "X-Rate-Limit-Remaining": {
 15014                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 15015                },
 15016                "X-Rate-Limit-Reset": {
 15017                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 15018                },
 15019                "Link": {
 15020                  "$ref": "#/components/headers/Link"
 15021                },
 15022                "Pagination": {
 15023                  "$ref": "#/components/headers/Pagination"
 15024                }
 15025              }
 15026            },
 15027            "400": {
 15028              "$ref": "#/components/responses/400"
 15029            },
 15030            "404": {
 15031              "$ref": "#/components/responses/404"
 15032            },
 15033            "429": {
 15034              "$ref": "#/components/responses/429"
 15035            }
 15036          },
 15037          "x-code-samples": [
 15038            {
 15039              "lang": "Curl",
 15040              "source": "curl \"https://api.phrase.com/v2/gitlab_syncs/:gitlab_sync_id/history?account_id=abcd1234\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 15041            },
 15042            {
 15043              "lang": "CLI v2",
 15044              "source": "phrase gitlab_syncs history \\\n--gitlab_sync_id <gitlab_sync_id> \\\n--account_id abcd1234 \\\n--access_token <token>"
 15045            }
 15046          ],
 15047          "x-cli-version": "2.5"
 15048        }
 15049      },
 15050      "/projects/{project_id}/translations/{translation_id}/versions": {
 15051        "get": {
 15052          "summary": "List all versions",
 15053          "description": "List all changes done to a given translation.",
 15054          "operationId": "versions/list",
 15055          "tags": [
 15056            "Versions / History"
 15057          ],
 15058          "parameters": [
 15059            {
 15060              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 15061            },
 15062            {
 15063              "$ref": "#/components/parameters/project_id"
 15064            },
 15065            {
 15066              "$ref": "#/components/parameters/translation_id"
 15067            },
 15068            {
 15069              "$ref": "#/components/parameters/page"
 15070            },
 15071            {
 15072              "$ref": "#/components/parameters/per_page"
 15073            },
 15074            {
 15075              "description": "specify the branch to use",
 15076              "example": "my-feature-branch",
 15077              "name": "branch",
 15078              "in": "query",
 15079              "schema": {
 15080                "type": "string"
 15081              }
 15082            }
 15083          ],
 15084          "responses": {
 15085            "200": {
 15086              "description": "OK",
 15087              "content": {
 15088                "application/json": {
 15089                  "schema": {
 15090                    "type": "array",
 15091                    "items": {
 15092                      "$ref": "#/components/schemas/translation_version"
 15093                    }
 15094                  }
 15095                }
 15096              },
 15097              "headers": {
 15098                "X-Rate-Limit-Limit": {
 15099                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 15100                },
 15101                "X-Rate-Limit-Remaining": {
 15102                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 15103                },
 15104                "X-Rate-Limit-Reset": {
 15105                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 15106                },
 15107                "Link": {
 15108                  "$ref": "#/components/headers/Link"
 15109                },
 15110                "Pagination": {
 15111                  "$ref": "#/components/headers/Pagination"
 15112                }
 15113              }
 15114            },
 15115            "400": {
 15116              "$ref": "#/components/responses/400"
 15117            },
 15118            "404": {
 15119              "$ref": "#/components/responses/404"
 15120            },
 15121            "429": {
 15122              "$ref": "#/components/responses/429"
 15123            }
 15124          },
 15125          "x-code-samples": [
 15126            {
 15127              "lang": "Curl",
 15128              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/:translation_id/versions?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 15129            },
 15130            {
 15131              "lang": "CLI v2",
 15132              "source": "phrase versions list \\\n--project_id <project_id> \\\n--translation_id <translation_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 15133            }
 15134          ],
 15135          "x-cli-version": "2.5"
 15136        }
 15137      },
 15138      "/projects/{project_id}/translations/{translation_id}/versions/{id}": {
 15139        "get": {
 15140          "summary": "Get a single version",
 15141          "description": "Get details on a single version.",
 15142          "operationId": "version/show",
 15143          "tags": [
 15144            "Versions / History"
 15145          ],
 15146          "parameters": [
 15147            {
 15148              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 15149            },
 15150            {
 15151              "$ref": "#/components/parameters/project_id"
 15152            },
 15153            {
 15154              "$ref": "#/components/parameters/translation_id"
 15155            },
 15156            {
 15157              "$ref": "#/components/parameters/id"
 15158            },
 15159            {
 15160              "description": "specify the branch to use",
 15161              "example": "my-feature-branch",
 15162              "name": "branch",
 15163              "in": "query",
 15164              "schema": {
 15165                "type": "string"
 15166              }
 15167            }
 15168          ],
 15169          "responses": {
 15170            "200": {
 15171              "description": "OK",
 15172              "content": {
 15173                "application/json": {
 15174                  "schema": {
 15175                    "$ref": "#/components/schemas/translation_version_with_user"
 15176                  }
 15177                }
 15178              },
 15179              "headers": {
 15180                "X-Rate-Limit-Limit": {
 15181                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 15182                },
 15183                "X-Rate-Limit-Remaining": {
 15184                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 15185                },
 15186                "X-Rate-Limit-Reset": {
 15187                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 15188                }
 15189              }
 15190            },
 15191            "400": {
 15192              "$ref": "#/components/responses/400"
 15193            },
 15194            "404": {
 15195              "$ref": "#/components/responses/404"
 15196            },
 15197            "429": {
 15198              "$ref": "#/components/responses/429"
 15199            }
 15200          },
 15201          "x-code-samples": [
 15202            {
 15203              "lang": "Curl",
 15204              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/:translation_id/versions/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 15205            },
 15206            {
 15207              "lang": "CLI v2",
 15208              "source": "phrase versions show \\\n--project_id <project_id> \\\n--translation_id <translation_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 15209            }
 15210          ],
 15211          "x-cli-version": "2.5"
 15212        }
 15213      },
 15214      "/accounts/{account_id}/glossaries/{glossary_id}/terms/{term_id}/translations": {
 15215        "post": {
 15216          "summary": "Create a translation for a term",
 15217          "description": "Create a new translation for a term in a term base (previously: glossary).",
 15218          "operationId": "glossary_term_translation/create",
 15219          "tags": [
 15220            "Glossary Term Translations"
 15221          ],
 15222          "parameters": [
 15223            {
 15224              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 15225            },
 15226            {
 15227              "$ref": "#/components/parameters/account_id"
 15228            },
 15229            {
 15230              "$ref": "#/components/parameters/glossary_id"
 15231            },
 15232            {
 15233              "$ref": "#/components/parameters/term_id"
 15234            }
 15235          ],
 15236          "responses": {
 15237            "201": {
 15238              "description": "Created",
 15239              "content": {
 15240                "application/json": {
 15241                  "schema": {
 15242                    "$ref": "#/components/schemas/glossary_term_translation"
 15243                  }
 15244                }
 15245              },
 15246              "headers": {
 15247                "X-Rate-Limit-Limit": {
 15248                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 15249                },
 15250                "X-Rate-Limit-Remaining": {
 15251                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 15252                },
 15253                "X-Rate-Limit-Reset": {
 15254                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 15255                }
 15256              }
 15257            },
 15258            "400": {
 15259              "$ref": "#/components/responses/400"
 15260            },
 15261            "404": {
 15262              "$ref": "#/components/responses/404"
 15263            },
 15264            "429": {
 15265              "$ref": "#/components/responses/429"
 15266            }
 15267          },
 15268          "x-code-samples": [
 15269            {
 15270              "lang": "Curl",
 15271              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:glossary_id/terms/:term_id/translations\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"locale_code\":\"en-US\",\"content\":\"My translated term\"}' \\\n  -H 'Content-Type: application/json'"
 15272            },
 15273            {
 15274              "lang": "CLI v2",
 15275              "source": "phrase glossary_term_translations create \\\n--account_id <account_id> \\\n--glossary_id <glossary_id> \\\n--term_id <term_id> \\\n--data '{\"locale_code\":\"en-US\", \"content\": \"My translated term\"}' \\\n--access_token <token>"
 15276            }
 15277          ],
 15278          "requestBody": {
 15279            "required": true,
 15280            "content": {
 15281              "application/json": {
 15282                "schema": {
 15283                  "type": "object",
 15284                  "title": "glossary_term_translation/create/parameters",
 15285                  "required": [
 15286                    "locale_code",
 15287                    "content"
 15288                  ],
 15289                  "properties": {
 15290                    "locale_code": {
 15291                      "description": "Identifies the language for this translation",
 15292                      "type": "string",
 15293                      "example": "en-US"
 15294                    },
 15295                    "content": {
 15296                      "description": "The content of the translation",
 15297                      "type": "string",
 15298                      "example": "My translated term"
 15299                    }
 15300                  }
 15301                }
 15302              }
 15303            }
 15304          },
 15305          "x-cli-version": "2.5"
 15306        }
 15307      },
 15308      "/accounts/{account_id}/glossaries/{glossary_id}/terms/{term_id}/translations/{id}": {
 15309        "patch": {
 15310          "summary": "Update a translation for a term",
 15311          "description": "Update an existing translation for a term in a term base (previously: glossary).",
 15312          "operationId": "glossary_term_translation/update",
 15313          "tags": [
 15314            "Glossary Term Translations"
 15315          ],
 15316          "parameters": [
 15317            {
 15318              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 15319            },
 15320            {
 15321              "$ref": "#/components/parameters/account_id"
 15322            },
 15323            {
 15324              "$ref": "#/components/parameters/glossary_id"
 15325            },
 15326            {
 15327              "$ref": "#/components/parameters/term_id"
 15328            },
 15329            {
 15330              "$ref": "#/components/parameters/id"
 15331            }
 15332          ],
 15333          "responses": {
 15334            "200": {
 15335              "description": "OK",
 15336              "content": {
 15337                "application/json": {
 15338                  "schema": {
 15339                    "$ref": "#/components/schemas/glossary_term_translation"
 15340                  }
 15341                }
 15342              },
 15343              "headers": {
 15344                "X-Rate-Limit-Limit": {
 15345                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 15346                },
 15347                "X-Rate-Limit-Remaining": {
 15348                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 15349                },
 15350                "X-Rate-Limit-Reset": {
 15351                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 15352                }
 15353              }
 15354            },
 15355            "400": {
 15356              "$ref": "#/components/responses/400"
 15357            },
 15358            "404": {
 15359              "$ref": "#/components/responses/404"
 15360            },
 15361            "429": {
 15362              "$ref": "#/components/responses/429"
 15363            }
 15364          },
 15365          "x-code-samples": [
 15366            {
 15367              "lang": "Curl",
 15368              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:glossary_id/terms/:term_id/translations/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"locale_code\":\"en-US\",\"content\":\"My translated term\"}' \\\n  -H 'Content-Type: application/json'"
 15369            },
 15370            {
 15371              "lang": "CLI v2",
 15372              "source": "phrase glossary_term_translations update \\\n--account_id <account_id> \\\n--glossary_id <glossary_id> \\\n--term_id <term_id> \\\n--id <id> \\\n--data '{\"locale_code\":\"en-US\", \"content\": \"My translated term\"}' \\\n--access_token <token>"
 15373            }
 15374          ],
 15375          "requestBody": {
 15376            "required": true,
 15377            "content": {
 15378              "application/json": {
 15379                "schema": {
 15380                  "type": "object",
 15381                  "title": "glossary_term_translation/update/parameters",
 15382                  "properties": {
 15383                    "locale_code": {
 15384                      "description": "Identifies the language for this translation",
 15385                      "type": "string",
 15386                      "example": "en-US"
 15387                    },
 15388                    "content": {
 15389                      "description": "The content of the translation",
 15390                      "type": "string",
 15391                      "example": "My translated term"
 15392                    }
 15393                  }
 15394                }
 15395              }
 15396            }
 15397          },
 15398          "x-cli-version": "2.5"
 15399        },
 15400        "delete": {
 15401          "summary": "Delete a translation for a term",
 15402          "description": "Delete an existing translation of a term in a term base (previously: glossary).",
 15403          "operationId": "glossary_term_translation/delete",
 15404          "tags": [
 15405            "Glossary Term Translations"
 15406          ],
 15407          "parameters": [
 15408            {
 15409              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 15410            },
 15411            {
 15412              "$ref": "#/components/parameters/account_id"
 15413            },
 15414            {
 15415              "$ref": "#/components/parameters/glossary_id"
 15416            },
 15417            {
 15418              "$ref": "#/components/parameters/term_id"
 15419            },
 15420            {
 15421              "$ref": "#/components/parameters/id"
 15422            }
 15423          ],
 15424          "responses": {
 15425            "204": {
 15426              "$ref": "#/components/responses/204"
 15427            },
 15428            "400": {
 15429              "$ref": "#/components/responses/400"
 15430            },
 15431            "404": {
 15432              "$ref": "#/components/responses/404"
 15433            },
 15434            "429": {
 15435              "$ref": "#/components/responses/429"
 15436            }
 15437          },
 15438          "x-code-samples": [
 15439            {
 15440              "lang": "Curl",
 15441              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:glossary_id/terms/:term_id/translations/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 15442            },
 15443            {
 15444              "lang": "CLI v2",
 15445              "source": "phrase glossary_term_translations delete \\\n--account_id <account_id> \\\n--glossary_id <glossary_id> \\\n--term_id <term_id> \\\n--id <id> \\\n--access_token <token>"
 15446            }
 15447          ],
 15448          "x-cli-version": "2.5"
 15449        }
 15450      },
 15451      "/projects": {
 15452        "get": {
 15453          "summary": "List projects",
 15454          "description": "List all projects the current user has access to.",
 15455          "operationId": "projects/list",
 15456          "tags": [
 15457            "Projects"
 15458          ],
 15459          "parameters": [
 15460            {
 15461              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 15462            },
 15463            {
 15464              "$ref": "#/components/parameters/page"
 15465            },
 15466            {
 15467              "$ref": "#/components/parameters/per_page"
 15468            },
 15469            {
 15470              "$ref": "#/components/parameters/query_account_id"
 15471            },
 15472            {
 15473              "description": "Sort projects. Valid options are \"name_asc\", \"name_desc\", \"updated_at_asc\", \"updated_at_desc\", \"space_asc\" and \"space_desc\".",
 15474              "example": null,
 15475              "name": "sort_by",
 15476              "in": "query",
 15477              "schema": {
 15478                "type": "string"
 15479              }
 15480            },
 15481            {
 15482              "description": "Filter projects. Valid options are [\"favorites\"].",
 15483              "example": "favorites",
 15484              "name": "filters",
 15485              "in": "query",
 15486              "schema": {
 15487                "type": "array",
 15488                "items": {
 15489                  "type": "string"
 15490                }
 15491              }
 15492            }
 15493          ],
 15494          "responses": {
 15495            "200": {
 15496              "description": "OK",
 15497              "content": {
 15498                "application/json": {
 15499                  "schema": {
 15500                    "type": "array",
 15501                    "items": {
 15502                      "$ref": "#/components/schemas/project"
 15503                    }
 15504                  }
 15505                }
 15506              },
 15507              "headers": {
 15508                "X-Rate-Limit-Limit": {
 15509                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 15510                },
 15511                "X-Rate-Limit-Remaining": {
 15512                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 15513                },
 15514                "X-Rate-Limit-Reset": {
 15515                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 15516                },
 15517                "Link": {
 15518                  "$ref": "#/components/headers/Link"
 15519                },
 15520                "Pagination": {
 15521                  "$ref": "#/components/headers/Pagination"
 15522                }
 15523              }
 15524            },
 15525            "400": {
 15526              "$ref": "#/components/responses/400"
 15527            },
 15528            "404": {
 15529              "$ref": "#/components/responses/404"
 15530            },
 15531            "429": {
 15532              "$ref": "#/components/responses/429"
 15533            }
 15534          },
 15535          "x-code-samples": [
 15536            {
 15537              "lang": "Curl",
 15538              "source": "curl \"https://api.phrase.com/v2/projects\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 15539            },
 15540            {
 15541              "lang": "CLI v2",
 15542              "source": "phrase projects list \\\n--access_token <token>"
 15543            }
 15544          ],
 15545          "x-cli-version": "2.5"
 15546        },
 15547        "post": {
 15548          "summary": "Create a project",
 15549          "description": "Create a new project.",
 15550          "operationId": "project/create",
 15551          "tags": [
 15552            "Projects"
 15553          ],
 15554          "parameters": [
 15555            {
 15556              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 15557            }
 15558          ],
 15559          "responses": {
 15560            "201": {
 15561              "description": "Created",
 15562              "content": {
 15563                "application/json": {
 15564                  "schema": {
 15565                    "$ref": "#/components/schemas/project_details"
 15566                  }
 15567                }
 15568              },
 15569              "headers": {
 15570                "X-Rate-Limit-Limit": {
 15571                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 15572                },
 15573                "X-Rate-Limit-Remaining": {
 15574                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 15575                },
 15576                "X-Rate-Limit-Reset": {
 15577                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 15578                }
 15579              }
 15580            },
 15581            "400": {
 15582              "$ref": "#/components/responses/400"
 15583            },
 15584            "404": {
 15585              "$ref": "#/components/responses/404"
 15586            },
 15587            "429": {
 15588              "$ref": "#/components/responses/429"
 15589            }
 15590          },
 15591          "x-code-samples": [
 15592            {
 15593              "lang": "Curl",
 15594              "source": "curl \"https://api.phrase.com/v2/projects\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -F name=My%20Android%20Project \\\n  -F main_format=yml \\\n  -F shares_translation_memory=true"
 15595            },
 15596            {
 15597              "lang": "CLI v2",
 15598              "source": "phrase projects create \\\n--data '{\"name\": \"My Android Project\", \"main_format\":\"yml\", \"shares_translation_memory\":\"true\"}' \\\n--access_token <token>"
 15599            }
 15600          ],
 15601          "requestBody": {
 15602            "required": true,
 15603            "content": {
 15604              "application/json": {
 15605                "schema": {
 15606                  "type": "object",
 15607                  "title": "project/create/parameters",
 15608                  "required": [
 15609                    "name"
 15610                  ],
 15611                  "properties": {
 15612                    "name": {
 15613                      "description": "Name of the project",
 15614                      "type": "string",
 15615                      "example": "My Android Project"
 15616                    },
 15617                    "main_format": {
 15618                      "description": "Main file format specified by its API Extension name. Used for locale downloads if no format is specified. For API Extension names of available file formats see <a href=\"https://support.phrase.com/hc/en-us/sections/6111343326364\">Format Guide</a> or our <a href=\"#formats\">Formats API Endpoint</a>.",
 15619                      "type": "string",
 15620                      "example": "yml"
 15621                    },
 15622                    "media": {
 15623                      "description": "(Optional) Main technology stack used in the project. It affects for example the suggested placeholder style. Predefined values include: `Ruby`, `JavaScript`, `AngularJS`, `React`, `iOS`, `Android`, `Python`, `PHP`, `Java`, `Go`, `Windows Phone`, `Rails`, `Node.js`, `.NET`, `Django`, `Symfony`, `Yii Framework`, `Zend Framework`, `Apple App Store Description`, `Google Play Description`, but it can also take any other value.",
 15624                      "type": "string",
 15625                      "example": "Python"
 15626                    },
 15627                    "shares_translation_memory": {
 15628                      "description": "Indicates whether the project should share the account's translation memory",
 15629                      "type": "boolean",
 15630                      "example": true
 15631                    },
 15632                    "project_image": {
 15633                      "description": "Image to identify the project",
 15634                      "type": "string",
 15635                      "format": "binary",
 15636                      "example": "/path/to/my/project-screenshot.png"
 15637                    },
 15638                    "remove_project_image": {
 15639                      "description": "Indicates whether the project image should be deleted.",
 15640                      "type": "boolean",
 15641                      "example": null
 15642                    },
 15643                    "account_id": {
 15644                      "description": "Account ID to specify the actual account the project should be created in. Required if the requesting user is a member of multiple accounts.",
 15645                      "type": "string",
 15646                      "example": "abcd1234"
 15647                    },
 15648                    "point_of_contact": {
 15649                      "description": "(Optional) User ID of the point of contact for the project.",
 15650                      "type": "string",
 15651                      "example": "abcd1234"
 15652                    },
 15653                    "source_project_id": {
 15654                      "description": "When a source project ID is given, a clone of that project will be created, including all locales, keys and translations as well as the main project settings if they are not defined otherwise through the params.",
 15655                      "type": "string",
 15656                      "example": "abcd1234"
 15657                    },
 15658                    "workflow": {
 15659                      "description": "(Optional) Review Workflow. \"simple\" / \"review\". <a href=\"https://support.phrase.com/hc/en-us/articles/5784094755484\">Read more</a>",
 15660                      "type": "string",
 15661                      "example": "review"
 15662                    },
 15663                    "machine_translation_enabled": {
 15664                      "description": "(Optional) Enable machine translation support in the project. Required for Autopilot and Smart Suggest",
 15665                      "type": "boolean",
 15666                      "example": true
 15667                    },
 15668                    "enable_branching": {
 15669                      "description": "(Optional) Enable branching in the project",
 15670                      "type": "boolean",
 15671                      "example": true
 15672                    },
 15673                    "protect_master_branch": {
 15674                      "description": "(Optional) Protect the master branch in project where branching is enabled",
 15675                      "type": "boolean",
 15676                      "example": true
 15677                    },
 15678                    "enable_all_data_type_translation_keys_for_translators": {
 15679                      "description": "(Optional) Otherwise, translators are not allowed to edit translations other than strings",
 15680                      "type": "boolean",
 15681                      "example": true
 15682                    },
 15683                    "enable_icu_message_format": {
 15684                      "description": "(Optional) We can validate and highlight your ICU messages. <a href=\"https://support.phrase.com/hc/en-us/articles/5822319545116\">Read more</a>",
 15685                      "type": "boolean",
 15686                      "example": true
 15687                    },
 15688                    "zero_plural_form_enabled": {
 15689                      "description": "(Optional) Displays the input fields for the 'ZERO' plural form for every key as well although only some languages require the 'ZERO' explicitly.",
 15690                      "type": "boolean",
 15691                      "example": true
 15692                    },
 15693                    "autotranslate_enabled": {
 15694                      "description": "(Optional) Autopilot, requires machine_translation_enabled. <a href=\"https://support.phrase.com/hc/en-us/articles/5822187934364\">Read more</a>",
 15695                      "type": "boolean",
 15696                      "example": true
 15697                    },
 15698                    "autotranslate_check_new_translation_keys": {
 15699                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15700                      "type": "boolean",
 15701                      "example": true
 15702                    },
 15703                    "autotranslate_check_new_uploads": {
 15704                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15705                      "type": "boolean",
 15706                      "example": true
 15707                    },
 15708                    "autotranslate_check_new_locales": {
 15709                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15710                      "type": "boolean",
 15711                      "example": true
 15712                    },
 15713                    "autotranslate_mark_as_unverified": {
 15714                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15715                      "type": "boolean",
 15716                      "example": true
 15717                    },
 15718                    "autotranslate_use_machine_translation": {
 15719                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15720                      "type": "boolean",
 15721                      "example": true
 15722                    },
 15723                    "autotranslate_use_translation_memory": {
 15724                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15725                      "type": "boolean",
 15726                      "example": true
 15727                    },
 15728                    "smart_suggest_enabled": {
 15729                      "description": "(Optional) Smart Suggest, requires machine_translation_enabled",
 15730                      "type": "boolean",
 15731                      "example": true
 15732                    },
 15733                    "smart_suggest_use_glossary": {
 15734                      "description": "(Optional) Requires smart_suggest_enabled to be true",
 15735                      "type": "boolean",
 15736                      "example": true
 15737                    },
 15738                    "smart_suggest_use_machine_translation": {
 15739                      "description": "(Optional) Requires smart_suggest_enabled to be true",
 15740                      "type": "boolean",
 15741                      "example": true
 15742                    }
 15743                  }
 15744                }
 15745              }
 15746            }
 15747          },
 15748          "x-cli-version": "2.6.3"
 15749        }
 15750      },
 15751      "/projects/{id}": {
 15752        "get": {
 15753          "summary": "Get a single project",
 15754          "description": "Get details on a single project.",
 15755          "operationId": "project/show",
 15756          "tags": [
 15757            "Projects"
 15758          ],
 15759          "parameters": [
 15760            {
 15761              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 15762            },
 15763            {
 15764              "$ref": "#/components/parameters/id"
 15765            }
 15766          ],
 15767          "responses": {
 15768            "200": {
 15769              "description": "OK",
 15770              "content": {
 15771                "application/json": {
 15772                  "schema": {
 15773                    "$ref": "#/components/schemas/project_details"
 15774                  }
 15775                }
 15776              },
 15777              "headers": {
 15778                "X-Rate-Limit-Limit": {
 15779                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 15780                },
 15781                "X-Rate-Limit-Remaining": {
 15782                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 15783                },
 15784                "X-Rate-Limit-Reset": {
 15785                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 15786                }
 15787              }
 15788            },
 15789            "400": {
 15790              "$ref": "#/components/responses/400"
 15791            },
 15792            "404": {
 15793              "$ref": "#/components/responses/404"
 15794            },
 15795            "429": {
 15796              "$ref": "#/components/responses/429"
 15797            }
 15798          },
 15799          "x-code-samples": [
 15800            {
 15801              "lang": "Curl",
 15802              "source": "curl \"https://api.phrase.com/v2/projects/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 15803            },
 15804            {
 15805              "lang": "CLI v2",
 15806              "source": "phrase projects show \\\n--id <id> \\\n--access_token <token>"
 15807            }
 15808          ],
 15809          "x-cli-version": "2.5"
 15810        },
 15811        "patch": {
 15812          "summary": "Update a project",
 15813          "description": "Update an existing project.",
 15814          "operationId": "project/update",
 15815          "tags": [
 15816            "Projects"
 15817          ],
 15818          "parameters": [
 15819            {
 15820              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 15821            },
 15822            {
 15823              "$ref": "#/components/parameters/id"
 15824            }
 15825          ],
 15826          "responses": {
 15827            "200": {
 15828              "description": "OK",
 15829              "content": {
 15830                "application/json": {
 15831                  "schema": {
 15832                    "$ref": "#/components/schemas/project_details"
 15833                  }
 15834                }
 15835              },
 15836              "headers": {
 15837                "X-Rate-Limit-Limit": {
 15838                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 15839                },
 15840                "X-Rate-Limit-Remaining": {
 15841                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 15842                },
 15843                "X-Rate-Limit-Reset": {
 15844                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 15845                }
 15846              }
 15847            },
 15848            "400": {
 15849              "$ref": "#/components/responses/400"
 15850            },
 15851            "404": {
 15852              "$ref": "#/components/responses/404"
 15853            },
 15854            "429": {
 15855              "$ref": "#/components/responses/429"
 15856            }
 15857          },
 15858          "x-code-samples": [
 15859            {
 15860              "lang": "Curl",
 15861              "source": "curl \"https://api.phrase.com/v2/projects/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -F name=My%20Android%20Project \\\n  -F main_format=yml \\\n  -F shares_translation_memory=true"
 15862            },
 15863            {
 15864              "lang": "CLI v2",
 15865              "source": "phrase projects update \\\n--id <id> \\\n--data '{\"name\": \"My Android Project\", \"main_format\":\"yml\", \"shares_translation_memory\":true}' \\\n--access_token <token>"
 15866            }
 15867          ],
 15868          "requestBody": {
 15869            "required": true,
 15870            "content": {
 15871              "application/json": {
 15872                "schema": {
 15873                  "type": "object",
 15874                  "title": "project/update/parameters",
 15875                  "properties": {
 15876                    "account_id": {
 15877                      "description": "Required if the requesting user is a member of multiple accounts. Account ID to specify the actual account the project should be created in.",
 15878                      "type": "string",
 15879                      "example": "abcd1234"
 15880                    },
 15881                    "name": {
 15882                      "description": "(Optional) Name of the project",
 15883                      "type": "string",
 15884                      "example": "My Android Project"
 15885                    },
 15886                    "point_of_contact": {
 15887                      "description": "(Optional) User ID of the point of contact for the project. Pass `null` to unset.",
 15888                      "type": "string",
 15889                      "example": "abcd1234"
 15890                    },
 15891                    "main_format": {
 15892                      "description": "(Optional) Main file format specified by its API Extension name. Used for locale downloads if no format is specified. For API Extension names of available file formats see <a href=\"https://support.phrase.com/hc/en-us/sections/6111343326364\">Format Guide</a> or our <a href=\"#formats\">Formats API Endpoint</a>.",
 15893                      "type": "string",
 15894                      "example": "yml"
 15895                    },
 15896                    "media": {
 15897                      "description": "(Optional) Main technology stack used in the project. It affects for example the suggested placeholder style. Predefined values include: `Ruby`, `JavaScript`, `AngularJS`, `React`, `iOS`, `Android`, `Python`, `PHP`, `Java`, `Go`, `Windows Phone`, `Rails`, `Node.js`, `.NET`, `Django`, `Symfony`, `Yii Framework`, `Zend Framework`, `Apple App Store Description`, `Google Play Description`, but it can also take any other value.",
 15898                      "type": "string",
 15899                      "example": "Python"
 15900                    },
 15901                    "shares_translation_memory": {
 15902                      "description": "(Optional) Indicates whether the project should share the account's translation memory",
 15903                      "type": "boolean",
 15904                      "example": true
 15905                    },
 15906                    "project_image": {
 15907                      "description": "(Optional) Image to identify the project",
 15908                      "type": "string",
 15909                      "format": "binary",
 15910                      "example": "/path/to/my/project-screenshot.png"
 15911                    },
 15912                    "remove_project_image": {
 15913                      "description": "(Optional) Indicates whether the project image should be deleted.",
 15914                      "type": "boolean",
 15915                      "example": false
 15916                    },
 15917                    "workflow": {
 15918                      "description": "(Optional) Review Workflow. \"simple\" / \"review\". <a href=\"https://support.phrase.com/hc/en-us/articles/5784094755484\">Read more</a>",
 15919                      "type": "string",
 15920                      "example": "review"
 15921                    },
 15922                    "machine_translation_enabled": {
 15923                      "description": "(Optional) Enable machine translation support in the project. Required for Autopilot and Smart Suggest",
 15924                      "type": "boolean",
 15925                      "example": true
 15926                    },
 15927                    "enable_branching": {
 15928                      "description": "(Optional) Enable branching in the project",
 15929                      "type": "boolean",
 15930                      "example": true
 15931                    },
 15932                    "protect_master_branch": {
 15933                      "description": "(Optional) Protect the master branch in project where branching is enabled",
 15934                      "type": "boolean",
 15935                      "example": true
 15936                    },
 15937                    "enable_all_data_type_translation_keys_for_translators": {
 15938                      "description": "(Optional) Otherwise, translators are not allowed to edit translations other than strings",
 15939                      "type": "boolean",
 15940                      "example": true
 15941                    },
 15942                    "enable_icu_message_format": {
 15943                      "description": "(Optional) We can validate and highlight your ICU messages. <a href=\"https://support.phrase.com/hc/en-us/articles/5822319545116\">Read more</a>",
 15944                      "type": "boolean",
 15945                      "example": true
 15946                    },
 15947                    "zero_plural_form_enabled": {
 15948                      "description": "(Optional) Displays the input fields for the 'ZERO' plural form for every key as well although only some languages require the 'ZERO' explicitly.",
 15949                      "type": "boolean",
 15950                      "example": true
 15951                    },
 15952                    "autotranslate_enabled": {
 15953                      "description": "(Optional) Autopilot, requires machine_translation_enabled. <a href=\"https://support.phrase.com/hc/en-us/articles/5822187934364\">Read more</a>",
 15954                      "type": "boolean",
 15955                      "example": true
 15956                    },
 15957                    "autotranslate_check_new_translation_keys": {
 15958                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15959                      "type": "boolean",
 15960                      "example": true
 15961                    },
 15962                    "autotranslate_check_new_uploads": {
 15963                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15964                      "type": "boolean",
 15965                      "example": true
 15966                    },
 15967                    "autotranslate_check_new_locales": {
 15968                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15969                      "type": "boolean",
 15970                      "example": true
 15971                    },
 15972                    "autotranslate_mark_as_unverified": {
 15973                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15974                      "type": "boolean",
 15975                      "example": true
 15976                    },
 15977                    "autotranslate_use_machine_translation": {
 15978                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15979                      "type": "boolean",
 15980                      "example": true
 15981                    },
 15982                    "autotranslate_use_translation_memory": {
 15983                      "description": "(Optional) Requires autotranslate_enabled to be true",
 15984                      "type": "boolean",
 15985                      "example": true
 15986                    },
 15987                    "smart_suggest_enabled": {
 15988                      "description": "(Optional) Smart Suggest, requires machine_translation_enabled",
 15989                      "type": "boolean",
 15990                      "example": true
 15991                    },
 15992                    "smart_suggest_use_glossary": {
 15993                      "description": "(Optional) Requires smart_suggest_enabled to be true",
 15994                      "type": "boolean",
 15995                      "example": true
 15996                    },
 15997                    "smart_suggest_use_machine_translation": {
 15998                      "description": "(Optional) Requires smart_suggest_enabled to be true",
 15999                      "type": "boolean",
 16000                      "example": true
 16001                    }
 16002                  }
 16003                }
 16004              }
 16005            }
 16006          },
 16007          "x-cli-version": "2.6.3"
 16008        },
 16009        "delete": {
 16010          "summary": "Delete a project",
 16011          "description": "Delete an existing project.",
 16012          "operationId": "project/delete",
 16013          "tags": [
 16014            "Projects"
 16015          ],
 16016          "parameters": [
 16017            {
 16018              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16019            },
 16020            {
 16021              "$ref": "#/components/parameters/id"
 16022            }
 16023          ],
 16024          "responses": {
 16025            "204": {
 16026              "$ref": "#/components/responses/204"
 16027            },
 16028            "400": {
 16029              "$ref": "#/components/responses/400"
 16030            },
 16031            "404": {
 16032              "$ref": "#/components/responses/404"
 16033            },
 16034            "429": {
 16035              "$ref": "#/components/responses/429"
 16036            }
 16037          },
 16038          "x-code-samples": [
 16039            {
 16040              "lang": "Curl",
 16041              "source": "curl \"https://api.phrase.com/v2/projects/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 16042            },
 16043            {
 16044              "lang": "CLI v2",
 16045              "source": "phrase projects delete \\\n--id <id> \\\n--access_token <token>"
 16046            }
 16047          ],
 16048          "x-cli-version": "2.5"
 16049        }
 16050      },
 16051      "/projects/{project_id}/jobs/{job_id}/locales": {
 16052        "get": {
 16053          "summary": "List job target locales",
 16054          "description": "List all target locales for a given job.",
 16055          "operationId": "job_locales/list",
 16056          "tags": [
 16057            "Job Locales"
 16058          ],
 16059          "parameters": [
 16060            {
 16061              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16062            },
 16063            {
 16064              "$ref": "#/components/parameters/project_id"
 16065            },
 16066            {
 16067              "$ref": "#/components/parameters/job_id"
 16068            },
 16069            {
 16070              "$ref": "#/components/parameters/page"
 16071            },
 16072            {
 16073              "$ref": "#/components/parameters/per_page"
 16074            },
 16075            {
 16076              "description": "specify the branch to use",
 16077              "example": "my-feature-branch",
 16078              "name": "branch",
 16079              "in": "query",
 16080              "schema": {
 16081                "type": "string"
 16082              }
 16083            }
 16084          ],
 16085          "responses": {
 16086            "200": {
 16087              "description": "OK",
 16088              "content": {
 16089                "application/json": {
 16090                  "schema": {
 16091                    "type": "array",
 16092                    "items": {
 16093                      "$ref": "#/components/schemas/job_locale"
 16094                    }
 16095                  }
 16096                }
 16097              },
 16098              "headers": {
 16099                "X-Rate-Limit-Limit": {
 16100                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 16101                },
 16102                "X-Rate-Limit-Remaining": {
 16103                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 16104                },
 16105                "X-Rate-Limit-Reset": {
 16106                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 16107                },
 16108                "Link": {
 16109                  "$ref": "#/components/headers/Link"
 16110                },
 16111                "Pagination": {
 16112                  "$ref": "#/components/headers/Pagination"
 16113                }
 16114              }
 16115            },
 16116            "400": {
 16117              "$ref": "#/components/responses/400"
 16118            },
 16119            "404": {
 16120              "$ref": "#/components/responses/404"
 16121            },
 16122            "429": {
 16123              "$ref": "#/components/responses/429"
 16124            }
 16125          },
 16126          "x-code-samples": [
 16127            {
 16128              "lang": "Curl",
 16129              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/locales?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 16130            },
 16131            {
 16132              "lang": "CLI v2",
 16133              "source": "phrase job_locales list \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 16134            }
 16135          ],
 16136          "x-cli-version": "2.5"
 16137        },
 16138        "post": {
 16139          "summary": "Add a target locale to a job",
 16140          "description": "Adds a target locale to a job.",
 16141          "operationId": "job_locales/create",
 16142          "tags": [
 16143            "Job Locales"
 16144          ],
 16145          "parameters": [
 16146            {
 16147              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16148            },
 16149            {
 16150              "$ref": "#/components/parameters/project_id"
 16151            },
 16152            {
 16153              "$ref": "#/components/parameters/job_id"
 16154            }
 16155          ],
 16156          "responses": {
 16157            "201": {
 16158              "description": "Created",
 16159              "content": {
 16160                "application/json": {
 16161                  "schema": {
 16162                    "$ref": "#/components/schemas/job_locale"
 16163                  }
 16164                }
 16165              },
 16166              "headers": {
 16167                "X-Rate-Limit-Limit": {
 16168                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 16169                },
 16170                "X-Rate-Limit-Remaining": {
 16171                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 16172                },
 16173                "X-Rate-Limit-Reset": {
 16174                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 16175                }
 16176              }
 16177            },
 16178            "400": {
 16179              "$ref": "#/components/responses/400"
 16180            },
 16181            "404": {
 16182              "$ref": "#/components/responses/404"
 16183            },
 16184            "429": {
 16185              "$ref": "#/components/responses/429"
 16186            }
 16187          },
 16188          "x-code-samples": [
 16189            {
 16190              "lang": "Curl",
 16191              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/locales\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"locale_id\":\"abcd1234cdef1234abcd1234cdef1234\",\"user_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"], \"translator_team_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n  -H 'Content-Type: application/json'"
 16192            },
 16193            {
 16194              "lang": "CLI v2",
 16195              "source": "phrase job_locales create \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"locale_id\":\"abcd1234cdef1234abcd1234cdef1234\", \"user_ids\": \"abcd1234cdef1234abcd1234cdef1234\", \"translator_team_ids\": \"abcd1234cdef1234abcd1234cdef1234\"}' \\\n--access_token <token>"
 16196            }
 16197          ],
 16198          "requestBody": {
 16199            "required": true,
 16200            "content": {
 16201              "application/json": {
 16202                "schema": {
 16203                  "type": "object",
 16204                  "title": "job_locales/create/parameters",
 16205                  "properties": {
 16206                    "branch": {
 16207                      "description": "specify the branch to use",
 16208                      "type": "string",
 16209                      "example": "my-feature-branch"
 16210                    },
 16211                    "locale_id": {
 16212                      "description": "ID of a locale to be added",
 16213                      "type": "string",
 16214                      "example": "abcd1234cdef1234abcd1234cdef1234"
 16215                    },
 16216                    "user_ids": {
 16217                      "description": "Array of user ids to be assigned to the job locale as translators",
 16218                      "type": "array",
 16219                      "items": {
 16220                        "type": "string"
 16221                      },
 16222                      "example": [
 16223                        "abcd1234cdef1234abcd1234cdef1234"
 16224                      ]
 16225                    },
 16226                    "reviewer_ids": {
 16227                      "description": "Array of reviewer ids to be assigned to the job locale as reviewers",
 16228                      "type": "array",
 16229                      "items": {
 16230                        "type": "string"
 16231                      },
 16232                      "example": [
 16233                        "abcd1234cdef1234abcd1234cdef1234"
 16234                      ]
 16235                    },
 16236                    "translator_team_ids": {
 16237                      "description": "Array of team ids to be assigned to the job locale as translators",
 16238                      "type": "array",
 16239                      "items": {
 16240                        "type": "string"
 16241                      },
 16242                      "example": [
 16243                        "abcd1234cdef1234abcd1234cdef1234"
 16244                      ]
 16245                    },
 16246                    "reviewer_team_ids": {
 16247                      "description": "Array of team ids to be assigned to the job locale as reviewers",
 16248                      "type": "array",
 16249                      "items": {
 16250                        "type": "string"
 16251                      },
 16252                      "example": [
 16253                        "abcd1234cdef1234abcd1234cdef1234"
 16254                      ]
 16255                    }
 16256                  },
 16257                  "required": [
 16258                    "locale_id"
 16259                  ]
 16260                }
 16261              }
 16262            }
 16263          },
 16264          "x-cli-version": "2.6.8"
 16265        }
 16266      },
 16267      "/projects/{project_id}/jobs/{job_id}/locales/{id}": {
 16268        "get": {
 16269          "summary": "Show single job target locale",
 16270          "description": "Get a single target locale for a given job.",
 16271          "operationId": "job_locale/show",
 16272          "tags": [
 16273            "Job Locales"
 16274          ],
 16275          "parameters": [
 16276            {
 16277              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16278            },
 16279            {
 16280              "$ref": "#/components/parameters/project_id"
 16281            },
 16282            {
 16283              "$ref": "#/components/parameters/job_id"
 16284            },
 16285            {
 16286              "$ref": "#/components/parameters/id"
 16287            },
 16288            {
 16289              "description": "specify the branch to use",
 16290              "example": "my-feature-branch",
 16291              "name": "branch",
 16292              "in": "query",
 16293              "schema": {
 16294                "type": "string"
 16295              }
 16296            }
 16297          ],
 16298          "responses": {
 16299            "200": {
 16300              "description": "OK",
 16301              "content": {
 16302                "application/json": {
 16303                  "schema": {
 16304                    "$ref": "#/components/schemas/job_locale"
 16305                  }
 16306                }
 16307              },
 16308              "headers": {
 16309                "X-Rate-Limit-Limit": {
 16310                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 16311                },
 16312                "X-Rate-Limit-Remaining": {
 16313                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 16314                },
 16315                "X-Rate-Limit-Reset": {
 16316                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 16317                }
 16318              }
 16319            },
 16320            "400": {
 16321              "$ref": "#/components/responses/400"
 16322            },
 16323            "404": {
 16324              "$ref": "#/components/responses/404"
 16325            },
 16326            "429": {
 16327              "$ref": "#/components/responses/429"
 16328            }
 16329          },
 16330          "x-code-samples": [
 16331            {
 16332              "lang": "Curl",
 16333              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/locales/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 16334            },
 16335            {
 16336              "lang": "CLI v2",
 16337              "source": "phrase job_locales show \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 16338            }
 16339          ],
 16340          "x-cli-version": "2.9.0"
 16341        },
 16342        "patch": {
 16343          "summary": "Update a job target locale",
 16344          "description": "Update an existing job target locale.",
 16345          "operationId": "job_locale/update",
 16346          "tags": [
 16347            "Job Locales"
 16348          ],
 16349          "parameters": [
 16350            {
 16351              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16352            },
 16353            {
 16354              "$ref": "#/components/parameters/project_id"
 16355            },
 16356            {
 16357              "$ref": "#/components/parameters/job_id"
 16358            },
 16359            {
 16360              "$ref": "#/components/parameters/id"
 16361            }
 16362          ],
 16363          "responses": {
 16364            "200": {
 16365              "description": "OK",
 16366              "content": {
 16367                "application/json": {
 16368                  "schema": {
 16369                    "$ref": "#/components/schemas/job_locale"
 16370                  }
 16371                }
 16372              },
 16373              "headers": {
 16374                "X-Rate-Limit-Limit": {
 16375                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 16376                },
 16377                "X-Rate-Limit-Remaining": {
 16378                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 16379                },
 16380                "X-Rate-Limit-Reset": {
 16381                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 16382                }
 16383              }
 16384            },
 16385            "400": {
 16386              "$ref": "#/components/responses/400"
 16387            },
 16388            "404": {
 16389              "$ref": "#/components/responses/404"
 16390            },
 16391            "429": {
 16392              "$ref": "#/components/responses/429"
 16393            }
 16394          },
 16395          "x-code-samples": [
 16396            {
 16397              "lang": "Curl",
 16398              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/locales/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"locale_id\":\"abcd1234cdef1234abcd1234cdef1234\",\"user_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"], \"team_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"], \"translator_team_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n  -H 'Content-Type: application/json'"
 16399            },
 16400            {
 16401              "lang": "CLI v2",
 16402              "source": "phrase job_locales update \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\", \"locale_id\":\"abcd1234cdef1234abcd1234cdef1234\", \"user_ids\": \"abcd1234cdef1234abcd1234cdef1234\", \"team_ids\": \"abcd1234cdef1234abcd1234cdef1234\", \"translator_team_ids\": \"abcd1234cdef1234abcd1234cdef1234\"}' \\\n--access_token <token>"
 16403            }
 16404          ],
 16405          "requestBody": {
 16406            "required": true,
 16407            "content": {
 16408              "application/json": {
 16409                "schema": {
 16410                  "type": "object",
 16411                  "title": "job_locale/update/parameters",
 16412                  "properties": {
 16413                    "branch": {
 16414                      "description": "specify the branch to use",
 16415                      "type": "string",
 16416                      "example": "my-feature-branch"
 16417                    },
 16418                    "locale_id": {
 16419                      "description": "ID of a target locale to update",
 16420                      "type": "string",
 16421                      "example": "abcd1234cdef1234abcd1234cdef1234"
 16422                    },
 16423                    "user_ids": {
 16424                      "description": "Array of user ids to be assigned to the job locale",
 16425                      "type": "array",
 16426                      "items": {
 16427                        "type": "string"
 16428                      },
 16429                      "example": [
 16430                        "abcd1234cdef1234abcd1234cdef1234"
 16431                      ]
 16432                    },
 16433                    "reviewer_ids": {
 16434                      "description": "Array of reviewer ids to be assigned to the job locale as reviewers",
 16435                      "type": "array",
 16436                      "items": {
 16437                        "type": "string"
 16438                      },
 16439                      "example": [
 16440                        "abcd1234cdef1234abcd1234cdef1234"
 16441                      ]
 16442                    },
 16443                    "translator_team_ids": {
 16444                      "description": "Array of team ids to be assigned to the job locale as translators",
 16445                      "type": "array",
 16446                      "items": {
 16447                        "type": "string"
 16448                      },
 16449                      "example": [
 16450                        "abcd1234cdef1234abcd1234cdef1234"
 16451                      ]
 16452                    },
 16453                    "reviewer_team_ids": {
 16454                      "description": "Array of team ids to be assigned to the job locale as reviewers",
 16455                      "type": "array",
 16456                      "items": {
 16457                        "type": "string"
 16458                      },
 16459                      "example": [
 16460                        "abcd1234cdef1234abcd1234cdef1234"
 16461                      ]
 16462                    }
 16463                  }
 16464                }
 16465              }
 16466            }
 16467          },
 16468          "x-cli-version": "2.6.8"
 16469        },
 16470        "delete": {
 16471          "summary": "Remove a target locale from a job",
 16472          "description": "Removes a target locale from a job.",
 16473          "operationId": "job_locale/delete",
 16474          "tags": [
 16475            "Job Locales"
 16476          ],
 16477          "parameters": [
 16478            {
 16479              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16480            },
 16481            {
 16482              "$ref": "#/components/parameters/project_id"
 16483            },
 16484            {
 16485              "$ref": "#/components/parameters/job_id"
 16486            },
 16487            {
 16488              "$ref": "#/components/parameters/id"
 16489            },
 16490            {
 16491              "description": "specify the branch to use",
 16492              "example": "my-feature-branch",
 16493              "name": "branch",
 16494              "in": "query",
 16495              "schema": {
 16496                "type": "string"
 16497              }
 16498            }
 16499          ],
 16500          "responses": {
 16501            "204": {
 16502              "$ref": "#/components/responses/204"
 16503            },
 16504            "400": {
 16505              "$ref": "#/components/responses/400"
 16506            },
 16507            "404": {
 16508              "$ref": "#/components/responses/404"
 16509            },
 16510            "429": {
 16511              "$ref": "#/components/responses/429"
 16512            }
 16513          },
 16514          "x-code-samples": [
 16515            {
 16516              "lang": "Curl",
 16517              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/locales/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 16518            },
 16519            {
 16520              "lang": "CLI v2",
 16521              "source": "phrase job_locales delete \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 16522            }
 16523          ],
 16524          "x-cli-version": "2.5"
 16525        }
 16526      },
 16527      "/projects/{project_id}/jobs/{job_id}/locales/{id}/complete": {
 16528        "post": {
 16529          "summary": "Complete a job locale",
 16530          "description": "Mark a job locale as completed.",
 16531          "operationId": "job_locale/complete",
 16532          "tags": [
 16533            "Job Locales"
 16534          ],
 16535          "parameters": [
 16536            {
 16537              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16538            },
 16539            {
 16540              "$ref": "#/components/parameters/project_id"
 16541            },
 16542            {
 16543              "$ref": "#/components/parameters/job_id"
 16544            },
 16545            {
 16546              "$ref": "#/components/parameters/id"
 16547            }
 16548          ],
 16549          "responses": {
 16550            "200": {
 16551              "description": "OK",
 16552              "content": {
 16553                "application/json": {
 16554                  "schema": {
 16555                    "$ref": "#/components/schemas/job_locale"
 16556                  }
 16557                }
 16558              },
 16559              "headers": {
 16560                "X-Rate-Limit-Limit": {
 16561                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 16562                },
 16563                "X-Rate-Limit-Remaining": {
 16564                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 16565                },
 16566                "X-Rate-Limit-Reset": {
 16567                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 16568                }
 16569              }
 16570            },
 16571            "400": {
 16572              "$ref": "#/components/responses/400"
 16573            },
 16574            "404": {
 16575              "$ref": "#/components/responses/404"
 16576            },
 16577            "429": {
 16578              "$ref": "#/components/responses/429"
 16579            }
 16580          },
 16581          "x-code-samples": [
 16582            {
 16583              "lang": "Curl",
 16584              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/locales/:id/complete\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 16585            },
 16586            {
 16587              "lang": "CLI v2",
 16588              "source": "phrase job_locales complete \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 16589            }
 16590          ],
 16591          "requestBody": {
 16592            "required": true,
 16593            "content": {
 16594              "application/json": {
 16595                "schema": {
 16596                  "type": "object",
 16597                  "title": "job_locale/complete/parameters",
 16598                  "properties": {
 16599                    "branch": {
 16600                      "description": "specify the branch to use",
 16601                      "type": "string",
 16602                      "example": "my-feature-branch"
 16603                    }
 16604                  }
 16605                }
 16606              }
 16607            }
 16608          },
 16609          "x-cli-version": "2.5"
 16610        }
 16611      },
 16612      "/projects/{project_id}/jobs/{job_id}/locales/{id}/complete_review": {
 16613        "post": {
 16614          "summary": "Review a job locale",
 16615          "description": "Mark job locale as reviewed.",
 16616          "operationId": "job_locale/complete_review",
 16617          "tags": [
 16618            "Job Locales"
 16619          ],
 16620          "parameters": [
 16621            {
 16622              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16623            },
 16624            {
 16625              "$ref": "#/components/parameters/project_id"
 16626            },
 16627            {
 16628              "$ref": "#/components/parameters/job_id"
 16629            },
 16630            {
 16631              "$ref": "#/components/parameters/id"
 16632            }
 16633          ],
 16634          "responses": {
 16635            "200": {
 16636              "description": "OK",
 16637              "content": {
 16638                "application/json": {
 16639                  "schema": {
 16640                    "$ref": "#/components/schemas/job_locale"
 16641                  }
 16642                }
 16643              },
 16644              "headers": {
 16645                "X-Rate-Limit-Limit": {
 16646                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 16647                },
 16648                "X-Rate-Limit-Remaining": {
 16649                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 16650                },
 16651                "X-Rate-Limit-Reset": {
 16652                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 16653                }
 16654              }
 16655            },
 16656            "400": {
 16657              "$ref": "#/components/responses/400"
 16658            },
 16659            "404": {
 16660              "$ref": "#/components/responses/404"
 16661            },
 16662            "429": {
 16663              "$ref": "#/components/responses/429"
 16664            }
 16665          },
 16666          "x-code-samples": [
 16667            {
 16668              "lang": "Curl",
 16669              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/locales/:id/complete_review\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 16670            },
 16671            {
 16672              "lang": "CLI v2",
 16673              "source": "phrase job_locales complete \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 16674            }
 16675          ],
 16676          "requestBody": {
 16677            "required": true,
 16678            "content": {
 16679              "application/json": {
 16680                "schema": {
 16681                  "type": "object",
 16682                  "title": "job_locale/complete_review/parameters",
 16683                  "properties": {
 16684                    "branch": {
 16685                      "description": "specify the branch to use",
 16686                      "type": "string",
 16687                      "example": "my-feature-branch"
 16688                    }
 16689                  }
 16690                }
 16691              }
 16692            }
 16693          },
 16694          "x-cli-version": "2.5"
 16695        }
 16696      },
 16697      "/projects/{project_id}/jobs/{job_id}/locales/{id}/reopen": {
 16698        "post": {
 16699          "summary": "Reopen a job locale",
 16700          "description": "Mark a job locale as uncompleted.",
 16701          "operationId": "job_locale/reopen",
 16702          "tags": [
 16703            "Job Locales"
 16704          ],
 16705          "parameters": [
 16706            {
 16707              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16708            },
 16709            {
 16710              "$ref": "#/components/parameters/project_id"
 16711            },
 16712            {
 16713              "$ref": "#/components/parameters/job_id"
 16714            },
 16715            {
 16716              "$ref": "#/components/parameters/id"
 16717            }
 16718          ],
 16719          "responses": {
 16720            "200": {
 16721              "description": "OK",
 16722              "content": {
 16723                "application/json": {
 16724                  "schema": {
 16725                    "$ref": "#/components/schemas/job_locale"
 16726                  }
 16727                }
 16728              },
 16729              "headers": {
 16730                "X-Rate-Limit-Limit": {
 16731                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 16732                },
 16733                "X-Rate-Limit-Remaining": {
 16734                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 16735                },
 16736                "X-Rate-Limit-Reset": {
 16737                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 16738                }
 16739              }
 16740            },
 16741            "400": {
 16742              "$ref": "#/components/responses/400"
 16743            },
 16744            "404": {
 16745              "$ref": "#/components/responses/404"
 16746            },
 16747            "429": {
 16748              "$ref": "#/components/responses/429"
 16749            }
 16750          },
 16751          "x-code-samples": [
 16752            {
 16753              "lang": "Curl",
 16754              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/locales/:id/reopen\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 16755            },
 16756            {
 16757              "lang": "CLI v2",
 16758              "source": "phrase job_locales reopen \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 16759            }
 16760          ],
 16761          "requestBody": {
 16762            "required": true,
 16763            "content": {
 16764              "application/json": {
 16765                "schema": {
 16766                  "type": "object",
 16767                  "title": "job_locale/reopen/parameters",
 16768                  "properties": {
 16769                    "branch": {
 16770                      "description": "specify the branch to use",
 16771                      "type": "string",
 16772                      "example": "my-feature-branch"
 16773                    }
 16774                  }
 16775                }
 16776              }
 16777            }
 16778          },
 16779          "x-cli-version": "2.5"
 16780        }
 16781      },
 16782      "/projects/{project_id}/job_templates/{job_template_id}/locales": {
 16783        "get": {
 16784          "summary": "List job template locales",
 16785          "description": "List all job template locales for a given job template.",
 16786          "operationId": "job_template_locales/list",
 16787          "tags": [
 16788            "Job Template Locales"
 16789          ],
 16790          "parameters": [
 16791            {
 16792              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16793            },
 16794            {
 16795              "$ref": "#/components/parameters/project_id"
 16796            },
 16797            {
 16798              "$ref": "#/components/parameters/job_template_id"
 16799            },
 16800            {
 16801              "$ref": "#/components/parameters/page"
 16802            },
 16803            {
 16804              "$ref": "#/components/parameters/per_page"
 16805            },
 16806            {
 16807              "description": "specify the branch to use",
 16808              "example": "my-feature-branch",
 16809              "name": "branch",
 16810              "in": "query",
 16811              "schema": {
 16812                "type": "string"
 16813              }
 16814            }
 16815          ],
 16816          "responses": {
 16817            "200": {
 16818              "description": "OK",
 16819              "content": {
 16820                "application/json": {
 16821                  "schema": {
 16822                    "type": "array",
 16823                    "items": {
 16824                      "$ref": "#/components/schemas/job_template_locales"
 16825                    }
 16826                  }
 16827                }
 16828              },
 16829              "headers": {
 16830                "X-Rate-Limit-Limit": {
 16831                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 16832                },
 16833                "X-Rate-Limit-Remaining": {
 16834                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 16835                },
 16836                "X-Rate-Limit-Reset": {
 16837                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 16838                },
 16839                "Link": {
 16840                  "$ref": "#/components/headers/Link"
 16841                },
 16842                "Pagination": {
 16843                  "$ref": "#/components/headers/Pagination"
 16844                }
 16845              }
 16846            },
 16847            "400": {
 16848              "$ref": "#/components/responses/400"
 16849            },
 16850            "404": {
 16851              "$ref": "#/components/responses/404"
 16852            },
 16853            "429": {
 16854              "$ref": "#/components/responses/429"
 16855            }
 16856          },
 16857          "x-code-samples": [
 16858            {
 16859              "lang": "Curl",
 16860              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/job_templates/:job_template_id/locales?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 16861            },
 16862            {
 16863              "lang": "CLI v2",
 16864              "source": "phrase job_template_locales list \\\n--project_id <project_id> \\\n--job_template_id <job_template_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 16865            }
 16866          ],
 16867          "x-cli-version": "2.5"
 16868        },
 16869        "post": {
 16870          "summary": "Create a job template locale",
 16871          "description": "Create a new job template locale.",
 16872          "operationId": "job_template_locales/create",
 16873          "tags": [
 16874            "Job Template Locales"
 16875          ],
 16876          "parameters": [
 16877            {
 16878              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 16879            },
 16880            {
 16881              "$ref": "#/components/parameters/project_id"
 16882            },
 16883            {
 16884              "$ref": "#/components/parameters/job_template_id"
 16885            }
 16886          ],
 16887          "responses": {
 16888            "201": {
 16889              "description": "Created",
 16890              "content": {
 16891                "application/json": {
 16892                  "schema": {
 16893                    "$ref": "#/components/schemas/job_template_locales"
 16894                  }
 16895                }
 16896              },
 16897              "headers": {
 16898                "X-Rate-Limit-Limit": {
 16899                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 16900                },
 16901                "X-Rate-Limit-Remaining": {
 16902                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 16903                },
 16904                "X-Rate-Limit-Reset": {
 16905                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 16906                }
 16907              }
 16908            },
 16909            "400": {
 16910              "$ref": "#/components/responses/400"
 16911            },
 16912            "404": {
 16913              "$ref": "#/components/responses/404"
 16914            },
 16915            "429": {
 16916              "$ref": "#/components/responses/429"
 16917            }
 16918          },
 16919          "x-code-samples": [
 16920            {
 16921              "lang": "Curl",
 16922              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/job_templates/:job_template_id/locales\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"locale_id\":\"abcd1234cdef1234abcd1234cdef1234\",\"user_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"],\"reviewer_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"], \"translator_team_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n  -H 'Content-Type: application/json'"
 16923            },
 16924            {
 16925              "lang": "CLI v2",
 16926              "source": "phrase job_template_locales create \\\n--project_id <project_id> \\\n--job_template_id <job_template_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"locale_id\":\"abcd1234cdef1234abcd1234cdef1234\", \"user_ids\": \"abcd1234cdef1234abcd1234cdef1234\", \"reviewer_ids\": \"abcd1234cdef1234abcd1234cdef1234\", \"translator_team_ids\":\"abcd1234cdef1234abcd1234cdef1234\"}' \\\n--access_token <token>"
 16927            }
 16928          ],
 16929          "requestBody": {
 16930            "required": true,
 16931            "content": {
 16932              "application/json": {
 16933                "schema": {
 16934                  "type": "object",
 16935                  "title": "job_template_locales/create/parameters",
 16936                  "properties": {
 16937                    "branch": {
 16938                      "description": "specify the branch to use",
 16939                      "type": "string",
 16940                      "example": "my-feature-branch"
 16941                    },
 16942                    "locale_id": {
 16943                      "description": "locale id",
 16944                      "type": "string",
 16945                      "example": "abcd1234cdef1234abcd1234cdef1234"
 16946                    },
 16947                    "user_ids": {
 16948                      "description": "Array of user ids to be assigned to the job template locale",
 16949                      "type": "array",
 16950                      "items": {
 16951                        "type": "string"
 16952                      },
 16953                      "example": [
 16954                        "abcd1234cdef1234abcd1234cdef1234"
 16955                      ]
 16956                    },
 16957                    "reviewer_ids": {
 16958                      "description": "Array of reviewer ids to be assigned to the job template locale",
 16959                      "type": "array",
 16960                      "items": {
 16961                        "type": "string"
 16962                      },
 16963                      "example": [
 16964                        "abcd1234cdef1234abcd1234cdef1234"
 16965                      ]
 16966                    },
 16967                    "translator_team_ids": {
 16968                      "description": "Array of team ids to be assigned to the job locale as translators",
 16969                      "type": "array",
 16970                      "items": {
 16971                        "type": "string"
 16972                      },
 16973                      "example": [
 16974                        "abcd1234cdef1234abcd1234cdef1234"
 16975                      ]
 16976                    },
 16977                    "reviewer_team_ids": {
 16978                      "description": "Array of team ids to be assigned to the job locale as reviewers",
 16979                      "type": "array",
 16980                      "items": {
 16981                        "type": "string"
 16982                      },
 16983                      "example": [
 16984                        "abcd1234cdef1234abcd1234cdef1234"
 16985                      ]
 16986                    }
 16987                  },
 16988                  "required": [
 16989                    "locale_id"
 16990                  ]
 16991                }
 16992              }
 16993            }
 16994          },
 16995          "x-cli-version": "2.6.8"
 16996        }
 16997      },
 16998      "/projects/{project_id}/job_templates/{job_template_id}/locales/{job_template_locale_id}": {
 16999        "get": {
 17000          "summary": "Get a single job template locale",
 17001          "description": "Get a single job template locale for a given job template.",
 17002          "operationId": "job_template_locale/show",
 17003          "tags": [
 17004            "Job Template Locales"
 17005          ],
 17006          "parameters": [
 17007            {
 17008              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17009            },
 17010            {
 17011              "$ref": "#/components/parameters/project_id"
 17012            },
 17013            {
 17014              "$ref": "#/components/parameters/job_template_id"
 17015            },
 17016            {
 17017              "$ref": "#/components/parameters/job_template_locale_id"
 17018            },
 17019            {
 17020              "description": "specify the branch to use",
 17021              "example": "my-feature-branch",
 17022              "name": "branch",
 17023              "in": "query",
 17024              "schema": {
 17025                "type": "string"
 17026              }
 17027            }
 17028          ],
 17029          "responses": {
 17030            "200": {
 17031              "description": "OK",
 17032              "content": {
 17033                "application/json": {
 17034                  "schema": {
 17035                    "$ref": "#/components/schemas/job_template_locales"
 17036                  }
 17037                }
 17038              },
 17039              "headers": {
 17040                "X-Rate-Limit-Limit": {
 17041                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17042                },
 17043                "X-Rate-Limit-Remaining": {
 17044                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17045                },
 17046                "X-Rate-Limit-Reset": {
 17047                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17048                }
 17049              }
 17050            },
 17051            "400": {
 17052              "$ref": "#/components/responses/400"
 17053            },
 17054            "404": {
 17055              "$ref": "#/components/responses/404"
 17056            },
 17057            "429": {
 17058              "$ref": "#/components/responses/429"
 17059            }
 17060          },
 17061          "x-code-samples": [
 17062            {
 17063              "lang": "Curl",
 17064              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/job_templates/:job_template_id/locales/:job_template_locale_id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 17065            },
 17066            {
 17067              "lang": "CLI v2",
 17068              "source": "phrase job_template_locales show \\\n--project_id <project_id> \\\n--job_template_id <job_template_id> \\\n--job_template_locale_id <job_template_locale_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 17069            }
 17070          ],
 17071          "x-cli-version": "2.6.8"
 17072        },
 17073        "patch": {
 17074          "summary": "Update a job template locale",
 17075          "description": "Update an existing job template locale.",
 17076          "operationId": "job_template_locale/update",
 17077          "tags": [
 17078            "Job Template Locales"
 17079          ],
 17080          "parameters": [
 17081            {
 17082              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17083            },
 17084            {
 17085              "$ref": "#/components/parameters/project_id"
 17086            },
 17087            {
 17088              "$ref": "#/components/parameters/job_template_id"
 17089            },
 17090            {
 17091              "$ref": "#/components/parameters/job_template_locale_id"
 17092            }
 17093          ],
 17094          "responses": {
 17095            "200": {
 17096              "description": "OK",
 17097              "content": {
 17098                "application/json": {
 17099                  "schema": {
 17100                    "$ref": "#/components/schemas/job_template_locales"
 17101                  }
 17102                }
 17103              },
 17104              "headers": {
 17105                "X-Rate-Limit-Limit": {
 17106                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17107                },
 17108                "X-Rate-Limit-Remaining": {
 17109                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17110                },
 17111                "X-Rate-Limit-Reset": {
 17112                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17113                }
 17114              }
 17115            },
 17116            "400": {
 17117              "$ref": "#/components/responses/400"
 17118            },
 17119            "404": {
 17120              "$ref": "#/components/responses/404"
 17121            },
 17122            "429": {
 17123              "$ref": "#/components/responses/429"
 17124            }
 17125          },
 17126          "x-code-samples": [
 17127            {
 17128              "lang": "Curl",
 17129              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/job_templates/:job_template_id/locales/:job_template_locale_id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"locale_id\":\"abcd1234cdef1234abcd1234cdef1234\",\"user_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"],\"reviewer_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"], \"translator_team_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n  -H 'Content-Type: application/json'"
 17130            },
 17131            {
 17132              "lang": "CLI v2",
 17133              "source": "phrase job_template_locales update \\\n--project_id <project_id> \\\n--job_template_id <job_template_id> \\\n--job_template_locale_id <job_template_locale_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"locale_id\":\"abcd1234cdef1234abcd1234cdef1234\", \"user_ids\": \"abcd1234cdef1234abcd1234cdef1234\", \"reviewer_ids\": \"abcd1234cdef1234abcd1234cdef1234\", \"translator_team_ids\": \"abcd1234cdef1234abcd1234cdef1234\"}' \\\n--access_token <token>"
 17134            }
 17135          ],
 17136          "requestBody": {
 17137            "required": true,
 17138            "content": {
 17139              "application/json": {
 17140                "schema": {
 17141                  "type": "object",
 17142                  "title": "job_template_locale/update/parameters",
 17143                  "properties": {
 17144                    "branch": {
 17145                      "description": "specify the branch to use",
 17146                      "type": "string",
 17147                      "example": "my-feature-branch"
 17148                    },
 17149                    "locale_id": {
 17150                      "description": "locale id",
 17151                      "type": "string",
 17152                      "example": "abcd1234cdef1234abcd1234cdef1234"
 17153                    },
 17154                    "user_ids": {
 17155                      "description": "Array of user ids to be assigned to the job template locale",
 17156                      "type": "array",
 17157                      "items": {
 17158                        "type": "string"
 17159                      },
 17160                      "example": [
 17161                        "abcd1234cdef1234abcd1234cdef1234"
 17162                      ]
 17163                    },
 17164                    "reviewer_ids": {
 17165                      "description": "Array of reviewer ids to be assigned to the job template locale",
 17166                      "type": "array",
 17167                      "items": {
 17168                        "type": "string"
 17169                      },
 17170                      "example": [
 17171                        "abcd1234cdef1234abcd1234cdef1234"
 17172                      ]
 17173                    },
 17174                    "translator_team_ids": {
 17175                      "description": "Array of team ids to be assigned to the job locale as translators",
 17176                      "type": "array",
 17177                      "items": {
 17178                        "type": "string"
 17179                      },
 17180                      "example": [
 17181                        "abcd1234cdef1234abcd1234cdef1234"
 17182                      ]
 17183                    },
 17184                    "reviewer_team_ids": {
 17185                      "description": "Array of team ids to be assigned to the job locale as reviewers",
 17186                      "type": "array",
 17187                      "items": {
 17188                        "type": "string"
 17189                      },
 17190                      "example": [
 17191                        "abcd1234cdef1234abcd1234cdef1234"
 17192                      ]
 17193                    }
 17194                  }
 17195                }
 17196              }
 17197            }
 17198          },
 17199          "x-cli-version": "2.6.8"
 17200        },
 17201        "delete": {
 17202          "summary": "Delete a job template locale",
 17203          "description": "Delete an existing job template locale.",
 17204          "operationId": "job_template_locale/delete",
 17205          "tags": [
 17206            "Job Template Locales"
 17207          ],
 17208          "parameters": [
 17209            {
 17210              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17211            },
 17212            {
 17213              "$ref": "#/components/parameters/project_id"
 17214            },
 17215            {
 17216              "$ref": "#/components/parameters/job_template_id"
 17217            },
 17218            {
 17219              "$ref": "#/components/parameters/job_template_locale_id"
 17220            },
 17221            {
 17222              "description": "specify the branch to use",
 17223              "example": "my-feature-branch",
 17224              "name": "branch",
 17225              "in": "query",
 17226              "schema": {
 17227                "type": "string"
 17228              }
 17229            }
 17230          ],
 17231          "responses": {
 17232            "204": {
 17233              "$ref": "#/components/responses/204"
 17234            },
 17235            "400": {
 17236              "$ref": "#/components/responses/400"
 17237            },
 17238            "404": {
 17239              "$ref": "#/components/responses/404"
 17240            },
 17241            "429": {
 17242              "$ref": "#/components/responses/429"
 17243            }
 17244          },
 17245          "x-code-samples": [
 17246            {
 17247              "lang": "Curl",
 17248              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/job_templates/:job_template_id/locales/:job_template_locale_id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 17249            },
 17250            {
 17251              "lang": "CLI v2",
 17252              "source": "phrase job_template_locales delete \\\n--project_id <project_id> \\\n--job_template_id <job_template_id> \\\n--job_template_locale_id <job_template_locale_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 17253            }
 17254          ],
 17255          "x-cli-version": "2.5"
 17256        }
 17257      },
 17258      "/projects/{project_id}/variables": {
 17259        "get": {
 17260          "summary": "List variables",
 17261          "description": "List all variables for the current project.",
 17262          "operationId": "variables/list",
 17263          "tags": [
 17264            "Variables"
 17265          ],
 17266          "parameters": [
 17267            {
 17268              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17269            },
 17270            {
 17271              "$ref": "#/components/parameters/project_id"
 17272            },
 17273            {
 17274              "$ref": "#/components/parameters/page"
 17275            },
 17276            {
 17277              "$ref": "#/components/parameters/per_page"
 17278            }
 17279          ],
 17280          "responses": {
 17281            "200": {
 17282              "description": "OK",
 17283              "content": {
 17284                "application/json": {
 17285                  "schema": {
 17286                    "type": "array",
 17287                    "items": {
 17288                      "$ref": "#/components/schemas/variable"
 17289                    }
 17290                  }
 17291                }
 17292              },
 17293              "headers": {
 17294                "X-Rate-Limit-Limit": {
 17295                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17296                },
 17297                "X-Rate-Limit-Remaining": {
 17298                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17299                },
 17300                "X-Rate-Limit-Reset": {
 17301                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17302                },
 17303                "Link": {
 17304                  "$ref": "#/components/headers/Link"
 17305                },
 17306                "Pagination": {
 17307                  "$ref": "#/components/headers/Pagination"
 17308                }
 17309              }
 17310            },
 17311            "400": {
 17312              "$ref": "#/components/responses/400"
 17313            },
 17314            "404": {
 17315              "$ref": "#/components/responses/404"
 17316            },
 17317            "429": {
 17318              "$ref": "#/components/responses/429"
 17319            }
 17320          },
 17321          "x-code-samples": [
 17322            {
 17323              "lang": "Curl",
 17324              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/variables\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 17325            },
 17326            {
 17327              "lang": "CLI v2",
 17328              "source": "phrase variables list \\\n--project_id <project_id> \\\n--access_token <token>"
 17329            }
 17330          ],
 17331          "x-cli-version": "2.5"
 17332        },
 17333        "post": {
 17334          "summary": "Create a variable",
 17335          "description": "Create a new variable.",
 17336          "operationId": "variable/create",
 17337          "tags": [
 17338            "Variables"
 17339          ],
 17340          "parameters": [
 17341            {
 17342              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17343            },
 17344            {
 17345              "$ref": "#/components/parameters/project_id"
 17346            }
 17347          ],
 17348          "responses": {
 17349            "201": {
 17350              "description": "Created",
 17351              "content": {
 17352                "application/json": {
 17353                  "schema": {
 17354                    "$ref": "#/components/schemas/variable"
 17355                  }
 17356                }
 17357              },
 17358              "headers": {
 17359                "X-Rate-Limit-Limit": {
 17360                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17361                },
 17362                "X-Rate-Limit-Remaining": {
 17363                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17364                },
 17365                "X-Rate-Limit-Reset": {
 17366                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17367                }
 17368              }
 17369            },
 17370            "400": {
 17371              "$ref": "#/components/responses/400"
 17372            },
 17373            "404": {
 17374              "$ref": "#/components/responses/404"
 17375            },
 17376            "429": {
 17377              "$ref": "#/components/responses/429"
 17378            }
 17379          },
 17380          "x-code-samples": [
 17381            {
 17382              "lang": "Curl",
 17383              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/variables\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"name\":\"MY_VARIABLE\",\"value\":\"Hello World\"}' \\\n  -H 'Content-Type: application/json'"
 17384            },
 17385            {
 17386              "lang": "CLI v2",
 17387              "source": "phrase variables create \\\n--project_id <project_id> \\\n--data '{\"name\":\"MY_VARIABLE\", \"value\":\"Hello World\"}' \\\n--access_token <token>"
 17388            }
 17389          ],
 17390          "requestBody": {
 17391            "required": true,
 17392            "content": {
 17393              "application/json": {
 17394                "schema": {
 17395                  "type": "object",
 17396                  "title": "variable/create/parameters",
 17397                  "required": [
 17398                    "name"
 17399                  ],
 17400                  "properties": {
 17401                    "name": {
 17402                      "description": "Name of the variable",
 17403                      "type": "string",
 17404                      "example": "MY_VARIABLE"
 17405                    },
 17406                    "value": {
 17407                      "description": "Value of the variable",
 17408                      "type": "string",
 17409                      "example": "Hello World"
 17410                    }
 17411                  }
 17412                }
 17413              }
 17414            }
 17415          },
 17416          "x-cli-version": "2.5"
 17417        }
 17418      },
 17419      "/projects/{project_id}/variables/{name}": {
 17420        "get": {
 17421          "summary": "Get a single variable",
 17422          "description": "Get details on a single variable for a given project.",
 17423          "operationId": "variable/show",
 17424          "tags": [
 17425            "Variables"
 17426          ],
 17427          "parameters": [
 17428            {
 17429              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17430            },
 17431            {
 17432              "$ref": "#/components/parameters/project_id"
 17433            },
 17434            {
 17435              "$ref": "#/components/parameters/name"
 17436            }
 17437          ],
 17438          "responses": {
 17439            "200": {
 17440              "description": "OK",
 17441              "content": {
 17442                "application/json": {
 17443                  "schema": {
 17444                    "$ref": "#/components/schemas/variable"
 17445                  }
 17446                }
 17447              },
 17448              "headers": {
 17449                "X-Rate-Limit-Limit": {
 17450                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17451                },
 17452                "X-Rate-Limit-Remaining": {
 17453                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17454                },
 17455                "X-Rate-Limit-Reset": {
 17456                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17457                }
 17458              }
 17459            },
 17460            "400": {
 17461              "$ref": "#/components/responses/400"
 17462            },
 17463            "404": {
 17464              "$ref": "#/components/responses/404"
 17465            },
 17466            "429": {
 17467              "$ref": "#/components/responses/429"
 17468            }
 17469          },
 17470          "x-code-samples": [
 17471            {
 17472              "lang": "Curl",
 17473              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/variables/:name\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 17474            },
 17475            {
 17476              "lang": "CLI v2",
 17477              "source": "phrase variables show \\\n--project_id <project_id> \\\n--name <name> \\\n--access_token <token>"
 17478            }
 17479          ],
 17480          "x-cli-version": "2.5"
 17481        },
 17482        "patch": {
 17483          "summary": "Update a variable",
 17484          "description": "Update an existing variable.",
 17485          "operationId": "variable/update",
 17486          "tags": [
 17487            "Variables"
 17488          ],
 17489          "parameters": [
 17490            {
 17491              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17492            },
 17493            {
 17494              "$ref": "#/components/parameters/project_id"
 17495            },
 17496            {
 17497              "$ref": "#/components/parameters/name"
 17498            }
 17499          ],
 17500          "responses": {
 17501            "200": {
 17502              "description": "OK",
 17503              "content": {
 17504                "application/json": {
 17505                  "schema": {
 17506                    "$ref": "#/components/schemas/variable"
 17507                  }
 17508                }
 17509              },
 17510              "headers": {
 17511                "X-Rate-Limit-Limit": {
 17512                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17513                },
 17514                "X-Rate-Limit-Remaining": {
 17515                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17516                },
 17517                "X-Rate-Limit-Reset": {
 17518                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17519                }
 17520              }
 17521            },
 17522            "400": {
 17523              "$ref": "#/components/responses/400"
 17524            },
 17525            "404": {
 17526              "$ref": "#/components/responses/404"
 17527            },
 17528            "429": {
 17529              "$ref": "#/components/responses/429"
 17530            }
 17531          },
 17532          "x-code-samples": [
 17533            {
 17534              "lang": "Curl",
 17535              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/variables/:name\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"name\":\"MY_VARIABLE\",\"value\":\"Hello World\"}' \\\n  -H 'Content-Type: application/json'"
 17536            },
 17537            {
 17538              "lang": "CLI v2",
 17539              "source": "phrase variables update \\\n--project_id <project_id> \\\n--name <name> \\\n--data '{\"name\":\"MY_VARIABLE\",\"value\":\"Hello World\"}' \\\n--access_token <token>"
 17540            }
 17541          ],
 17542          "requestBody": {
 17543            "required": true,
 17544            "content": {
 17545              "application/json": {
 17546                "schema": {
 17547                  "type": "object",
 17548                  "title": "variable/update/parameters",
 17549                  "properties": {
 17550                    "name": {
 17551                      "description": "Name of the variable",
 17552                      "type": "string",
 17553                      "example": "MY_VARIABLE"
 17554                    },
 17555                    "value": {
 17556                      "description": "Value of the variable",
 17557                      "type": "string",
 17558                      "example": "Hello World"
 17559                    }
 17560                  }
 17561                }
 17562              }
 17563            }
 17564          },
 17565          "x-cli-version": "2.5"
 17566        },
 17567        "delete": {
 17568          "summary": "Delete a variable",
 17569          "description": "Delete an existing variable.",
 17570          "operationId": "variable/delete",
 17571          "tags": [
 17572            "Variables"
 17573          ],
 17574          "parameters": [
 17575            {
 17576              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17577            },
 17578            {
 17579              "$ref": "#/components/parameters/project_id"
 17580            },
 17581            {
 17582              "$ref": "#/components/parameters/name"
 17583            }
 17584          ],
 17585          "responses": {
 17586            "204": {
 17587              "$ref": "#/components/responses/204"
 17588            },
 17589            "400": {
 17590              "$ref": "#/components/responses/400"
 17591            },
 17592            "404": {
 17593              "$ref": "#/components/responses/404"
 17594            },
 17595            "429": {
 17596              "$ref": "#/components/responses/429"
 17597            }
 17598          },
 17599          "x-code-samples": [
 17600            {
 17601              "lang": "Curl",
 17602              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/variables/:name\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 17603            },
 17604            {
 17605              "lang": "CLI v2",
 17606              "source": "phrase variables delete \\\n--project_id <project_id> \\\n--name <name> \\\n--access_token <token>"
 17607            }
 17608          ],
 17609          "x-cli-version": "2.5"
 17610        }
 17611      },
 17612      "/projects/{project_id}/branches": {
 17613        "get": {
 17614          "summary": "List branches",
 17615          "description": "List all branches the of the current project.",
 17616          "operationId": "branches/list",
 17617          "tags": [
 17618            "Branches"
 17619          ],
 17620          "parameters": [
 17621            {
 17622              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17623            },
 17624            {
 17625              "$ref": "#/components/parameters/project_id"
 17626            },
 17627            {
 17628              "$ref": "#/components/parameters/page"
 17629            },
 17630            {
 17631              "$ref": "#/components/parameters/per_page"
 17632            }
 17633          ],
 17634          "responses": {
 17635            "200": {
 17636              "description": "OK",
 17637              "content": {
 17638                "application/json": {
 17639                  "schema": {
 17640                    "type": "array",
 17641                    "items": {
 17642                      "$ref": "#/components/schemas/branch"
 17643                    }
 17644                  }
 17645                }
 17646              },
 17647              "headers": {
 17648                "X-Rate-Limit-Limit": {
 17649                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17650                },
 17651                "X-Rate-Limit-Remaining": {
 17652                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17653                },
 17654                "X-Rate-Limit-Reset": {
 17655                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17656                },
 17657                "Link": {
 17658                  "$ref": "#/components/headers/Link"
 17659                },
 17660                "Pagination": {
 17661                  "$ref": "#/components/headers/Pagination"
 17662                }
 17663              }
 17664            },
 17665            "400": {
 17666              "$ref": "#/components/responses/400"
 17667            },
 17668            "404": {
 17669              "$ref": "#/components/responses/404"
 17670            },
 17671            "429": {
 17672              "$ref": "#/components/responses/429"
 17673            }
 17674          },
 17675          "x-code-samples": [
 17676            {
 17677              "lang": "Curl",
 17678              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/branches\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 17679            },
 17680            {
 17681              "lang": "CLI v2",
 17682              "source": "phrase branches list \\\n--project_id <project_id> \\\n--access_token <token>"
 17683            }
 17684          ],
 17685          "x-cli-version": "2.5"
 17686        },
 17687        "post": {
 17688          "summary": "Create a branch",
 17689          "description": "Create a new branch. <br><br><i>Note: Creating a new branch may take several minutes depending on the project size.</i>",
 17690          "operationId": "branch/create",
 17691          "tags": [
 17692            "Branches"
 17693          ],
 17694          "parameters": [
 17695            {
 17696              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17697            },
 17698            {
 17699              "$ref": "#/components/parameters/project_id"
 17700            }
 17701          ],
 17702          "responses": {
 17703            "201": {
 17704              "description": "Created",
 17705              "content": {
 17706                "application/json": {
 17707                  "schema": {
 17708                    "$ref": "#/components/schemas/branch"
 17709                  }
 17710                }
 17711              },
 17712              "headers": {
 17713                "X-Rate-Limit-Limit": {
 17714                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17715                },
 17716                "X-Rate-Limit-Remaining": {
 17717                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17718                },
 17719                "X-Rate-Limit-Reset": {
 17720                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17721                }
 17722              }
 17723            },
 17724            "400": {
 17725              "$ref": "#/components/responses/400"
 17726            },
 17727            "404": {
 17728              "$ref": "#/components/responses/404"
 17729            },
 17730            "429": {
 17731              "$ref": "#/components/responses/429"
 17732            }
 17733          },
 17734          "x-code-samples": [
 17735            {
 17736              "lang": "Curl",
 17737              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/branches\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"name\":\"my-branch\"}' \\\n  -H 'Content-Type: application/json'"
 17738            },
 17739            {
 17740              "lang": "CLI v2",
 17741              "source": "phrase branches create \\\n--project_id <project_id> \\\n--data '{\"name\":\"my-branch\"}' \\\n--access_token <token>"
 17742            }
 17743          ],
 17744          "requestBody": {
 17745            "required": true,
 17746            "content": {
 17747              "application/json": {
 17748                "schema": {
 17749                  "type": "object",
 17750                  "title": "branch/create/parameters",
 17751                  "required": [
 17752                    "name"
 17753                  ],
 17754                  "properties": {
 17755                    "name": {
 17756                      "description": "Name of the branch",
 17757                      "type": "string",
 17758                      "example": "my-branch"
 17759                    }
 17760                  }
 17761                }
 17762              }
 17763            }
 17764          },
 17765          "x-cli-version": "2.5"
 17766        }
 17767      },
 17768      "/projects/{project_id}/branches/{name}": {
 17769        "get": {
 17770          "summary": "Get a single branch",
 17771          "description": "Get details on a single branch for a given project.",
 17772          "operationId": "branch/show",
 17773          "tags": [
 17774            "Branches"
 17775          ],
 17776          "parameters": [
 17777            {
 17778              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17779            },
 17780            {
 17781              "$ref": "#/components/parameters/project_id"
 17782            },
 17783            {
 17784              "$ref": "#/components/parameters/name"
 17785            }
 17786          ],
 17787          "responses": {
 17788            "200": {
 17789              "description": "OK",
 17790              "content": {
 17791                "application/json": {
 17792                  "schema": {
 17793                    "$ref": "#/components/schemas/branch"
 17794                  }
 17795                }
 17796              },
 17797              "headers": {
 17798                "X-Rate-Limit-Limit": {
 17799                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17800                },
 17801                "X-Rate-Limit-Remaining": {
 17802                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17803                },
 17804                "X-Rate-Limit-Reset": {
 17805                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17806                }
 17807              }
 17808            },
 17809            "400": {
 17810              "$ref": "#/components/responses/400"
 17811            },
 17812            "404": {
 17813              "$ref": "#/components/responses/404"
 17814            },
 17815            "429": {
 17816              "$ref": "#/components/responses/429"
 17817            }
 17818          },
 17819          "x-code-samples": [
 17820            {
 17821              "lang": "Curl",
 17822              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/branches/:name\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 17823            },
 17824            {
 17825              "lang": "CLI v2",
 17826              "source": "phrase branches show \\\n--project_id <project_id> \\\n--name <name> \\\n--access_token <token>"
 17827            }
 17828          ],
 17829          "x-cli-version": "2.5"
 17830        },
 17831        "patch": {
 17832          "summary": "Update a branch",
 17833          "description": "Update an existing branch.",
 17834          "operationId": "branch/update",
 17835          "tags": [
 17836            "Branches"
 17837          ],
 17838          "parameters": [
 17839            {
 17840              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17841            },
 17842            {
 17843              "$ref": "#/components/parameters/project_id"
 17844            },
 17845            {
 17846              "$ref": "#/components/parameters/name"
 17847            }
 17848          ],
 17849          "responses": {
 17850            "200": {
 17851              "description": "OK",
 17852              "content": {
 17853                "application/json": {
 17854                  "schema": {
 17855                    "$ref": "#/components/schemas/branch"
 17856                  }
 17857                }
 17858              },
 17859              "headers": {
 17860                "X-Rate-Limit-Limit": {
 17861                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17862                },
 17863                "X-Rate-Limit-Remaining": {
 17864                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17865                },
 17866                "X-Rate-Limit-Reset": {
 17867                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17868                }
 17869              }
 17870            },
 17871            "400": {
 17872              "$ref": "#/components/responses/400"
 17873            },
 17874            "404": {
 17875              "$ref": "#/components/responses/404"
 17876            },
 17877            "429": {
 17878              "$ref": "#/components/responses/429"
 17879            }
 17880          },
 17881          "x-code-samples": [
 17882            {
 17883              "lang": "Curl",
 17884              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/branches/:name\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"name\":\"my-branch\"}' \\\n  -H 'Content-Type: application/json'"
 17885            },
 17886            {
 17887              "lang": "CLI v2",
 17888              "source": "phrase branches update \\\n--project_id <project_id> \\\n--name <name> \\\n--data '{\"name\":\"my-branch\"}' \\\n--access_token <token>"
 17889            }
 17890          ],
 17891          "requestBody": {
 17892            "required": true,
 17893            "content": {
 17894              "application/json": {
 17895                "schema": {
 17896                  "type": "object",
 17897                  "title": "branch/update/parameters",
 17898                  "properties": {
 17899                    "name": {
 17900                      "description": "Name of the branch",
 17901                      "type": "string",
 17902                      "example": "my-branch"
 17903                    }
 17904                  }
 17905                }
 17906              }
 17907            }
 17908          },
 17909          "x-cli-version": "2.5"
 17910        },
 17911        "delete": {
 17912          "summary": "Delete a branch",
 17913          "description": "Delete an existing branch.",
 17914          "operationId": "branch/delete",
 17915          "tags": [
 17916            "Branches"
 17917          ],
 17918          "parameters": [
 17919            {
 17920              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17921            },
 17922            {
 17923              "$ref": "#/components/parameters/project_id"
 17924            },
 17925            {
 17926              "$ref": "#/components/parameters/name"
 17927            }
 17928          ],
 17929          "responses": {
 17930            "204": {
 17931              "$ref": "#/components/responses/204"
 17932            },
 17933            "400": {
 17934              "$ref": "#/components/responses/400"
 17935            },
 17936            "404": {
 17937              "$ref": "#/components/responses/404"
 17938            },
 17939            "429": {
 17940              "$ref": "#/components/responses/429"
 17941            }
 17942          },
 17943          "x-code-samples": [
 17944            {
 17945              "lang": "Curl",
 17946              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/branches/:name\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 17947            },
 17948            {
 17949              "lang": "CLI v2",
 17950              "source": "phrase branches delete \\\n--project_id <project_id> \\\n--name <name> \\\n--access_token <token>"
 17951            }
 17952          ],
 17953          "x-cli-version": "2.5"
 17954        }
 17955      },
 17956      "/projects/{project_id}/branches/{name}/merge": {
 17957        "patch": {
 17958          "summary": "Merge a branch",
 17959          "description": "Merge an existing branch. <br><br><i>Note: Merging a branch may take several minutes depending on diff size.</i>",
 17960          "operationId": "branch/merge",
 17961          "tags": [
 17962            "Branches"
 17963          ],
 17964          "parameters": [
 17965            {
 17966              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 17967            },
 17968            {
 17969              "$ref": "#/components/parameters/project_id"
 17970            },
 17971            {
 17972              "$ref": "#/components/parameters/name"
 17973            }
 17974          ],
 17975          "responses": {
 17976            "200": {
 17977              "description": "OK",
 17978              "headers": {
 17979                "X-Rate-Limit-Limit": {
 17980                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 17981                },
 17982                "X-Rate-Limit-Remaining": {
 17983                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 17984                },
 17985                "X-Rate-Limit-Reset": {
 17986                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 17987                }
 17988              }
 17989            },
 17990            "400": {
 17991              "$ref": "#/components/responses/400"
 17992            },
 17993            "404": {
 17994              "$ref": "#/components/responses/404"
 17995            },
 17996            "429": {
 17997              "$ref": "#/components/responses/429"
 17998            }
 17999          },
 18000          "x-code-samples": [
 18001            {
 18002              "lang": "Curl",
 18003              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/branches/:name/merge\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"strategy\":\"use_main\"}' \\\n  -H 'Content-Type: application/json'"
 18004            },
 18005            {
 18006              "lang": "CLI v2",
 18007              "source": "phrase branches merge \\\n--project_id <project_id> \\\n--name <name> \\\n--data '{\"strategy\":\"use_main\"}' \\\n--access_token <token>"
 18008            }
 18009          ],
 18010          "requestBody": {
 18011            "required": true,
 18012            "content": {
 18013              "application/json": {
 18014                "schema": {
 18015                  "type": "object",
 18016                  "title": "branch/merge/parameters",
 18017                  "properties": {
 18018                    "strategy": {
 18019                      "description": "strategy used for merge blocking, use_main or use_branch",
 18020                      "type": "string",
 18021                      "example": "use_main"
 18022                    }
 18023                  }
 18024                }
 18025              }
 18026            }
 18027          },
 18028          "x-cli-version": "2.5"
 18029        }
 18030      },
 18031      "/projects/{project_id}/branches/{name}/compare": {
 18032        "get": {
 18033          "summary": "Compare branches",
 18034          "description": "Compare branch with main branch. <br><br><i>Note: Comparing a branch may take several minutes depending on the project size.</i>",
 18035          "operationId": "branch/compare",
 18036          "tags": [
 18037            "Branches"
 18038          ],
 18039          "parameters": [
 18040            {
 18041              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18042            },
 18043            {
 18044              "$ref": "#/components/parameters/project_id"
 18045            },
 18046            {
 18047              "$ref": "#/components/parameters/name"
 18048            },
 18049            {
 18050              "description": "Name of the branch",
 18051              "example": "my-branch",
 18052              "name": "name",
 18053              "in": "query",
 18054              "schema": {
 18055                "type": "string"
 18056              }
 18057            }
 18058          ],
 18059          "responses": {
 18060            "200": {
 18061              "description": "OK",
 18062              "headers": {
 18063                "X-Rate-Limit-Limit": {
 18064                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18065                },
 18066                "X-Rate-Limit-Remaining": {
 18067                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18068                },
 18069                "X-Rate-Limit-Reset": {
 18070                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18071                }
 18072              }
 18073            },
 18074            "400": {
 18075              "$ref": "#/components/responses/400"
 18076            },
 18077            "404": {
 18078              "$ref": "#/components/responses/404"
 18079            },
 18080            "429": {
 18081              "$ref": "#/components/responses/429"
 18082            }
 18083          },
 18084          "x-code-samples": [
 18085            {
 18086              "lang": "Curl",
 18087              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/branches/:name/compare?name=my-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 18088            },
 18089            {
 18090              "lang": "CLI v2",
 18091              "source": "phrase branches compare \\\n--project_id <project_id> \\\n--name <name> \\\n--name my-branch \\\n--access_token <token>"
 18092            }
 18093          ],
 18094          "x-cli-version": "2.5"
 18095        }
 18096      },
 18097      "/accounts": {
 18098        "get": {
 18099          "summary": "List accounts",
 18100          "description": "List all accounts the current user has access to.",
 18101          "operationId": "accounts/list",
 18102          "tags": [
 18103            "Accounts"
 18104          ],
 18105          "parameters": [
 18106            {
 18107              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18108            },
 18109            {
 18110              "$ref": "#/components/parameters/page"
 18111            },
 18112            {
 18113              "$ref": "#/components/parameters/per_page"
 18114            }
 18115          ],
 18116          "responses": {
 18117            "200": {
 18118              "description": "OK",
 18119              "content": {
 18120                "application/json": {
 18121                  "schema": {
 18122                    "type": "array",
 18123                    "items": {
 18124                      "$ref": "#/components/schemas/account"
 18125                    }
 18126                  }
 18127                }
 18128              },
 18129              "headers": {
 18130                "X-Rate-Limit-Limit": {
 18131                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18132                },
 18133                "X-Rate-Limit-Remaining": {
 18134                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18135                },
 18136                "X-Rate-Limit-Reset": {
 18137                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18138                },
 18139                "Link": {
 18140                  "$ref": "#/components/headers/Link"
 18141                },
 18142                "Pagination": {
 18143                  "$ref": "#/components/headers/Pagination"
 18144                }
 18145              }
 18146            },
 18147            "400": {
 18148              "$ref": "#/components/responses/400"
 18149            },
 18150            "404": {
 18151              "$ref": "#/components/responses/404"
 18152            },
 18153            "429": {
 18154              "$ref": "#/components/responses/429"
 18155            }
 18156          },
 18157          "x-code-samples": [
 18158            {
 18159              "lang": "Curl",
 18160              "source": "curl \"https://api.phrase.com/v2/accounts\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 18161            },
 18162            {
 18163              "lang": "CLI v2",
 18164              "source": "phrase accounts list \\\n--access_token <token>"
 18165            }
 18166          ],
 18167          "x-cli-version": "2.5"
 18168        }
 18169      },
 18170      "/accounts/{id}": {
 18171        "get": {
 18172          "summary": "Get a single account",
 18173          "description": "Get details on a single account.",
 18174          "operationId": "account/show",
 18175          "tags": [
 18176            "Accounts"
 18177          ],
 18178          "parameters": [
 18179            {
 18180              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18181            },
 18182            {
 18183              "$ref": "#/components/parameters/id"
 18184            }
 18185          ],
 18186          "responses": {
 18187            "200": {
 18188              "description": "OK",
 18189              "content": {
 18190                "application/json": {
 18191                  "schema": {
 18192                    "$ref": "#/components/schemas/account_details"
 18193                  }
 18194                }
 18195              },
 18196              "headers": {
 18197                "X-Rate-Limit-Limit": {
 18198                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18199                },
 18200                "X-Rate-Limit-Remaining": {
 18201                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18202                },
 18203                "X-Rate-Limit-Reset": {
 18204                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18205                }
 18206              }
 18207            },
 18208            "400": {
 18209              "$ref": "#/components/responses/400"
 18210            },
 18211            "404": {
 18212              "$ref": "#/components/responses/404"
 18213            },
 18214            "429": {
 18215              "$ref": "#/components/responses/429"
 18216            }
 18217          },
 18218          "x-code-samples": [
 18219            {
 18220              "lang": "Curl",
 18221              "source": "curl \"https://api.phrase.com/v2/accounts/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 18222            },
 18223            {
 18224              "lang": "CLI v2",
 18225              "source": "phrase accounts show \\\n--id <id> \\\n--access_token <token>"
 18226            }
 18227          ],
 18228          "x-cli-version": "2.5"
 18229        }
 18230      },
 18231      "/user": {
 18232        "get": {
 18233          "summary": "Show current User",
 18234          "description": "Show details for current User.",
 18235          "operationId": "show/user",
 18236          "tags": [
 18237            "Users"
 18238          ],
 18239          "parameters": [
 18240            {
 18241              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18242            }
 18243          ],
 18244          "responses": {
 18245            "200": {
 18246              "description": "OK",
 18247              "content": {
 18248                "application/json": {
 18249                  "schema": {
 18250                    "$ref": "#/components/schemas/current_user"
 18251                  }
 18252                }
 18253              },
 18254              "headers": {
 18255                "X-Rate-Limit-Limit": {
 18256                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18257                },
 18258                "X-Rate-Limit-Remaining": {
 18259                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18260                },
 18261                "X-Rate-Limit-Reset": {
 18262                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18263                }
 18264              }
 18265            },
 18266            "400": {
 18267              "$ref": "#/components/responses/400"
 18268            },
 18269            "404": {
 18270              "$ref": "#/components/responses/404"
 18271            },
 18272            "429": {
 18273              "$ref": "#/components/responses/429"
 18274            }
 18275          },
 18276          "x-code-samples": [
 18277            {
 18278              "lang": "Curl",
 18279              "source": "curl \"https://api.phrase.com/v2/user\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 18280            },
 18281            {
 18282              "lang": "CLI v2",
 18283              "source": "phrase shows user \\\n--access_token <token>"
 18284            }
 18285          ],
 18286          "x-cli-version": "2.5"
 18287        }
 18288      },
 18289      "/accounts/{account_id}/members": {
 18290        "get": {
 18291          "summary": "List members",
 18292          "description": "Get all users active in the account. It also lists resources like projects and locales the member has access to. In case nothing is shown the default access from the role is used. Access token scope must include <code>team.manage</code>.",
 18293          "operationId": "members/list",
 18294          "tags": [
 18295            "Members"
 18296          ],
 18297          "parameters": [
 18298            {
 18299              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18300            },
 18301            {
 18302              "$ref": "#/components/parameters/account_id"
 18303            },
 18304            {
 18305              "$ref": "#/components/parameters/page"
 18306            },
 18307            {
 18308              "$ref": "#/components/parameters/per_page"
 18309            }
 18310          ],
 18311          "responses": {
 18312            "200": {
 18313              "description": "OK",
 18314              "content": {
 18315                "application/json": {
 18316                  "schema": {
 18317                    "type": "array",
 18318                    "items": {
 18319                      "$ref": "#/components/schemas/member"
 18320                    }
 18321                  }
 18322                }
 18323              },
 18324              "headers": {
 18325                "X-Rate-Limit-Limit": {
 18326                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18327                },
 18328                "X-Rate-Limit-Remaining": {
 18329                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18330                },
 18331                "X-Rate-Limit-Reset": {
 18332                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18333                },
 18334                "Link": {
 18335                  "$ref": "#/components/headers/Link"
 18336                },
 18337                "Pagination": {
 18338                  "$ref": "#/components/headers/Pagination"
 18339                }
 18340              }
 18341            },
 18342            "400": {
 18343              "$ref": "#/components/responses/400"
 18344            },
 18345            "401": {
 18346              "$ref": "#/components/responses/401"
 18347            },
 18348            "403": {
 18349              "$ref": "#/components/responses/403"
 18350            },
 18351            "404": {
 18352              "$ref": "#/components/responses/404"
 18353            },
 18354            "429": {
 18355              "$ref": "#/components/responses/429"
 18356            }
 18357          },
 18358          "x-code-samples": [
 18359            {
 18360              "lang": "Curl",
 18361              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/members\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 18362            },
 18363            {
 18364              "lang": "CLI v2",
 18365              "source": "phrase members list \\\n--account_id <account_id> \\\n--access_token <token>"
 18366            }
 18367          ],
 18368          "x-cli-version": "2.5"
 18369        }
 18370      },
 18371      "/accounts/{account_id}/members/{id}": {
 18372        "get": {
 18373          "summary": "Get single member",
 18374          "description": "Get details on a single user in the account. Access token scope must include <code>team.manage</code>.",
 18375          "operationId": "member/show",
 18376          "tags": [
 18377            "Members"
 18378          ],
 18379          "parameters": [
 18380            {
 18381              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18382            },
 18383            {
 18384              "$ref": "#/components/parameters/account_id"
 18385            },
 18386            {
 18387              "$ref": "#/components/parameters/id"
 18388            }
 18389          ],
 18390          "responses": {
 18391            "200": {
 18392              "description": "OK",
 18393              "content": {
 18394                "application/json": {
 18395                  "schema": {
 18396                    "$ref": "#/components/schemas/member"
 18397                  }
 18398                }
 18399              },
 18400              "headers": {
 18401                "X-Rate-Limit-Limit": {
 18402                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18403                },
 18404                "X-Rate-Limit-Remaining": {
 18405                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18406                },
 18407                "X-Rate-Limit-Reset": {
 18408                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18409                }
 18410              }
 18411            },
 18412            "400": {
 18413              "$ref": "#/components/responses/400"
 18414            },
 18415            "401": {
 18416              "$ref": "#/components/responses/401"
 18417            },
 18418            "403": {
 18419              "$ref": "#/components/responses/403"
 18420            },
 18421            "404": {
 18422              "$ref": "#/components/responses/404"
 18423            },
 18424            "429": {
 18425              "$ref": "#/components/responses/429"
 18426            }
 18427          },
 18428          "x-code-samples": [
 18429            {
 18430              "lang": "Curl",
 18431              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/members/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 18432            },
 18433            {
 18434              "lang": "CLI v2",
 18435              "source": "phrase members show \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 18436            }
 18437          ],
 18438          "x-cli-version": "2.5"
 18439        },
 18440        "patch": {
 18441          "summary": "Update a member",
 18442          "description": "Update user permissions in the account. Developers and translators need <code>project_ids</code> and <code>locale_ids</code> assigned to access them. Access token scope must include <code>team.manage</code>.",
 18443          "operationId": "member/update",
 18444          "tags": [
 18445            "Members"
 18446          ],
 18447          "parameters": [
 18448            {
 18449              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18450            },
 18451            {
 18452              "$ref": "#/components/parameters/account_id"
 18453            },
 18454            {
 18455              "$ref": "#/components/parameters/id"
 18456            }
 18457          ],
 18458          "responses": {
 18459            "200": {
 18460              "description": "OK",
 18461              "content": {
 18462                "application/json": {
 18463                  "schema": {
 18464                    "$ref": "#/components/schemas/member"
 18465                  }
 18466                }
 18467              },
 18468              "headers": {
 18469                "X-Rate-Limit-Limit": {
 18470                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18471                },
 18472                "X-Rate-Limit-Remaining": {
 18473                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18474                },
 18475                "X-Rate-Limit-Reset": {
 18476                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18477                }
 18478              }
 18479            },
 18480            "400": {
 18481              "$ref": "#/components/responses/400"
 18482            },
 18483            "401": {
 18484              "$ref": "#/components/responses/401"
 18485            },
 18486            "403": {
 18487              "$ref": "#/components/responses/403"
 18488            },
 18489            "404": {
 18490              "$ref": "#/components/responses/404"
 18491            },
 18492            "429": {
 18493              "$ref": "#/components/responses/429"
 18494            }
 18495          },
 18496          "x-code-samples": [
 18497            {
 18498              "lang": "Curl",
 18499              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/members/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"role\":\"Developer\",\"strategy\":\"set\",\"project_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\",\"locale_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\",\"default_locale_codes\":[\"de\",\"en\"],\"space_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"],\"permissions\":{\"create_upload\":true,\"review_translations\":true}}' \\\n  -H 'Content-Type: application/json'"
 18500            },
 18501            {
 18502              "lang": "CLI v2",
 18503              "source": "phrase members update \\\n--account_id <account_id> \\\n--id <id> \\\n--data '{\"role\":\"Developer\", \"strategy\":\"set\", \"project_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\", \"locale_ids\":\"abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235\", \"default_locale_codes\":[\"de\",\"en\"], \"space_ids\":[\"abcd1234abcd1234abcd1234\",\"abcd1234abcd1234abcd1235\"], \"permissions\":\"{\"create_upload\"=>true, \"review_translations\"=>true}\"}' \\\n--access_token <token>"
 18504            }
 18505          ],
 18506          "requestBody": {
 18507            "required": true,
 18508            "content": {
 18509              "application/json": {
 18510                "schema": {
 18511                  "type": "object",
 18512                  "title": "member/update/parameters",
 18513                  "properties": {
 18514                    "strategy": {
 18515                      "description": "Update strategy, can be any of set, add, remove. If provided, it will set, add or remove given spaces, projects and locale ids from users access list.",
 18516                      "type": "string",
 18517                      "example": "set"
 18518                    },
 18519                    "role": {
 18520                      "description": "Member role, can be any of of Admin, ProjectManager, Developer, Designer, Translator",
 18521                      "type": "string",
 18522                      "example": "Developer"
 18523                    },
 18524                    "project_ids": {
 18525                      "description": "List of project ids the user has access to. ",
 18526                      "type": "string",
 18527                      "example": "abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235"
 18528                    },
 18529                    "locale_ids": {
 18530                      "description": "List of locale ids the user has access to.",
 18531                      "type": "string",
 18532                      "example": "abcd1234abcd1234abcd1234,abcd1234abcd1234abcd1235"
 18533                    },
 18534                    "default_locale_codes": {
 18535                      "description": "List of default locales for the user.",
 18536                      "type": "array",
 18537                      "items": {
 18538                        "type": "string"
 18539                      },
 18540                      "example": [
 18541                        "en",
 18542                        "fi"
 18543                      ]
 18544                    },
 18545                    "space_ids": {
 18546                      "description": "List of spaces the user is assigned to.",
 18547                      "type": "array",
 18548                      "items": {
 18549                        "type": "string"
 18550                      },
 18551                      "example": [
 18552                        "abcd1234abcd1234abcd1234",
 18553                        "abcd1234abcd1234abcd1235"
 18554                      ]
 18555                    },
 18556                    "permissions": {
 18557                      "description": "Additional permissions depending on member role. Available permissions are <code>create_upload</code> and <code>review_translations</code>",
 18558                      "type": "object",
 18559                      "additionalProperties": {
 18560                        "type": "string"
 18561                      },
 18562                      "example": {
 18563                        "create_upload": true,
 18564                        "review_translations": true
 18565                      }
 18566                    }
 18567                  }
 18568                }
 18569              }
 18570            }
 18571          },
 18572          "x-cli-version": "2.5"
 18573        },
 18574        "delete": {
 18575          "summary": "Remove a user from the account",
 18576          "description": "Remove a user from the account. The user will be removed from the account but not deleted from Phrase. Access token scope must include <code>team.manage</code>.",
 18577          "operationId": "member/delete",
 18578          "tags": [
 18579            "Members"
 18580          ],
 18581          "parameters": [
 18582            {
 18583              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18584            },
 18585            {
 18586              "$ref": "#/components/parameters/account_id"
 18587            },
 18588            {
 18589              "$ref": "#/components/parameters/id"
 18590            }
 18591          ],
 18592          "responses": {
 18593            "204": {
 18594              "$ref": "#/components/responses/204"
 18595            },
 18596            "400": {
 18597              "$ref": "#/components/responses/400"
 18598            },
 18599            "401": {
 18600              "$ref": "#/components/responses/401"
 18601            },
 18602            "403": {
 18603              "$ref": "#/components/responses/403"
 18604            },
 18605            "404": {
 18606              "$ref": "#/components/responses/404"
 18607            },
 18608            "429": {
 18609              "$ref": "#/components/responses/429"
 18610            }
 18611          },
 18612          "x-code-samples": [
 18613            {
 18614              "lang": "Curl",
 18615              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/members/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 18616            },
 18617            {
 18618              "lang": "CLI v2",
 18619              "source": "phrase members delete \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 18620            }
 18621          ],
 18622          "x-cli-version": "2.5"
 18623        }
 18624      },
 18625      "/projects/{project_id}/members/{id}": {
 18626        "patch": {
 18627          "summary": "Update a member's project settings",
 18628          "description": "Update user settings in the project. Access token scope must include <code>team.manage</code>.",
 18629          "operationId": "member/update_settings",
 18630          "tags": [
 18631            "Members"
 18632          ],
 18633          "parameters": [
 18634            {
 18635              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18636            },
 18637            {
 18638              "$ref": "#/components/parameters/project_id"
 18639            },
 18640            {
 18641              "$ref": "#/components/parameters/id"
 18642            }
 18643          ],
 18644          "responses": {
 18645            "200": {
 18646              "description": "OK",
 18647              "content": {
 18648                "application/json": {
 18649                  "schema": {
 18650                    "$ref": "#/components/schemas/member_project_detail"
 18651                  }
 18652                }
 18653              },
 18654              "headers": {
 18655                "X-Rate-Limit-Limit": {
 18656                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18657                },
 18658                "X-Rate-Limit-Remaining": {
 18659                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18660                },
 18661                "X-Rate-Limit-Reset": {
 18662                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18663                }
 18664              }
 18665            },
 18666            "400": {
 18667              "$ref": "#/components/responses/400"
 18668            },
 18669            "401": {
 18670              "$ref": "#/components/responses/401"
 18671            },
 18672            "403": {
 18673              "$ref": "#/components/responses/403"
 18674            },
 18675            "404": {
 18676              "$ref": "#/components/responses/404"
 18677            },
 18678            "429": {
 18679              "$ref": "#/components/responses/429"
 18680            }
 18681          },
 18682          "x-code-samples": [
 18683            {
 18684              "lang": "Curl",
 18685              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/members/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"project_role\":\"Developer\",\"locale_ids\":[\"fff565db236400772368235db2c6117e\",\"fff565db236400772368235db2c6117f\"]}' \\\n  -H 'Content-Type: application/json'"
 18686            },
 18687            {
 18688              "lang": "CLI v2",
 18689              "source": "phrase members update_settings \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"project_role\":\"Developer\",\"locale_ids\":[\"fff565db236400772368235db2c6117e\",\"fff565db236400772368235db2c6117f\"]}' \\\n--access_token <token>"
 18690            }
 18691          ],
 18692          "requestBody": {
 18693            "required": true,
 18694            "content": {
 18695              "application/json": {
 18696                "schema": {
 18697                  "type": "object",
 18698                  "title": "member/update_settings/parameters",
 18699                  "properties": {
 18700                    "project_role": {
 18701                      "description": "Member role, can be any of of Manager, Developer, Translator",
 18702                      "type": "string",
 18703                      "example": "Developer"
 18704                    },
 18705                    "locale_ids": {
 18706                      "description": "List of locale ids the user has access to.",
 18707                      "type": "array",
 18708                      "items": {
 18709                        "type": "string"
 18710                      },
 18711                      "example": [
 18712                        "abcd1234abcd1234abcd1234",
 18713                        "abcd1234abcd1234abcd1235"
 18714                      ]
 18715                    }
 18716                  }
 18717                }
 18718              }
 18719            }
 18720          },
 18721          "x-cli-version": "2.5"
 18722        }
 18723      },
 18724      "/projects/{project_id}/screenshots": {
 18725        "get": {
 18726          "summary": "List screenshots",
 18727          "description": "List all screenshots for the given project.",
 18728          "operationId": "screenshots/list",
 18729          "tags": [
 18730            "Screenshots"
 18731          ],
 18732          "parameters": [
 18733            {
 18734              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18735            },
 18736            {
 18737              "$ref": "#/components/parameters/project_id"
 18738            },
 18739            {
 18740              "$ref": "#/components/parameters/page"
 18741            },
 18742            {
 18743              "$ref": "#/components/parameters/per_page"
 18744            },
 18745            {
 18746              "description": "specify the branch to use",
 18747              "example": "my-feature-branch",
 18748              "name": "branch",
 18749              "in": "query",
 18750              "schema": {
 18751                "type": "string"
 18752              }
 18753            },
 18754            {
 18755              "description": "filter by key",
 18756              "example": "abcd1234cdef1234abcd1234cdef1234",
 18757              "name": "key_id",
 18758              "in": "query",
 18759              "schema": {
 18760                "type": "string"
 18761              }
 18762            }
 18763          ],
 18764          "responses": {
 18765            "200": {
 18766              "description": "OK",
 18767              "content": {
 18768                "application/json": {
 18769                  "schema": {
 18770                    "type": "array",
 18771                    "items": {
 18772                      "$ref": "#/components/schemas/screenshot"
 18773                    }
 18774                  }
 18775                }
 18776              },
 18777              "headers": {
 18778                "X-Rate-Limit-Limit": {
 18779                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18780                },
 18781                "X-Rate-Limit-Remaining": {
 18782                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18783                },
 18784                "X-Rate-Limit-Reset": {
 18785                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18786                },
 18787                "Link": {
 18788                  "$ref": "#/components/headers/Link"
 18789                },
 18790                "Pagination": {
 18791                  "$ref": "#/components/headers/Pagination"
 18792                }
 18793              }
 18794            },
 18795            "400": {
 18796              "$ref": "#/components/responses/400"
 18797            },
 18798            "404": {
 18799              "$ref": "#/components/responses/404"
 18800            },
 18801            "429": {
 18802              "$ref": "#/components/responses/429"
 18803            }
 18804          },
 18805          "x-code-samples": [
 18806            {
 18807              "lang": "Curl",
 18808              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/screenshots?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 18809            },
 18810            {
 18811              "lang": "CLI v2",
 18812              "source": "phrase screenshots list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 18813            }
 18814          ],
 18815          "x-cli-version": "2.5"
 18816        },
 18817        "post": {
 18818          "summary": "Create a screenshot",
 18819          "description": "Create a new screenshot.",
 18820          "operationId": "screenshot/create",
 18821          "tags": [
 18822            "Screenshots"
 18823          ],
 18824          "parameters": [
 18825            {
 18826              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18827            },
 18828            {
 18829              "$ref": "#/components/parameters/project_id"
 18830            }
 18831          ],
 18832          "responses": {
 18833            "201": {
 18834              "description": "Created",
 18835              "content": {
 18836                "application/json": {
 18837                  "schema": {
 18838                    "$ref": "#/components/schemas/screenshot"
 18839                  }
 18840                }
 18841              },
 18842              "headers": {
 18843                "X-Rate-Limit-Limit": {
 18844                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18845                },
 18846                "X-Rate-Limit-Remaining": {
 18847                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18848                },
 18849                "X-Rate-Limit-Reset": {
 18850                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18851                }
 18852              }
 18853            },
 18854            "400": {
 18855              "$ref": "#/components/responses/400"
 18856            },
 18857            "404": {
 18858              "$ref": "#/components/responses/404"
 18859            },
 18860            "429": {
 18861              "$ref": "#/components/responses/429"
 18862            }
 18863          },
 18864          "x-code-samples": [
 18865            {
 18866              "lang": "Curl",
 18867              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/screenshots\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -F branch=my-feature-branch \\\n  -F name=A%20screenshot%20name \\\n  -F description=A%20screenshot%20description \\\n  -F filename=@/path/to/my/screenshot.png"
 18868            },
 18869            {
 18870              "lang": "CLI v2",
 18871              "source": "phrase screenshots create \\\n--project_id <project_id> \\\n--branch \"my-feature-branch\" --name \"A screenshot name\" --description \"A screenshot description\" --filename \"/path/to/my/screenshot.png\" \\\n--access_token <token>"
 18872            }
 18873          ],
 18874          "requestBody": {
 18875            "required": true,
 18876            "content": {
 18877              "multipart/form-data": {
 18878                "schema": {
 18879                  "type": "object",
 18880                  "title": "screenshot/create/parameters",
 18881                  "properties": {
 18882                    "branch": {
 18883                      "description": "specify the branch to use",
 18884                      "type": "string",
 18885                      "example": "my-feature-branch"
 18886                    },
 18887                    "name": {
 18888                      "description": "Name of the screenshot",
 18889                      "type": "string",
 18890                      "example": "A screenshot name"
 18891                    },
 18892                    "description": {
 18893                      "description": "Description of the screenshot",
 18894                      "type": "string",
 18895                      "example": "A screenshot description"
 18896                    },
 18897                    "filename": {
 18898                      "description": "Screenshot file",
 18899                      "type": "string",
 18900                      "format": "binary",
 18901                      "example": "/path/to/my/screenshot.png"
 18902                    }
 18903                  }
 18904                }
 18905              }
 18906            }
 18907          },
 18908          "x-cli-version": "2.5"
 18909        }
 18910      },
 18911      "/projects/{project_id}/screenshots/{id}": {
 18912        "get": {
 18913          "summary": "Get a single screenshot",
 18914          "description": "Get details on a single screenshot for a given project.",
 18915          "operationId": "screenshot/show",
 18916          "tags": [
 18917            "Screenshots"
 18918          ],
 18919          "parameters": [
 18920            {
 18921              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18922            },
 18923            {
 18924              "$ref": "#/components/parameters/project_id"
 18925            },
 18926            {
 18927              "$ref": "#/components/parameters/id"
 18928            },
 18929            {
 18930              "description": "specify the branch to use",
 18931              "example": "my-feature-branch",
 18932              "name": "branch",
 18933              "in": "query",
 18934              "schema": {
 18935                "type": "string"
 18936              }
 18937            }
 18938          ],
 18939          "responses": {
 18940            "200": {
 18941              "description": "OK",
 18942              "content": {
 18943                "application/json": {
 18944                  "schema": {
 18945                    "$ref": "#/components/schemas/screenshot"
 18946                  }
 18947                }
 18948              },
 18949              "headers": {
 18950                "X-Rate-Limit-Limit": {
 18951                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 18952                },
 18953                "X-Rate-Limit-Remaining": {
 18954                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 18955                },
 18956                "X-Rate-Limit-Reset": {
 18957                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 18958                }
 18959              }
 18960            },
 18961            "400": {
 18962              "$ref": "#/components/responses/400"
 18963            },
 18964            "404": {
 18965              "$ref": "#/components/responses/404"
 18966            },
 18967            "429": {
 18968              "$ref": "#/components/responses/429"
 18969            }
 18970          },
 18971          "x-code-samples": [
 18972            {
 18973              "lang": "Curl",
 18974              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/screenshots/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 18975            },
 18976            {
 18977              "lang": "CLI v2",
 18978              "source": "phrase screenshots show \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 18979            }
 18980          ],
 18981          "x-cli-version": "2.5"
 18982        },
 18983        "patch": {
 18984          "summary": "Update a screenshot",
 18985          "description": "Update an existing screenshot.",
 18986          "operationId": "screenshot/update",
 18987          "tags": [
 18988            "Screenshots"
 18989          ],
 18990          "parameters": [
 18991            {
 18992              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 18993            },
 18994            {
 18995              "$ref": "#/components/parameters/project_id"
 18996            },
 18997            {
 18998              "$ref": "#/components/parameters/id"
 18999            }
 19000          ],
 19001          "responses": {
 19002            "200": {
 19003              "description": "OK",
 19004              "content": {
 19005                "application/json": {
 19006                  "schema": {
 19007                    "$ref": "#/components/schemas/screenshot"
 19008                  }
 19009                }
 19010              },
 19011              "headers": {
 19012                "X-Rate-Limit-Limit": {
 19013                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 19014                },
 19015                "X-Rate-Limit-Remaining": {
 19016                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 19017                },
 19018                "X-Rate-Limit-Reset": {
 19019                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 19020                }
 19021              }
 19022            },
 19023            "400": {
 19024              "$ref": "#/components/responses/400"
 19025            },
 19026            "404": {
 19027              "$ref": "#/components/responses/404"
 19028            },
 19029            "429": {
 19030              "$ref": "#/components/responses/429"
 19031            }
 19032          },
 19033          "x-code-samples": [
 19034            {
 19035              "lang": "Curl",
 19036              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/screenshots/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -F branch=my-feature-branch \\\n  -F name=A%20screenshot%20name \\\n  -F description=A%20screenshot%20description \\\n  -F filename=@/path/to/my/screenshot.png"
 19037            },
 19038            {
 19039              "lang": "CLI v2",
 19040              "source": "phrase screenshots update \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\": \"A screenshot name\", \"description\": \"A screenshot description\", \"filename\":\"/path/to/my/screenshot.png\"}' \\\n--access_token <token>"
 19041            }
 19042          ],
 19043          "requestBody": {
 19044            "required": true,
 19045            "content": {
 19046              "application/json": {
 19047                "schema": {
 19048                  "type": "object",
 19049                  "title": "screenshot/update/parameters",
 19050                  "properties": {
 19051                    "branch": {
 19052                      "description": "specify the branch to use",
 19053                      "type": "string",
 19054                      "example": "my-feature-branch"
 19055                    },
 19056                    "name": {
 19057                      "description": "Name of the screenshot",
 19058                      "type": "string",
 19059                      "example": "A screenshot name"
 19060                    },
 19061                    "description": {
 19062                      "description": "Description of the screenshot",
 19063                      "type": "string",
 19064                      "example": "A screenshot description"
 19065                    },
 19066                    "filename": {
 19067                      "description": "Screenshot file",
 19068                      "type": "string",
 19069                      "format": "binary",
 19070                      "example": "/path/to/my/screenshot.png"
 19071                    }
 19072                  }
 19073                }
 19074              }
 19075            }
 19076          },
 19077          "x-cli-version": "2.5"
 19078        },
 19079        "delete": {
 19080          "summary": "Delete a screenshot",
 19081          "description": "Delete an existing screenshot.",
 19082          "operationId": "screenshot/delete",
 19083          "tags": [
 19084            "Screenshots"
 19085          ],
 19086          "parameters": [
 19087            {
 19088              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19089            },
 19090            {
 19091              "$ref": "#/components/parameters/project_id"
 19092            },
 19093            {
 19094              "$ref": "#/components/parameters/id"
 19095            },
 19096            {
 19097              "description": "specify the branch to use",
 19098              "example": "my-feature-branch",
 19099              "name": "branch",
 19100              "in": "query",
 19101              "schema": {
 19102                "type": "string"
 19103              }
 19104            }
 19105          ],
 19106          "responses": {
 19107            "204": {
 19108              "$ref": "#/components/responses/204"
 19109            },
 19110            "400": {
 19111              "$ref": "#/components/responses/400"
 19112            },
 19113            "404": {
 19114              "$ref": "#/components/responses/404"
 19115            },
 19116            "429": {
 19117              "$ref": "#/components/responses/429"
 19118            }
 19119          },
 19120          "x-code-samples": [
 19121            {
 19122              "lang": "Curl",
 19123              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/screenshots/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 19124            },
 19125            {
 19126              "lang": "CLI v2",
 19127              "source": "phrase screenshots delete \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 19128            }
 19129          ],
 19130          "x-cli-version": "2.5"
 19131        }
 19132      },
 19133      "/accounts/{account_id}/glossaries/{glossary_id}/terms": {
 19134        "get": {
 19135          "summary": "List terms",
 19136          "description": "List all terms in term bases (previously: glossary) that the current user has access to.",
 19137          "operationId": "glossary_terms/list",
 19138          "tags": [
 19139            "Glossary Terms"
 19140          ],
 19141          "parameters": [
 19142            {
 19143              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19144            },
 19145            {
 19146              "$ref": "#/components/parameters/account_id"
 19147            },
 19148            {
 19149              "$ref": "#/components/parameters/glossary_id"
 19150            },
 19151            {
 19152              "$ref": "#/components/parameters/page"
 19153            },
 19154            {
 19155              "$ref": "#/components/parameters/per_page"
 19156            }
 19157          ],
 19158          "responses": {
 19159            "200": {
 19160              "description": "OK",
 19161              "content": {
 19162                "application/json": {
 19163                  "schema": {
 19164                    "type": "array",
 19165                    "items": {
 19166                      "$ref": "#/components/schemas/glossary_term"
 19167                    }
 19168                  }
 19169                }
 19170              },
 19171              "headers": {
 19172                "X-Rate-Limit-Limit": {
 19173                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 19174                },
 19175                "X-Rate-Limit-Remaining": {
 19176                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 19177                },
 19178                "X-Rate-Limit-Reset": {
 19179                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 19180                },
 19181                "Link": {
 19182                  "$ref": "#/components/headers/Link"
 19183                },
 19184                "Pagination": {
 19185                  "$ref": "#/components/headers/Pagination"
 19186                }
 19187              }
 19188            },
 19189            "400": {
 19190              "$ref": "#/components/responses/400"
 19191            },
 19192            "404": {
 19193              "$ref": "#/components/responses/404"
 19194            },
 19195            "429": {
 19196              "$ref": "#/components/responses/429"
 19197            }
 19198          },
 19199          "x-code-samples": [
 19200            {
 19201              "lang": "Curl",
 19202              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:glossary_id/terms\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 19203            },
 19204            {
 19205              "lang": "CLI v2",
 19206              "source": "phrase glossary_terms list \\\n--account_id <account_id> \\\n--glossary_id <glossary_id> \\\n--access_token <token>"
 19207            }
 19208          ],
 19209          "x-cli-version": "2.5"
 19210        },
 19211        "post": {
 19212          "summary": "Create a term",
 19213          "description": "Create a new term in a term base (previously: glossary).",
 19214          "operationId": "glossary_term/create",
 19215          "tags": [
 19216            "Glossary Terms"
 19217          ],
 19218          "parameters": [
 19219            {
 19220              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19221            },
 19222            {
 19223              "$ref": "#/components/parameters/account_id"
 19224            },
 19225            {
 19226              "$ref": "#/components/parameters/glossary_id"
 19227            }
 19228          ],
 19229          "responses": {
 19230            "201": {
 19231              "description": "Created",
 19232              "content": {
 19233                "application/json": {
 19234                  "schema": {
 19235                    "$ref": "#/components/schemas/glossary_term"
 19236                  }
 19237                }
 19238              },
 19239              "headers": {
 19240                "X-Rate-Limit-Limit": {
 19241                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 19242                },
 19243                "X-Rate-Limit-Remaining": {
 19244                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 19245                },
 19246                "X-Rate-Limit-Reset": {
 19247                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 19248                }
 19249              }
 19250            },
 19251            "400": {
 19252              "$ref": "#/components/responses/400"
 19253            },
 19254            "404": {
 19255              "$ref": "#/components/responses/404"
 19256            },
 19257            "429": {
 19258              "$ref": "#/components/responses/429"
 19259            }
 19260          },
 19261          "x-code-samples": [
 19262            {
 19263              "lang": "Curl",
 19264              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:glossary_id/terms\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"term\":\"MyCompany\",\"description\":\"Use this when refering to our company\",\"translatable\":true,\"case_sensitive\":true}' \\\n  -H 'Content-Type: application/json'"
 19265            },
 19266            {
 19267              "lang": "CLI v2",
 19268              "source": "phrase glossary_terms create \\\n--account_id <account_id> \\\n--glossary_id <glossary_id> \\\n--data '{\"term\":\"MyCompany\", \"description\": \"Use this when refering to our company\", \"translatable\":true, \"case_sensitive\":true}' \\\n--access_token <token>"
 19269            }
 19270          ],
 19271          "requestBody": {
 19272            "required": true,
 19273            "content": {
 19274              "application/json": {
 19275                "schema": {
 19276                  "type": "object",
 19277                  "title": "glossary_term/create/parameters",
 19278                  "required": [
 19279                    "term"
 19280                  ],
 19281                  "properties": {
 19282                    "term": {
 19283                      "description": "Glossary term",
 19284                      "type": "string",
 19285                      "example": "MyCompany"
 19286                    },
 19287                    "description": {
 19288                      "description": "Description of term",
 19289                      "type": "string",
 19290                      "example": "Use this when refering to our company"
 19291                    },
 19292                    "translatable": {
 19293                      "description": "Indicates whether the term should be used for all languages or can be translated",
 19294                      "type": "boolean",
 19295                      "example": true
 19296                    },
 19297                    "case_sensitive": {
 19298                      "description": "Indicates whether the term is case sensitive",
 19299                      "type": "boolean",
 19300                      "example": true
 19301                    }
 19302                  }
 19303                }
 19304              }
 19305            }
 19306          },
 19307          "x-cli-version": "2.5"
 19308        }
 19309      },
 19310      "/accounts/{account_id}/glossaries/{glossary_id}/terms/{id}": {
 19311        "get": {
 19312          "summary": "Get a single term",
 19313          "description": "Get details for a single term in the term base (previously: glossary).",
 19314          "operationId": "glossary_term/show",
 19315          "tags": [
 19316            "Glossary Terms"
 19317          ],
 19318          "parameters": [
 19319            {
 19320              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19321            },
 19322            {
 19323              "$ref": "#/components/parameters/account_id"
 19324            },
 19325            {
 19326              "$ref": "#/components/parameters/glossary_id"
 19327            },
 19328            {
 19329              "$ref": "#/components/parameters/id"
 19330            }
 19331          ],
 19332          "responses": {
 19333            "200": {
 19334              "description": "OK",
 19335              "content": {
 19336                "application/json": {
 19337                  "schema": {
 19338                    "$ref": "#/components/schemas/glossary_term"
 19339                  }
 19340                }
 19341              },
 19342              "headers": {
 19343                "X-Rate-Limit-Limit": {
 19344                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 19345                },
 19346                "X-Rate-Limit-Remaining": {
 19347                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 19348                },
 19349                "X-Rate-Limit-Reset": {
 19350                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 19351                }
 19352              }
 19353            },
 19354            "400": {
 19355              "$ref": "#/components/responses/400"
 19356            },
 19357            "404": {
 19358              "$ref": "#/components/responses/404"
 19359            },
 19360            "429": {
 19361              "$ref": "#/components/responses/429"
 19362            }
 19363          },
 19364          "x-code-samples": [
 19365            {
 19366              "lang": "Curl",
 19367              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:glossary_id/terms/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 19368            },
 19369            {
 19370              "lang": "CLI v2",
 19371              "source": "phrase glossary_terms show \\\n--account_id <account_id> \\\n--glossary_id <glossary_id> \\\n--id <id> \\\n--access_token <token>"
 19372            }
 19373          ],
 19374          "x-cli-version": "2.5"
 19375        },
 19376        "patch": {
 19377          "summary": "Update a term",
 19378          "description": "Update an existing term in a term base (previously: glossary).",
 19379          "operationId": "glossary_term/update",
 19380          "tags": [
 19381            "Glossary Terms"
 19382          ],
 19383          "parameters": [
 19384            {
 19385              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19386            },
 19387            {
 19388              "$ref": "#/components/parameters/account_id"
 19389            },
 19390            {
 19391              "$ref": "#/components/parameters/glossary_id"
 19392            },
 19393            {
 19394              "$ref": "#/components/parameters/id"
 19395            }
 19396          ],
 19397          "responses": {
 19398            "200": {
 19399              "description": "OK",
 19400              "content": {
 19401                "application/json": {
 19402                  "schema": {
 19403                    "$ref": "#/components/schemas/glossary_term"
 19404                  }
 19405                }
 19406              },
 19407              "headers": {
 19408                "X-Rate-Limit-Limit": {
 19409                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 19410                },
 19411                "X-Rate-Limit-Remaining": {
 19412                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 19413                },
 19414                "X-Rate-Limit-Reset": {
 19415                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 19416                }
 19417              }
 19418            },
 19419            "400": {
 19420              "$ref": "#/components/responses/400"
 19421            },
 19422            "404": {
 19423              "$ref": "#/components/responses/404"
 19424            },
 19425            "429": {
 19426              "$ref": "#/components/responses/429"
 19427            }
 19428          },
 19429          "x-code-samples": [
 19430            {
 19431              "lang": "Curl",
 19432              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:glossary_id/terms/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"term\":\"MyCompany\",\"description\":\"Use this when refering to our company\",\"translatable\":true,\"case_sensitive\":true}' \\\n  -H 'Content-Type: application/json'"
 19433            },
 19434            {
 19435              "lang": "CLI v2",
 19436              "source": "phrase glossary_terms update \\\n--account_id <account_id> \\\n--glossary_id <glossary_id> \\\n--id <id> \\\n--data '{\"term\":\"MyCompany\", \"description\": \"Use this when refering to our company\", \"translatable\":true, \"case_sensitive\":true}' \\\n--access_token <token>"
 19437            }
 19438          ],
 19439          "requestBody": {
 19440            "required": true,
 19441            "content": {
 19442              "application/json": {
 19443                "schema": {
 19444                  "type": "object",
 19445                  "title": "glossary_term/update/parameters",
 19446                  "properties": {
 19447                    "term": {
 19448                      "description": "Glossary term",
 19449                      "type": "string",
 19450                      "example": "MyCompany"
 19451                    },
 19452                    "description": {
 19453                      "description": "Description of term",
 19454                      "type": "string",
 19455                      "example": "Use this when refering to our company"
 19456                    },
 19457                    "translatable": {
 19458                      "description": "Indicates whether the term should be used for all languages or can be translated",
 19459                      "type": "boolean",
 19460                      "example": true
 19461                    },
 19462                    "case_sensitive": {
 19463                      "description": "Indicates whether the term is case sensitive",
 19464                      "type": "boolean",
 19465                      "example": true
 19466                    }
 19467                  }
 19468                }
 19469              }
 19470            }
 19471          },
 19472          "x-cli-version": "2.5"
 19473        },
 19474        "delete": {
 19475          "summary": "Delete a term",
 19476          "description": "Delete an existing term in a term base (previously: glossary).",
 19477          "operationId": "glossary_term/delete",
 19478          "tags": [
 19479            "Glossary Terms"
 19480          ],
 19481          "parameters": [
 19482            {
 19483              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19484            },
 19485            {
 19486              "$ref": "#/components/parameters/account_id"
 19487            },
 19488            {
 19489              "$ref": "#/components/parameters/glossary_id"
 19490            },
 19491            {
 19492              "$ref": "#/components/parameters/id"
 19493            }
 19494          ],
 19495          "responses": {
 19496            "204": {
 19497              "$ref": "#/components/responses/204"
 19498            },
 19499            "400": {
 19500              "$ref": "#/components/responses/400"
 19501            },
 19502            "404": {
 19503              "$ref": "#/components/responses/404"
 19504            },
 19505            "429": {
 19506              "$ref": "#/components/responses/429"
 19507            }
 19508          },
 19509          "x-code-samples": [
 19510            {
 19511              "lang": "Curl",
 19512              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/glossaries/:glossary_id/terms/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 19513            },
 19514            {
 19515              "lang": "CLI v2",
 19516              "source": "phrase glossary_terms delete \\\n--account_id <account_id> \\\n--glossary_id <glossary_id> \\\n--id <id> \\\n--access_token <token>"
 19517            }
 19518          ],
 19519          "x-cli-version": "2.5"
 19520        }
 19521      },
 19522      "/projects/{project_id}/tags": {
 19523        "get": {
 19524          "summary": "List tags",
 19525          "description": "List all tags for the given project.",
 19526          "operationId": "tags/list",
 19527          "tags": [
 19528            "Tags"
 19529          ],
 19530          "parameters": [
 19531            {
 19532              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19533            },
 19534            {
 19535              "$ref": "#/components/parameters/project_id"
 19536            },
 19537            {
 19538              "$ref": "#/components/parameters/page"
 19539            },
 19540            {
 19541              "$ref": "#/components/parameters/per_page"
 19542            },
 19543            {
 19544              "description": "specify the branch to use",
 19545              "example": "my-feature-branch",
 19546              "name": "branch",
 19547              "in": "query",
 19548              "schema": {
 19549                "type": "string"
 19550              }
 19551            }
 19552          ],
 19553          "responses": {
 19554            "200": {
 19555              "description": "OK",
 19556              "content": {
 19557                "application/json": {
 19558                  "schema": {
 19559                    "type": "array",
 19560                    "items": {
 19561                      "$ref": "#/components/schemas/tag"
 19562                    }
 19563                  }
 19564                }
 19565              },
 19566              "headers": {
 19567                "X-Rate-Limit-Limit": {
 19568                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 19569                },
 19570                "X-Rate-Limit-Remaining": {
 19571                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 19572                },
 19573                "X-Rate-Limit-Reset": {
 19574                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 19575                },
 19576                "Link": {
 19577                  "$ref": "#/components/headers/Link"
 19578                },
 19579                "Pagination": {
 19580                  "$ref": "#/components/headers/Pagination"
 19581                }
 19582              }
 19583            },
 19584            "400": {
 19585              "$ref": "#/components/responses/400"
 19586            },
 19587            "404": {
 19588              "$ref": "#/components/responses/404"
 19589            },
 19590            "429": {
 19591              "$ref": "#/components/responses/429"
 19592            }
 19593          },
 19594          "x-code-samples": [
 19595            {
 19596              "lang": "Curl",
 19597              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/tags?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 19598            },
 19599            {
 19600              "lang": "CLI v2",
 19601              "source": "phrase tags list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 19602            }
 19603          ],
 19604          "x-cli-version": "2.5"
 19605        },
 19606        "post": {
 19607          "summary": "Create a tag",
 19608          "description": "Create a new tag.",
 19609          "operationId": "tag/create",
 19610          "tags": [
 19611            "Tags"
 19612          ],
 19613          "parameters": [
 19614            {
 19615              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19616            },
 19617            {
 19618              "$ref": "#/components/parameters/project_id"
 19619            }
 19620          ],
 19621          "responses": {
 19622            "201": {
 19623              "description": "Created",
 19624              "content": {
 19625                "application/json": {
 19626                  "schema": {
 19627                    "$ref": "#/components/schemas/tag_with_stats"
 19628                  }
 19629                }
 19630              },
 19631              "headers": {
 19632                "X-Rate-Limit-Limit": {
 19633                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 19634                },
 19635                "X-Rate-Limit-Remaining": {
 19636                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 19637                },
 19638                "X-Rate-Limit-Reset": {
 19639                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 19640                }
 19641              }
 19642            },
 19643            "400": {
 19644              "$ref": "#/components/responses/400"
 19645            },
 19646            "404": {
 19647              "$ref": "#/components/responses/404"
 19648            },
 19649            "429": {
 19650              "$ref": "#/components/responses/429"
 19651            }
 19652          },
 19653          "x-code-samples": [
 19654            {
 19655              "lang": "Curl",
 19656              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/tags\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"name\":\"my-feature\"}' \\\n  -H 'Content-Type: application/json'"
 19657            },
 19658            {
 19659              "lang": "CLI v2",
 19660              "source": "phrase tags create \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\":\"my-feature\"}' \\\n--access_token <token>"
 19661            }
 19662          ],
 19663          "requestBody": {
 19664            "required": true,
 19665            "content": {
 19666              "application/json": {
 19667                "schema": {
 19668                  "type": "object",
 19669                  "title": "tag/create/parameters",
 19670                  "required": [
 19671                    "name"
 19672                  ],
 19673                  "properties": {
 19674                    "branch": {
 19675                      "description": "specify the branch to use",
 19676                      "type": "string",
 19677                      "example": "my-feature-branch"
 19678                    },
 19679                    "name": {
 19680                      "description": "Name of the tag",
 19681                      "type": "string",
 19682                      "example": "my-feature"
 19683                    }
 19684                  }
 19685                }
 19686              }
 19687            }
 19688          },
 19689          "x-cli-version": "2.5"
 19690        }
 19691      },
 19692      "/projects/{project_id}/tags/{name}": {
 19693        "get": {
 19694          "summary": "Get a single tag",
 19695          "description": "Get details and progress information on a single tag for a given project.",
 19696          "operationId": "tag/show",
 19697          "tags": [
 19698            "Tags"
 19699          ],
 19700          "parameters": [
 19701            {
 19702              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19703            },
 19704            {
 19705              "$ref": "#/components/parameters/project_id"
 19706            },
 19707            {
 19708              "$ref": "#/components/parameters/name"
 19709            },
 19710            {
 19711              "description": "specify the branch to use",
 19712              "example": "my-feature-branch",
 19713              "name": "branch",
 19714              "in": "query",
 19715              "schema": {
 19716                "type": "string"
 19717              }
 19718            }
 19719          ],
 19720          "responses": {
 19721            "200": {
 19722              "description": "OK",
 19723              "content": {
 19724                "application/json": {
 19725                  "schema": {
 19726                    "$ref": "#/components/schemas/tag_with_stats"
 19727                  }
 19728                }
 19729              },
 19730              "headers": {
 19731                "X-Rate-Limit-Limit": {
 19732                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 19733                },
 19734                "X-Rate-Limit-Remaining": {
 19735                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 19736                },
 19737                "X-Rate-Limit-Reset": {
 19738                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 19739                }
 19740              }
 19741            },
 19742            "400": {
 19743              "$ref": "#/components/responses/400"
 19744            },
 19745            "404": {
 19746              "$ref": "#/components/responses/404"
 19747            },
 19748            "429": {
 19749              "$ref": "#/components/responses/429"
 19750            }
 19751          },
 19752          "x-code-samples": [
 19753            {
 19754              "lang": "Curl",
 19755              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/tags/:name?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 19756            },
 19757            {
 19758              "lang": "CLI v2",
 19759              "source": "phrase tags show \\\n--project_id <project_id> \\\n--name <name> \\\n--branch my-feature-branch \\\n--access_token <token>"
 19760            }
 19761          ],
 19762          "x-cli-version": "2.5"
 19763        },
 19764        "delete": {
 19765          "summary": "Delete a tag",
 19766          "description": "Delete an existing tag.",
 19767          "operationId": "tag/delete",
 19768          "tags": [
 19769            "Tags"
 19770          ],
 19771          "parameters": [
 19772            {
 19773              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19774            },
 19775            {
 19776              "$ref": "#/components/parameters/project_id"
 19777            },
 19778            {
 19779              "$ref": "#/components/parameters/name"
 19780            },
 19781            {
 19782              "description": "specify the branch to use",
 19783              "example": "my-feature-branch",
 19784              "name": "branch",
 19785              "in": "query",
 19786              "schema": {
 19787                "type": "string"
 19788              }
 19789            }
 19790          ],
 19791          "responses": {
 19792            "204": {
 19793              "$ref": "#/components/responses/204"
 19794            },
 19795            "400": {
 19796              "$ref": "#/components/responses/400"
 19797            },
 19798            "404": {
 19799              "$ref": "#/components/responses/404"
 19800            },
 19801            "429": {
 19802              "$ref": "#/components/responses/429"
 19803            }
 19804          },
 19805          "x-code-samples": [
 19806            {
 19807              "lang": "Curl",
 19808              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/tags/:name\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 19809            },
 19810            {
 19811              "lang": "CLI v2",
 19812              "source": "phrase tags delete \\\n--project_id <project_id> \\\n--name <name> \\\n--branch my-feature-branch \\\n--access_token <token>"
 19813            }
 19814          ],
 19815          "x-cli-version": "2.5"
 19816        }
 19817      },
 19818      "/projects/{project_id}/blacklisted_keys": {
 19819        "get": {
 19820          "summary": "List blocked keys",
 19821          "description": "List all rules for blocking keys for the given project.",
 19822          "operationId": "blacklisted_keys/list",
 19823          "tags": [
 19824            "Blacklisted Keys"
 19825          ],
 19826          "parameters": [
 19827            {
 19828              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19829            },
 19830            {
 19831              "$ref": "#/components/parameters/project_id"
 19832            },
 19833            {
 19834              "$ref": "#/components/parameters/page"
 19835            },
 19836            {
 19837              "$ref": "#/components/parameters/per_page"
 19838            },
 19839            {
 19840              "description": "specify the branch to use",
 19841              "example": "my-feature-branch",
 19842              "name": "branch",
 19843              "in": "query",
 19844              "schema": {
 19845                "type": "string"
 19846              }
 19847            }
 19848          ],
 19849          "responses": {
 19850            "200": {
 19851              "description": "OK",
 19852              "content": {
 19853                "application/json": {
 19854                  "schema": {
 19855                    "type": "array",
 19856                    "items": {
 19857                      "$ref": "#/components/schemas/blacklisted_key"
 19858                    }
 19859                  }
 19860                }
 19861              },
 19862              "headers": {
 19863                "X-Rate-Limit-Limit": {
 19864                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 19865                },
 19866                "X-Rate-Limit-Remaining": {
 19867                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 19868                },
 19869                "X-Rate-Limit-Reset": {
 19870                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 19871                },
 19872                "Link": {
 19873                  "$ref": "#/components/headers/Link"
 19874                },
 19875                "Pagination": {
 19876                  "$ref": "#/components/headers/Pagination"
 19877                }
 19878              }
 19879            },
 19880            "400": {
 19881              "$ref": "#/components/responses/400"
 19882            },
 19883            "404": {
 19884              "$ref": "#/components/responses/404"
 19885            },
 19886            "429": {
 19887              "$ref": "#/components/responses/429"
 19888            }
 19889          },
 19890          "x-code-samples": [
 19891            {
 19892              "lang": "Curl",
 19893              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/blacklisted_keys\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 19894            },
 19895            {
 19896              "lang": "CLI v2",
 19897              "source": "phrase blacklisted_keys list \\\n--project_id <project_id> \\\n--access_token <token>"
 19898            }
 19899          ],
 19900          "x-cli-version": "2.5"
 19901        },
 19902        "post": {
 19903          "summary": "Create a blocked key",
 19904          "description": "Create a new rule for blocking keys.",
 19905          "operationId": "blacklisted_key/create",
 19906          "tags": [
 19907            "Blacklisted Keys"
 19908          ],
 19909          "parameters": [
 19910            {
 19911              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19912            },
 19913            {
 19914              "$ref": "#/components/parameters/project_id"
 19915            }
 19916          ],
 19917          "responses": {
 19918            "201": {
 19919              "description": "Created",
 19920              "content": {
 19921                "application/json": {
 19922                  "schema": {
 19923                    "$ref": "#/components/schemas/blacklisted_key"
 19924                  }
 19925                }
 19926              },
 19927              "headers": {
 19928                "X-Rate-Limit-Limit": {
 19929                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 19930                },
 19931                "X-Rate-Limit-Remaining": {
 19932                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 19933                },
 19934                "X-Rate-Limit-Reset": {
 19935                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 19936                }
 19937              }
 19938            },
 19939            "400": {
 19940              "$ref": "#/components/responses/400"
 19941            },
 19942            "404": {
 19943              "$ref": "#/components/responses/404"
 19944            },
 19945            "429": {
 19946              "$ref": "#/components/responses/429"
 19947            }
 19948          },
 19949          "x-code-samples": [
 19950            {
 19951              "lang": "Curl",
 19952              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/blacklisted_keys\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"name\":\"date.formats.*\"}' \\\n  -H 'Content-Type: application/json'"
 19953            },
 19954            {
 19955              "lang": "CLI v2",
 19956              "source": "phrase blacklisted_keys create \\\n--project_id <project_id> \\\n--data '{\"name\":\"'date.formats.*'\"}' \\\n--access_token <token>"
 19957            }
 19958          ],
 19959          "requestBody": {
 19960            "required": true,
 19961            "content": {
 19962              "application/json": {
 19963                "schema": {
 19964                  "type": "object",
 19965                  "title": "blacklisted_key/create/parameters",
 19966                  "required": [
 19967                    "name"
 19968                  ],
 19969                  "properties": {
 19970                    "name": {
 19971                      "description": "Blocked key name",
 19972                      "type": "string",
 19973                      "example": "date.formats.*"
 19974                    }
 19975                  }
 19976                }
 19977              }
 19978            }
 19979          },
 19980          "x-cli-version": "2.5"
 19981        }
 19982      },
 19983      "/projects/{project_id}/blacklisted_keys/{id}": {
 19984        "get": {
 19985          "summary": "Get a single blocked key",
 19986          "description": "Get details on a single rule for blocking keys for a given project.",
 19987          "operationId": "blacklisted_key/show",
 19988          "tags": [
 19989            "Blacklisted Keys"
 19990          ],
 19991          "parameters": [
 19992            {
 19993              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 19994            },
 19995            {
 19996              "$ref": "#/components/parameters/project_id"
 19997            },
 19998            {
 19999              "$ref": "#/components/parameters/id"
 20000            }
 20001          ],
 20002          "responses": {
 20003            "200": {
 20004              "description": "OK",
 20005              "content": {
 20006                "application/json": {
 20007                  "schema": {
 20008                    "$ref": "#/components/schemas/blacklisted_key"
 20009                  }
 20010                }
 20011              },
 20012              "headers": {
 20013                "X-Rate-Limit-Limit": {
 20014                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 20015                },
 20016                "X-Rate-Limit-Remaining": {
 20017                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 20018                },
 20019                "X-Rate-Limit-Reset": {
 20020                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 20021                }
 20022              }
 20023            },
 20024            "400": {
 20025              "$ref": "#/components/responses/400"
 20026            },
 20027            "404": {
 20028              "$ref": "#/components/responses/404"
 20029            },
 20030            "429": {
 20031              "$ref": "#/components/responses/429"
 20032            }
 20033          },
 20034          "x-code-samples": [
 20035            {
 20036              "lang": "Curl",
 20037              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/blacklisted_keys/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 20038            },
 20039            {
 20040              "lang": "CLI v2",
 20041              "source": "phrase blacklisted_keys show \\\n--project_id <project_id> \\\n--id <id> \\\n--access_token <token>"
 20042            }
 20043          ],
 20044          "x-cli-version": "2.5"
 20045        },
 20046        "patch": {
 20047          "summary": "Update a blocked key",
 20048          "description": "Update an existing rule for blocking keys.",
 20049          "operationId": "blacklisted_key/update",
 20050          "tags": [
 20051            "Blacklisted Keys"
 20052          ],
 20053          "parameters": [
 20054            {
 20055              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 20056            },
 20057            {
 20058              "$ref": "#/components/parameters/project_id"
 20059            },
 20060            {
 20061              "$ref": "#/components/parameters/id"
 20062            }
 20063          ],
 20064          "responses": {
 20065            "200": {
 20066              "description": "OK",
 20067              "content": {
 20068                "application/json": {
 20069                  "schema": {
 20070                    "$ref": "#/components/schemas/blacklisted_key"
 20071                  }
 20072                }
 20073              },
 20074              "headers": {
 20075                "X-Rate-Limit-Limit": {
 20076                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 20077                },
 20078                "X-Rate-Limit-Remaining": {
 20079                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 20080                },
 20081                "X-Rate-Limit-Reset": {
 20082                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 20083                }
 20084              }
 20085            },
 20086            "400": {
 20087              "$ref": "#/components/responses/400"
 20088            },
 20089            "404": {
 20090              "$ref": "#/components/responses/404"
 20091            },
 20092            "429": {
 20093              "$ref": "#/components/responses/429"
 20094            }
 20095          },
 20096          "x-code-samples": [
 20097            {
 20098              "lang": "Curl",
 20099              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/blacklisted_keys/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"name\":\"date.formats.*\"}' \\\n  -H 'Content-Type: application/json'"
 20100            },
 20101            {
 20102              "lang": "CLI v2",
 20103              "source": "phrase blacklisted_keys update \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"name\":\"'date.formats.*'\"}' \\\n--access_token <token>"
 20104            }
 20105          ],
 20106          "requestBody": {
 20107            "required": true,
 20108            "content": {
 20109              "application/json": {
 20110                "schema": {
 20111                  "type": "object",
 20112                  "title": "blacklisted_key/update/parameters",
 20113                  "properties": {
 20114                    "name": {
 20115                      "description": "Blocked key name",
 20116                      "type": "string",
 20117                      "example": "date.formats.*"
 20118                    }
 20119                  }
 20120                }
 20121              }
 20122            }
 20123          },
 20124          "x-cli-version": "2.5"
 20125        },
 20126        "delete": {
 20127          "summary": "Delete a blocked key",
 20128          "description": "Delete an existing rule for blocking keys.",
 20129          "operationId": "blacklisted_key/delete",
 20130          "tags": [
 20131            "Blacklisted Keys"
 20132          ],
 20133          "parameters": [
 20134            {
 20135              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 20136            },
 20137            {
 20138              "$ref": "#/components/parameters/project_id"
 20139            },
 20140            {
 20141              "$ref": "#/components/parameters/id"
 20142            }
 20143          ],
 20144          "responses": {
 20145            "204": {
 20146              "$ref": "#/components/responses/204"
 20147            },
 20148            "400": {
 20149              "$ref": "#/components/responses/400"
 20150            },
 20151            "404": {
 20152              "$ref": "#/components/responses/404"
 20153            },
 20154            "429": {
 20155              "$ref": "#/components/responses/429"
 20156            }
 20157          },
 20158          "x-code-samples": [
 20159            {
 20160              "lang": "Curl",
 20161              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/blacklisted_keys/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 20162            },
 20163            {
 20164              "lang": "CLI v2",
 20165              "source": "phrase blacklisted_keys delete \\\n--project_id <project_id> \\\n--id <id> \\\n--access_token <token>"
 20166            }
 20167          ],
 20168          "x-cli-version": "2.5"
 20169        }
 20170      },
 20171      "/projects/{project_id}/keys": {
 20172        "get": {
 20173          "summary": "List keys",
 20174          "description": "List all keys for the given project. Alternatively you can POST requests to /search.",
 20175          "operationId": "keys/list",
 20176          "tags": [
 20177            "Keys"
 20178          ],
 20179          "parameters": [
 20180            {
 20181              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 20182            },
 20183            {
 20184              "$ref": "#/components/parameters/project_id"
 20185            },
 20186            {
 20187              "$ref": "#/components/parameters/page"
 20188            },
 20189            {
 20190              "$ref": "#/components/parameters/per_page"
 20191            },
 20192            {
 20193              "description": "specify the branch to use",
 20194              "example": "my-feature-branch",
 20195              "name": "branch",
 20196              "in": "query",
 20197              "schema": {
 20198                "type": "string"
 20199              }
 20200            },
 20201            {
 20202              "description": "Sort by field. Can be one of: name, created_at, updated_at.",
 20203              "example": "updated_at",
 20204              "name": "sort",
 20205              "in": "query",
 20206              "schema": {
 20207                "type": "string"
 20208              }
 20209            },
 20210            {
 20211              "description": "Order direction. Can be one of: asc, desc.",
 20212              "example": "desc",
 20213              "name": "order",
 20214              "in": "query",
 20215              "schema": {
 20216                "type": "string"
 20217              }
 20218            },
 20219            {
 20220              "description": "Specify a query to do broad search for keys by name (including wildcards).<br><br>\nThe following qualifiers are also supported in the search term:<br>\n<ul>\n  <li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>name:key_name,...</code> for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes</li>\n  <li><code>tags:tag_name,...</code> to filter for keys with certain comma-seperated list of tags</li>\n  <li><code>uploads:upload_id,...</code> to filter for keys with certain comma-seperated list of uploads</li>\n  <li><code>job:{true|false}</code> to filter for keys mentioned in an active job</li>\n  <li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n  <li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n  <li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 20221              "example": "mykey* translated:true",
 20222              "name": "q",
 20223              "in": "query",
 20224              "schema": {
 20225                "type": "string"
 20226              }
 20227            },
 20228            {
 20229              "description": "Locale used to determine the translation state of a key when filtering for untranslated or translated keys.",
 20230              "example": "abcd1234abcd1234abcd1234abcd1234",
 20231              "name": "locale_id",
 20232              "in": "query",
 20233              "schema": {
 20234                "type": "string"
 20235              }
 20236            }
 20237          ],
 20238          "responses": {
 20239            "200": {
 20240              "description": "OK",
 20241              "content": {
 20242                "application/json": {
 20243                  "schema": {
 20244                    "type": "array",
 20245                    "items": {
 20246                      "$ref": "#/components/schemas/translation_key"
 20247                    }
 20248                  }
 20249                }
 20250              },
 20251              "headers": {
 20252                "X-Rate-Limit-Limit": {
 20253                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 20254                },
 20255                "X-Rate-Limit-Remaining": {
 20256                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 20257                },
 20258                "X-Rate-Limit-Reset": {
 20259                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 20260                },
 20261                "Link": {
 20262                  "$ref": "#/components/headers/Link"
 20263                },
 20264                "Pagination": {
 20265                  "$ref": "#/components/headers/Pagination"
 20266                }
 20267              }
 20268            },
 20269            "400": {
 20270              "$ref": "#/components/responses/400"
 20271            },
 20272            "404": {
 20273              "$ref": "#/components/responses/404"
 20274            },
 20275            "429": {
 20276              "$ref": "#/components/responses/429"
 20277            }
 20278          },
 20279          "x-code-samples": [
 20280            {
 20281              "lang": "Curl",
 20282              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys?branch=my-feature-branch&sort=updated_at&order=desc&q=mykey*%20translated:true&locale_id=abcd1234abcd1234abcd1234abcd1234\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 20283            },
 20284            {
 20285              "lang": "CLI v2",
 20286              "source": "phrase keys list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--sort updated_at \\\n--order desc \\\n--query 'mykey* translated:true' \\\n--locale_id abcd1234abcd1234abcd1234abcd1234 \\\n--access_token <token>"
 20287            }
 20288          ],
 20289          "x-cli-version": "2.5"
 20290        },
 20291        "post": {
 20292          "summary": "Create a key",
 20293          "description": "Create a new key.",
 20294          "operationId": "key/create",
 20295          "tags": [
 20296            "Keys"
 20297          ],
 20298          "parameters": [
 20299            {
 20300              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 20301            },
 20302            {
 20303              "$ref": "#/components/parameters/project_id"
 20304            }
 20305          ],
 20306          "responses": {
 20307            "201": {
 20308              "description": "Created",
 20309              "content": {
 20310                "application/json": {
 20311                  "schema": {
 20312                    "$ref": "#/components/schemas/translation_key_details"
 20313                  }
 20314                }
 20315              },
 20316              "headers": {
 20317                "X-Rate-Limit-Limit": {
 20318                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 20319                },
 20320                "X-Rate-Limit-Remaining": {
 20321                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 20322                },
 20323                "X-Rate-Limit-Reset": {
 20324                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 20325                }
 20326              }
 20327            },
 20328            "400": {
 20329              "$ref": "#/components/responses/400"
 20330            },
 20331            "404": {
 20332              "$ref": "#/components/responses/404"
 20333            },
 20334            "429": {
 20335              "$ref": "#/components/responses/429"
 20336            }
 20337          },
 20338          "x-code-samples": [
 20339            {
 20340              "lang": "Curl",
 20341              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -F branch=my-feature-branch \\\n  -F name=home.index.headline \\\n  -F description=Some%20description%20worth%20knowing... \\\n  -F name_plural=home.index.headlines \\\n  -F data_type=number \\\n  -F tags=awesome-feature,needs-proofreading \\\n  -F max_characters_allowed=140 \\\n  -F screenshot=@/path/to/my/screenshot.png\n  -F custom_metadata[property]=value"
 20342            },
 20343            {
 20344              "lang": "CLI v2",
 20345              "source": "phrase keys create \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\":\"home.index.headline\", \"description\": \"Some description worth knowing...\", \"name_plural\":\"home.index.headlines\", \"data_type\":\"number\", \"tags\":\"awesome-feature,needs-proofreading\", \"max_characters_allowed\":\"140\", \"screenshot\":\"/path/to/my/screenshot.png\", \"custom_metadata\": {\"property\" => \"value\"}}' \\\n--access_token <token>"
 20346            }
 20347          ],
 20348          "requestBody": {
 20349            "required": true,
 20350            "content": {
 20351              "application/json": {
 20352                "schema": {
 20353                  "type": "object",
 20354                  "title": "key/create/parameters",
 20355                  "required": [
 20356                    "name"
 20357                  ],
 20358                  "properties": {
 20359                    "branch": {
 20360                      "description": "specify the branch to use",
 20361                      "type": "string",
 20362                      "example": "my-feature-branch"
 20363                    },
 20364                    "name": {
 20365                      "description": "Key name",
 20366                      "type": "string",
 20367                      "example": "home.index.headline"
 20368                    },
 20369                    "description": {
 20370                      "description": "Key description (usually includes contextual information for translators)",
 20371                      "type": "string",
 20372                      "example": "Some description worth knowing..."
 20373                    },
 20374                    "plural": {
 20375                      "description": "Indicates whether key supports pluralization",
 20376                      "type": "boolean",
 20377                      "example": null
 20378                    },
 20379                    "name_plural": {
 20380                      "description": "Plural name for the key (used in some file formats, e.g. Gettext)",
 20381                      "type": "string",
 20382                      "example": "home.index.headlines"
 20383                    },
 20384                    "data_type": {
 20385                      "description": "Type of the key. Can be one of the following: string, number, boolean, array, markdown.",
 20386                      "type": "string",
 20387                      "example": "number"
 20388                    },
 20389                    "tags": {
 20390                      "description": "List of tags separated by comma to be associated with the key.",
 20391                      "type": "string",
 20392                      "example": "awesome-feature,needs-proofreading"
 20393                    },
 20394                    "max_characters_allowed": {
 20395                      "description": "Max. number of characters translations for this key can have.",
 20396                      "type": "integer",
 20397                      "example": 140
 20398                    },
 20399                    "screenshot": {
 20400                      "description": "Screenshot/image for the key. This parameter is deprecated. Please use the Screenshots endpoint instead.",
 20401                      "type": "string",
 20402                      "format": "binary",
 20403                      "example": "/path/to/my/screenshot.png",
 20404                      "deprecated": true
 20405                    },
 20406                    "remove_screenshot": {
 20407                      "description": "Indicates whether the screenshot will be deleted. This parameter is deprecated. Please use the Screenshots endpoint instead.",
 20408                      "type": "boolean",
 20409                      "example": null,
 20410                      "deprecated": true
 20411                    },
 20412                    "unformatted": {
 20413                      "description": "Indicates whether the key should be exported as \"unformatted\". Supported by Android XML and other formats.",
 20414                      "type": "boolean",
 20415                      "example": null
 20416                    },
 20417                    "default_translation_content": {
 20418                      "description": "Creates a translation in the default locale with the specified content",
 20419                      "type": "string",
 20420                      "example": "Default translation content"
 20421                    },
 20422                    "xml_space_preserve": {
 20423                      "description": "Indicates whether the key should be exported with \"xml:space=preserve\". Supported by several XML-based formats.",
 20424                      "type": "boolean",
 20425                      "example": null
 20426                    },
 20427                    "original_file": {
 20428                      "description": "Original file attribute. Used in some formats, e.g. XLIFF.",
 20429                      "type": "string",
 20430                      "example": null
 20431                    },
 20432                    "localized_format_string": {
 20433                      "description": "NSStringLocalizedFormatKey attribute. Used in .stringsdict format.",
 20434                      "type": "string",
 20435                      "example": null
 20436                    },
 20437                    "localized_format_key": {
 20438                      "description": "NSStringLocalizedFormatKey attribute. Used in .stringsdict format.",
 20439                      "type": "string",
 20440                      "example": null
 20441                    },
 20442                    "custom_metadata": {
 20443                      "description": "Custom metadata property name and value pairs to be associated with key.",
 20444                      "type": "object",
 20445                      "example": {
 20446                        "fruit": "Apple",
 20447                        "vegetable": "Tomato"
 20448                      }
 20449                    }
 20450                  }
 20451                }
 20452              }
 20453            }
 20454          },
 20455          "x-cli-version": "2.5"
 20456        },
 20457        "delete": {
 20458          "summary": "Delete collection of keys",
 20459          "description": "Delete all keys matching query. Same constraints as list. Please limit the number of affected keys to about 1,000 as you might experience timeouts otherwise.",
 20460          "operationId": "keys/delete-collection",
 20461          "tags": [
 20462            "Keys"
 20463          ],
 20464          "parameters": [
 20465            {
 20466              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 20467            },
 20468            {
 20469              "$ref": "#/components/parameters/project_id"
 20470            },
 20471            {
 20472              "description": "specify the branch to use",
 20473              "example": "my-feature-branch",
 20474              "name": "branch",
 20475              "in": "query",
 20476              "schema": {
 20477                "type": "string"
 20478              }
 20479            },
 20480            {
 20481              "description": "Specify a query to do broad search for keys by name (including wildcards).<br><br>\nThe following qualifiers are also supported in the search term:<br>\n<ul>\n  <li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>name:key_name</code> for text queries on exact key names - spaces, commas, and colons  need to be escaped with double backslashes</li>\n  <li><code>tags:tag_name</code> to filter for keys with certain tags</li>\n  <li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n  <li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 20482              "example": "mykey* translated:true",
 20483              "name": "q",
 20484              "in": "query",
 20485              "schema": {
 20486                "type": "string"
 20487              }
 20488            },
 20489            {
 20490              "description": "Locale used to determine the translation state of a key when filtering for untranslated or translated keys.",
 20491              "example": "abcd1234abcd1234abcd1234abcd1234",
 20492              "name": "locale_id",
 20493              "in": "query",
 20494              "schema": {
 20495                "type": "string"
 20496              }
 20497            }
 20498          ],
 20499          "responses": {
 20500            "200": {
 20501              "description": "OK",
 20502              "content": {
 20503                "application/json": {
 20504                  "schema": {
 20505                    "$ref": "#/components/schemas/affected_resources"
 20506                  }
 20507                }
 20508              },
 20509              "headers": {
 20510                "X-Rate-Limit-Limit": {
 20511                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 20512                },
 20513                "X-Rate-Limit-Remaining": {
 20514                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 20515                },
 20516                "X-Rate-Limit-Reset": {
 20517                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 20518                }
 20519              }
 20520            },
 20521            "400": {
 20522              "$ref": "#/components/responses/400"
 20523            },
 20524            "404": {
 20525              "$ref": "#/components/responses/404"
 20526            },
 20527            "429": {
 20528              "$ref": "#/components/responses/429"
 20529            }
 20530          },
 20531          "x-code-samples": [
 20532            {
 20533              "lang": "Curl",
 20534              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\",\"q\":\"mykey* translated:true\",\"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
 20535            },
 20536            {
 20537              "lang": "CLI v2",
 20538              "source": "phrase keys delete-collection \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--query 'mykey* translated:true' \\\n--locale_id abcd1234abcd1234abcd1234abcd1234 \\\n--access_token <token>"
 20539            }
 20540          ],
 20541          "x-cli-version": "2.5"
 20542        }
 20543      },
 20544      "/projects/{project_id}/keys/search": {
 20545        "post": {
 20546          "summary": "Search keys",
 20547          "description": "Search keys for the given project matching query.",
 20548          "operationId": "keys/search",
 20549          "tags": [
 20550            "Keys"
 20551          ],
 20552          "parameters": [
 20553            {
 20554              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 20555            },
 20556            {
 20557              "$ref": "#/components/parameters/project_id"
 20558            },
 20559            {
 20560              "$ref": "#/components/parameters/page"
 20561            },
 20562            {
 20563              "$ref": "#/components/parameters/per_page"
 20564            }
 20565          ],
 20566          "responses": {
 20567            "200": {
 20568              "description": "OK",
 20569              "content": {
 20570                "application/json": {
 20571                  "schema": {
 20572                    "type": "array",
 20573                    "items": {
 20574                      "$ref": "#/components/schemas/translation_key"
 20575                    }
 20576                  }
 20577                }
 20578              },
 20579              "headers": {
 20580                "X-Rate-Limit-Limit": {
 20581                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 20582                },
 20583                "X-Rate-Limit-Remaining": {
 20584                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 20585                },
 20586                "X-Rate-Limit-Reset": {
 20587                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 20588                }
 20589              }
 20590            },
 20591            "400": {
 20592              "$ref": "#/components/responses/400"
 20593            },
 20594            "404": {
 20595              "$ref": "#/components/responses/404"
 20596            },
 20597            "429": {
 20598              "$ref": "#/components/responses/429"
 20599            }
 20600          },
 20601          "x-code-samples": [
 20602            {
 20603              "lang": "Curl",
 20604              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/search\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"sort\":\"updated_at\",\"order\":\"desc\",\"q\":\"mykey* translated:true\",\"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n  -H 'Content-Type: application/json'"
 20605            },
 20606            {
 20607              "lang": "CLI v2",
 20608              "source": "phrase keys search \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"sort\":\"updated_at\", \"order\":\"desc\", \"q\":\"'mykey* translated:true'\", \"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\"}' \\\n--access_token <token>"
 20609            }
 20610          ],
 20611          "requestBody": {
 20612            "required": true,
 20613            "content": {
 20614              "application/json": {
 20615                "schema": {
 20616                  "type": "object",
 20617                  "title": "keys/search/parameters",
 20618                  "properties": {
 20619                    "branch": {
 20620                      "description": "specify the branch to use",
 20621                      "type": "string",
 20622                      "example": "my-feature-branch"
 20623                    },
 20624                    "sort": {
 20625                      "description": "Sort by field. Can be one of: name, created_at, updated_at.",
 20626                      "type": "string",
 20627                      "example": "updated_at"
 20628                    },
 20629                    "order": {
 20630                      "description": "Order direction. Can be one of: asc, desc.",
 20631                      "type": "string",
 20632                      "example": "desc"
 20633                    },
 20634                    "q": {
 20635                      "description": "Specify a query to do broad search for keys by name (including wildcards).<br><br>\nThe following qualifiers are also supported in the search term:<br>\n<ul>\n  <li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>name:key_name,...</code> for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes</li>\n  <li><code>tags:tag_name,...</code> to filter for keys with certain comma-seperated list of tags</li>\n  <li><code>uploads:upload_id,...</code> to filter for keys with certain comma-seperated list of uploads</li>\n  <li><code>job:{true|false}</code> to filter for keys mentioned in an active job</li>\n  <li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n  <li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li>\n  <li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\nPlease note: If <code>tags</code> are added to filter the search, the search will be limited to a maximum of 65,536 tagged keys.\n",
 20636                      "type": "string",
 20637                      "example": "mykey* translated:true"
 20638                    },
 20639                    "locale_id": {
 20640                      "description": "Locale used to determine the translation state of a key when filtering for untranslated or translated keys.",
 20641                      "type": "string",
 20642                      "example": "abcd1234abcd1234abcd1234abcd1234"
 20643                    }
 20644                  }
 20645                }
 20646              }
 20647            }
 20648          },
 20649          "x-cli-version": "2.5"
 20650        }
 20651      },
 20652      "/projects/{project_id}/keys/{id}": {
 20653        "get": {
 20654          "summary": "Get a single key",
 20655          "description": "Get details on a single key for a given project.",
 20656          "operationId": "key/show",
 20657          "tags": [
 20658            "Keys"
 20659          ],
 20660          "parameters": [
 20661            {
 20662              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 20663            },
 20664            {
 20665              "$ref": "#/components/parameters/project_id"
 20666            },
 20667            {
 20668              "$ref": "#/components/parameters/id"
 20669            },
 20670            {
 20671              "description": "specify the branch to use",
 20672              "example": "my-feature-branch",
 20673              "name": "branch",
 20674              "in": "query",
 20675              "schema": {
 20676                "type": "string"
 20677              }
 20678            }
 20679          ],
 20680          "responses": {
 20681            "200": {
 20682              "description": "OK",
 20683              "content": {
 20684                "application/json": {
 20685                  "schema": {
 20686                    "$ref": "#/components/schemas/translation_key_details"
 20687                  }
 20688                }
 20689              },
 20690              "headers": {
 20691                "X-Rate-Limit-Limit": {
 20692                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 20693                },
 20694                "X-Rate-Limit-Remaining": {
 20695                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 20696                },
 20697                "X-Rate-Limit-Reset": {
 20698                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 20699                }
 20700              }
 20701            },
 20702            "400": {
 20703              "$ref": "#/components/responses/400"
 20704            },
 20705            "404": {
 20706              "$ref": "#/components/responses/404"
 20707            },
 20708            "429": {
 20709              "$ref": "#/components/responses/429"
 20710            }
 20711          },
 20712          "x-code-samples": [
 20713            {
 20714              "lang": "Curl",
 20715              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 20716            },
 20717            {
 20718              "lang": "CLI v2",
 20719              "source": "phrase keys show \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 20720            }
 20721          ],
 20722          "x-cli-version": "2.5"
 20723        },
 20724        "patch": {
 20725          "summary": "Update a key",
 20726          "description": "Update an existing key.",
 20727          "operationId": "key/update",
 20728          "tags": [
 20729            "Keys"
 20730          ],
 20731          "parameters": [
 20732            {
 20733              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 20734            },
 20735            {
 20736              "$ref": "#/components/parameters/project_id"
 20737            },
 20738            {
 20739              "$ref": "#/components/parameters/id"
 20740            }
 20741          ],
 20742          "responses": {
 20743            "200": {
 20744              "description": "OK",
 20745              "content": {
 20746                "application/json": {
 20747                  "schema": {
 20748                    "$ref": "#/components/schemas/translation_key_details"
 20749                  }
 20750                }
 20751              },
 20752              "headers": {
 20753                "X-Rate-Limit-Limit": {
 20754                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 20755                },
 20756                "X-Rate-Limit-Remaining": {
 20757                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 20758                },
 20759                "X-Rate-Limit-Reset": {
 20760                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 20761                }
 20762              }
 20763            },
 20764            "400": {
 20765              "$ref": "#/components/responses/400"
 20766            },
 20767            "404": {
 20768              "$ref": "#/components/responses/404"
 20769            },
 20770            "429": {
 20771              "$ref": "#/components/responses/429"
 20772            }
 20773          },
 20774          "x-code-samples": [
 20775            {
 20776              "lang": "Curl",
 20777              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -F branch=my-feature-branch \\\n  -F name=home.index.headline \\\n  -F description=Some%20description%20worth%20knowing... \\\n  -F name_plural=home.index.headlines \\\n  -F data_type=number \\\n  -F tags=awesome-feature,needs-proofreading \\\n  -F max_characters_allowed=140 \\\n  -F screenshot=@/path/to/my/screenshot.png\n  -F custom_metadata[property]=value"
 20778            },
 20779            {
 20780              "lang": "CLI v2",
 20781              "source": "phrase keys update \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\":\"home.index.headline\", \"description\": \"Some description worth knowing...\", \"name_plural\":\"home.index.headlines\", \"data_type\":\"number\", \"tags\":\"awesome-feature,needs-proofreading\", \"max_characters_allowed\":\"140\", \"screenshot\":\"/path/to/my/screenshot.png\", \"custom_metadata\": {\"property\" => \"value\"}}' \\\n--access_token <token>"
 20782            }
 20783          ],
 20784          "requestBody": {
 20785            "required": true,
 20786            "content": {
 20787              "application/json": {
 20788                "schema": {
 20789                  "type": "object",
 20790                  "title": "key/update/parameters",
 20791                  "properties": {
 20792                    "branch": {
 20793                      "description": "specify the branch to use",
 20794                      "type": "string",
 20795                      "example": "my-feature-branch"
 20796                    },
 20797                    "name": {
 20798                      "description": "Key name",
 20799                      "type": "string",
 20800                      "example": "home.index.headline"
 20801                    },
 20802                    "description": {
 20803                      "description": "Key description (usually includes contextual information for translators)",
 20804                      "type": "string",
 20805                      "example": "Some description worth knowing..."
 20806                    },
 20807                    "plural": {
 20808                      "description": "Indicates whether key supports pluralization",
 20809                      "type": "boolean",
 20810                      "example": null
 20811                    },
 20812                    "name_plural": {
 20813                      "description": "Plural name for the key (used in some file formats, e.g. Gettext)",
 20814                      "type": "string",
 20815                      "example": "home.index.headlines"
 20816                    },
 20817                    "data_type": {
 20818                      "description": "Type of the key. Can be one of the following: string, number, boolean, array, markdown.",
 20819                      "type": "string",
 20820                      "example": "number"
 20821                    },
 20822                    "tags": {
 20823                      "description": "List of tags separated by comma to be associated with the key.",
 20824                      "type": "string",
 20825                      "example": "awesome-feature,needs-proofreading"
 20826                    },
 20827                    "max_characters_allowed": {
 20828                      "description": "Max. number of characters translations for this key can have.",
 20829                      "type": "integer",
 20830                      "example": 140
 20831                    },
 20832                    "screenshot": {
 20833                      "description": "Screenshot/image for the key. This parameter is deprecated. Please use the Screenshots endpoint instead.",
 20834                      "type": "string",
 20835                      "format": "binary",
 20836                      "example": "/path/to/my/screenshot.png",
 20837                      "deprecated": true
 20838                    },
 20839                    "remove_screenshot": {
 20840                      "description": "Indicates whether the screenshot will be deleted. This parameter is deprecated. Please use the Screenshots endpoint instead.",
 20841                      "type": "boolean",
 20842                      "example": null,
 20843                      "deprecated": true
 20844                    },
 20845                    "unformatted": {
 20846                      "description": "Indicates whether the key should be exported as \"unformatted\". Supported by Android XML and other formats.",
 20847                      "type": "boolean",
 20848                      "example": null
 20849                    },
 20850                    "xml_space_preserve": {
 20851                      "description": "Indicates whether the key should be exported with \"xml:space=preserve\". Supported by several XML-based formats.",
 20852                      "type": "boolean",
 20853                      "example": null
 20854                    },
 20855                    "original_file": {
 20856                      "description": "Original file attribute. Used in some formats, e.g. XLIFF.",
 20857                      "type": "string",
 20858                      "example": null
 20859                    },
 20860                    "localized_format_string": {
 20861                      "description": "NSStringLocalizedFormatKey attribute. Used in .stringsdict format.",
 20862                      "type": "string",
 20863                      "example": null
 20864                    },
 20865                    "localized_format_key": {
 20866                      "description": "NSStringLocalizedFormatKey attribute. Used in .stringsdict format.",
 20867                      "type": "string",
 20868                      "example": null
 20869                    },
 20870                    "custom_metadata": {
 20871                      "description": "Updates/Creates custom metadata property name and value pairs to be associated with key. If you want to delete a custom metadata property, you can set its value to null. If you want to update a custom metadata property, you can set its value to the new value.",
 20872                      "type": "object",
 20873                      "example": {
 20874                        "fruit": "Apple",
 20875                        "vegetable": "Tomato"
 20876                      }
 20877                    }
 20878                  }
 20879                }
 20880              }
 20881            }
 20882          },
 20883          "x-cli-version": "2.5"
 20884        },
 20885        "delete": {
 20886          "summary": "Delete a key",
 20887          "description": "Delete an existing key.",
 20888          "operationId": "key/delete",
 20889          "tags": [
 20890            "Keys"
 20891          ],
 20892          "parameters": [
 20893            {
 20894              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 20895            },
 20896            {
 20897              "$ref": "#/components/parameters/project_id"
 20898            },
 20899            {
 20900              "$ref": "#/components/parameters/id"
 20901            },
 20902            {
 20903              "description": "specify the branch to use",
 20904              "example": "my-feature-branch",
 20905              "name": "branch",
 20906              "in": "query",
 20907              "schema": {
 20908                "type": "string"
 20909              }
 20910            }
 20911          ],
 20912          "responses": {
 20913            "204": {
 20914              "$ref": "#/components/responses/204"
 20915            },
 20916            "400": {
 20917              "$ref": "#/components/responses/400"
 20918            },
 20919            "404": {
 20920              "$ref": "#/components/responses/404"
 20921            },
 20922            "429": {
 20923              "$ref": "#/components/responses/429"
 20924            }
 20925          },
 20926          "x-code-samples": [
 20927            {
 20928              "lang": "Curl",
 20929              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 20930            },
 20931            {
 20932              "lang": "CLI v2",
 20933              "source": "phrase keys delete \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 20934            }
 20935          ],
 20936          "x-cli-version": "2.5"
 20937        }
 20938      },
 20939      "/projects/{project_id}/keys/tag": {
 20940        "patch": {
 20941          "summary": "Add tags to collection of keys",
 20942          "description": "Tags all keys matching query. Same constraints as list.",
 20943          "operationId": "keys/tag",
 20944          "tags": [
 20945            "Keys"
 20946          ],
 20947          "parameters": [
 20948            {
 20949              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 20950            },
 20951            {
 20952              "$ref": "#/components/parameters/project_id"
 20953            }
 20954          ],
 20955          "responses": {
 20956            "200": {
 20957              "description": "OK",
 20958              "content": {
 20959                "application/json": {
 20960                  "schema": {
 20961                    "$ref": "#/components/schemas/affected_resources"
 20962                  }
 20963                }
 20964              },
 20965              "headers": {
 20966                "X-Rate-Limit-Limit": {
 20967                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 20968                },
 20969                "X-Rate-Limit-Remaining": {
 20970                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 20971                },
 20972                "X-Rate-Limit-Reset": {
 20973                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 20974                }
 20975              }
 20976            },
 20977            "400": {
 20978              "$ref": "#/components/responses/400"
 20979            },
 20980            "404": {
 20981              "$ref": "#/components/responses/404"
 20982            },
 20983            "429": {
 20984              "$ref": "#/components/responses/429"
 20985            }
 20986          },
 20987          "x-code-samples": [
 20988            {
 20989              "lang": "Curl",
 20990              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/tag\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"q\":\"mykey* translated:true\",\"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\",\"tags\":\"landing-page,release-1.2\"}' \\\n  -H 'Content-Type: application/json'"
 20991            },
 20992            {
 20993              "lang": "CLI v2",
 20994              "source": "phrase keys tag \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"q\":\"'mykey* translated:true'\", \"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\", \"tags\":\"landing-page,release-1.2\"}' \\\n--access_token <token>"
 20995            }
 20996          ],
 20997          "requestBody": {
 20998            "required": true,
 20999            "content": {
 21000              "application/json": {
 21001                "schema": {
 21002                  "type": "object",
 21003                  "title": "keys/tag/parameters",
 21004                  "properties": {
 21005                    "branch": {
 21006                      "description": "specify the branch to use",
 21007                      "type": "string",
 21008                      "example": "my-feature-branch"
 21009                    },
 21010                    "q": {
 21011                      "description": "Specify a query to do broad search for keys by name (including wildcards).<br><br>\nThe following qualifiers are also supported in the search term:<br>\n<ul>\n  <li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>name:key_name</code> for text queries on exact key names - spaces, commas, and colons  need to be escaped with double backslashes</li>\n  <li><code>tags:tag_name</code> to filter for keys with certain tags</li>\n  <li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n  <li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 21012                      "type": "string",
 21013                      "example": "mykey* translated:true"
 21014                    },
 21015                    "locale_id": {
 21016                      "description": "Locale used to determine the translation state of a key when filtering for untranslated or translated keys.",
 21017                      "type": "string",
 21018                      "example": "abcd1234abcd1234abcd1234abcd1234"
 21019                    },
 21020                    "tags": {
 21021                      "description": "Tag or comma-separated list of tags to add to the matching collection of keys",
 21022                      "type": "string",
 21023                      "example": "landing-page,release-1.2"
 21024                    }
 21025                  }
 21026                }
 21027              }
 21028            }
 21029          },
 21030          "x-cli-version": "2.5"
 21031        }
 21032      },
 21033      "/projects/{project_id}/keys/untag": {
 21034        "patch": {
 21035          "summary": "Remove tags from collection of keys",
 21036          "description": "Removes specified tags from keys matching query.",
 21037          "operationId": "keys/untag",
 21038          "tags": [
 21039            "Keys"
 21040          ],
 21041          "parameters": [
 21042            {
 21043              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 21044            },
 21045            {
 21046              "$ref": "#/components/parameters/project_id"
 21047            }
 21048          ],
 21049          "responses": {
 21050            "200": {
 21051              "description": "OK",
 21052              "content": {
 21053                "application/json": {
 21054                  "schema": {
 21055                    "$ref": "#/components/schemas/affected_resources"
 21056                  }
 21057                }
 21058              },
 21059              "headers": {
 21060                "X-Rate-Limit-Limit": {
 21061                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 21062                },
 21063                "X-Rate-Limit-Remaining": {
 21064                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 21065                },
 21066                "X-Rate-Limit-Reset": {
 21067                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 21068                }
 21069              }
 21070            },
 21071            "400": {
 21072              "$ref": "#/components/responses/400"
 21073            },
 21074            "404": {
 21075              "$ref": "#/components/responses/404"
 21076            },
 21077            "429": {
 21078              "$ref": "#/components/responses/429"
 21079            }
 21080          },
 21081          "x-code-samples": [
 21082            {
 21083              "lang": "Curl",
 21084              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/untag\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"q\":\"mykey* translated:true\",\"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\",\"tags\":\"landing-page,release-1.2\"}' \\\n  -H 'Content-Type: application/json'"
 21085            },
 21086            {
 21087              "lang": "CLI v2",
 21088              "source": "phrase keys untag \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"q\":\"'mykey* translated:true'\", \"locale_id\":\"abcd1234abcd1234abcd1234abcd1234\", \"tags\":\"landing-page,release-1.2\"}' \\\n--access_token <token>"
 21089            }
 21090          ],
 21091          "requestBody": {
 21092            "required": true,
 21093            "content": {
 21094              "application/json": {
 21095                "schema": {
 21096                  "type": "object",
 21097                  "title": "keys/untag/parameters",
 21098                  "properties": {
 21099                    "branch": {
 21100                      "description": "specify the branch to use",
 21101                      "type": "string",
 21102                      "example": "my-feature-branch"
 21103                    },
 21104                    "q": {
 21105                      "description": "Specify a query to do broad search for keys by name (including wildcards).<br><br>\nThe following qualifiers are also supported in the search term:<br>\n<ul>\n  <li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>name:key_name</code> for text queries on exact key names - spaces, commas, and colons  need to be escaped with double backslashes</li>\n  <li><code>tags:tag_name</code> to filter for keys with certain tags</li>\n  <li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n  <li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 21106                      "type": "string",
 21107                      "example": "mykey* translated:true"
 21108                    },
 21109                    "locale_id": {
 21110                      "description": "Locale used to determine the translation state of a key when filtering for untranslated or translated keys.",
 21111                      "type": "string",
 21112                      "example": "abcd1234abcd1234abcd1234abcd1234"
 21113                    },
 21114                    "tags": {
 21115                      "description": "Tag or comma-separated list of tags to remove from the matching collection of keys",
 21116                      "type": "string",
 21117                      "example": "landing-page,release-1.2"
 21118                    }
 21119                  }
 21120                }
 21121              }
 21122            }
 21123          },
 21124          "x-cli-version": "2.5"
 21125        }
 21126      },
 21127      "/projects/{project_id}/keys/exclude": {
 21128        "patch": {
 21129          "summary": "Exclude a locale on a collection of keys",
 21130          "description": "Exclude a locale on keys matching query. Same constraints as list.",
 21131          "operationId": "keys/exclude",
 21132          "tags": [
 21133            "Keys"
 21134          ],
 21135          "parameters": [
 21136            {
 21137              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 21138            },
 21139            {
 21140              "$ref": "#/components/parameters/project_id"
 21141            }
 21142          ],
 21143          "responses": {
 21144            "200": {
 21145              "description": "OK",
 21146              "content": {
 21147                "application/json": {
 21148                  "schema": {
 21149                    "$ref": "#/components/schemas/affected_resources"
 21150                  }
 21151                }
 21152              },
 21153              "headers": {
 21154                "X-Rate-Limit-Limit": {
 21155                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 21156                },
 21157                "X-Rate-Limit-Remaining": {
 21158                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 21159                },
 21160                "X-Rate-Limit-Reset": {
 21161                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 21162                }
 21163              }
 21164            },
 21165            "400": {
 21166              "$ref": "#/components/responses/400"
 21167            },
 21168            "404": {
 21169              "$ref": "#/components/responses/404"
 21170            },
 21171            "429": {
 21172              "$ref": "#/components/responses/429"
 21173            }
 21174          },
 21175          "x-code-samples": [
 21176            {
 21177              "lang": "Curl",
 21178              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/exclude\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"q\":\"mykey* translated:true\",\"target_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\",\"tags\":\"landing-page,release-1.2\"}' \\\n  -H 'Content-Type: application/json'"
 21179            },
 21180            {
 21181              "lang": "CLI v2",
 21182              "source": "phrase keys exclude \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"q\":\"'mykey* translated:true'\", \"target_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\", \"tags\":\"landing-page,release-1.2\"}' \\\n--access_token <token>"
 21183            }
 21184          ],
 21185          "requestBody": {
 21186            "required": true,
 21187            "content": {
 21188              "application/json": {
 21189                "schema": {
 21190                  "type": "object",
 21191                  "title": "keys/exclude/parameters",
 21192                  "properties": {
 21193                    "branch": {
 21194                      "description": "specify the branch to use",
 21195                      "type": "string",
 21196                      "example": "my-feature-branch"
 21197                    },
 21198                    "q": {
 21199                      "description": "Specify a query to do broad search for keys by name (including wildcards).<br><br>\nThe following qualifiers are also supported in the search term:<br>\n<ul>\n  <li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>name:key_name</code> for text queries on exact key names - spaces, commas, and colons  need to be escaped with double backslashes</li>\n  <li><code>tags:tag_name</code> to filter for keys with certain tags</li>\n  <li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n  <li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 21200                      "type": "string",
 21201                      "example": "mykey* translated:true"
 21202                    },
 21203                    "target_locale_id": {
 21204                      "description": "Locale used to exlcude or include keys.",
 21205                      "type": "string",
 21206                      "example": "abcd1234abcd1234abcd1234abcd1234"
 21207                    },
 21208                    "tags": {
 21209                      "description": "Tag or comma-separated list of tags to add to the matching collection of keys",
 21210                      "type": "string",
 21211                      "example": "landing-page,release-1.2"
 21212                    }
 21213                  }
 21214                }
 21215              }
 21216            }
 21217          },
 21218          "x-cli-version": "2.5"
 21219        }
 21220      },
 21221      "/projects/{project_id}/keys/include": {
 21222        "patch": {
 21223          "summary": "Include a locale on a collection of keys",
 21224          "description": "Include a locale on keys matching query. Same constraints as list.",
 21225          "operationId": "keys/include",
 21226          "tags": [
 21227            "Keys"
 21228          ],
 21229          "parameters": [
 21230            {
 21231              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 21232            },
 21233            {
 21234              "$ref": "#/components/parameters/project_id"
 21235            }
 21236          ],
 21237          "responses": {
 21238            "200": {
 21239              "description": "OK",
 21240              "content": {
 21241                "application/json": {
 21242                  "schema": {
 21243                    "$ref": "#/components/schemas/affected_resources"
 21244                  }
 21245                }
 21246              },
 21247              "headers": {
 21248                "X-Rate-Limit-Limit": {
 21249                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 21250                },
 21251                "X-Rate-Limit-Remaining": {
 21252                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 21253                },
 21254                "X-Rate-Limit-Reset": {
 21255                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 21256                }
 21257              }
 21258            },
 21259            "400": {
 21260              "$ref": "#/components/responses/400"
 21261            },
 21262            "404": {
 21263              "$ref": "#/components/responses/404"
 21264            },
 21265            "429": {
 21266              "$ref": "#/components/responses/429"
 21267            }
 21268          },
 21269          "x-code-samples": [
 21270            {
 21271              "lang": "Curl",
 21272              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/include\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"q\":\"mykey* translated:true\",\"target_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\",\"tags\":\"landing-page,release-1.2\"}' \\\n  -H 'Content-Type: application/json'"
 21273            },
 21274            {
 21275              "lang": "CLI v2",
 21276              "source": "phrase keys include \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"q\":\"'mykey* translated:true'\", \"target_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\", \"tags\":\"landing-page,release-1.2\"}' \\\n--access_token <token>"
 21277            }
 21278          ],
 21279          "requestBody": {
 21280            "required": true,
 21281            "content": {
 21282              "application/json": {
 21283                "schema": {
 21284                  "type": "object",
 21285                  "title": "keys/include/parameters",
 21286                  "properties": {
 21287                    "branch": {
 21288                      "description": "specify the branch to use",
 21289                      "type": "string",
 21290                      "example": "my-feature-branch"
 21291                    },
 21292                    "q": {
 21293                      "description": "Specify a query to do broad search for keys by name (including wildcards).<br><br>\nThe following qualifiers are also supported in the search term:<br>\n<ul>\n  <li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>name:key_name</code> for text queries on exact key names - spaces, commas, and colons  need to be escaped with double backslashes</li>\n  <li><code>tags:tag_name</code> to filter for keys with certain tags</li>\n  <li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n  <li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 21294                      "type": "string",
 21295                      "example": "mykey* translated:true"
 21296                    },
 21297                    "target_locale_id": {
 21298                      "description": "Locale used to exlcude or include keys.",
 21299                      "type": "string",
 21300                      "example": "abcd1234abcd1234abcd1234abcd1234"
 21301                    },
 21302                    "tags": {
 21303                      "description": "Tag or comma-separated list of tags to add to the matching collection of keys",
 21304                      "type": "string",
 21305                      "example": "landing-page,release-1.2"
 21306                    }
 21307                  }
 21308                }
 21309              }
 21310            }
 21311          },
 21312          "x-cli-version": "2.5"
 21313        }
 21314      },
 21315      "/projects/{project_id}/orders": {
 21316        "get": {
 21317          "summary": "List orders",
 21318          "description": "List all orders for the given project.",
 21319          "operationId": "orders/list",
 21320          "tags": [
 21321            "Orders"
 21322          ],
 21323          "parameters": [
 21324            {
 21325              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 21326            },
 21327            {
 21328              "$ref": "#/components/parameters/project_id"
 21329            },
 21330            {
 21331              "$ref": "#/components/parameters/page"
 21332            },
 21333            {
 21334              "$ref": "#/components/parameters/per_page"
 21335            },
 21336            {
 21337              "description": "specify the branch to use",
 21338              "example": "my-feature-branch",
 21339              "name": "branch",
 21340              "in": "query",
 21341              "schema": {
 21342                "type": "string"
 21343              }
 21344            }
 21345          ],
 21346          "responses": {
 21347            "200": {
 21348              "description": "OK",
 21349              "content": {
 21350                "application/json": {
 21351                  "schema": {
 21352                    "type": "array",
 21353                    "items": {
 21354                      "$ref": "#/components/schemas/translation_order"
 21355                    }
 21356                  }
 21357                }
 21358              },
 21359              "headers": {
 21360                "X-Rate-Limit-Limit": {
 21361                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 21362                },
 21363                "X-Rate-Limit-Remaining": {
 21364                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 21365                },
 21366                "X-Rate-Limit-Reset": {
 21367                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 21368                },
 21369                "Link": {
 21370                  "$ref": "#/components/headers/Link"
 21371                },
 21372                "Pagination": {
 21373                  "$ref": "#/components/headers/Pagination"
 21374                }
 21375              }
 21376            },
 21377            "400": {
 21378              "$ref": "#/components/responses/400"
 21379            },
 21380            "404": {
 21381              "$ref": "#/components/responses/404"
 21382            },
 21383            "429": {
 21384              "$ref": "#/components/responses/429"
 21385            }
 21386          },
 21387          "x-code-samples": [
 21388            {
 21389              "lang": "Curl",
 21390              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/orders?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 21391            },
 21392            {
 21393              "lang": "CLI v2",
 21394              "source": "phrase orders list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 21395            }
 21396          ],
 21397          "x-cli-version": "2.5"
 21398        },
 21399        "post": {
 21400          "summary": "Create a new order",
 21401          "description": "Create a new order. Access token scope must include <code>orders.create</code>.",
 21402          "operationId": "order/create",
 21403          "tags": [
 21404            "Orders"
 21405          ],
 21406          "parameters": [
 21407            {
 21408              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 21409            },
 21410            {
 21411              "$ref": "#/components/parameters/project_id"
 21412            }
 21413          ],
 21414          "responses": {
 21415            "201": {
 21416              "description": "Created",
 21417              "content": {
 21418                "application/json": {
 21419                  "schema": {
 21420                    "$ref": "#/components/schemas/translation_order"
 21421                  }
 21422                }
 21423              },
 21424              "headers": {
 21425                "X-Rate-Limit-Limit": {
 21426                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 21427                },
 21428                "X-Rate-Limit-Remaining": {
 21429                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 21430                },
 21431                "X-Rate-Limit-Reset": {
 21432                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 21433                }
 21434              }
 21435            },
 21436            "400": {
 21437              "$ref": "#/components/responses/400"
 21438            },
 21439            "404": {
 21440              "$ref": "#/components/responses/404"
 21441            },
 21442            "429": {
 21443              "$ref": "#/components/responses/429"
 21444            }
 21445          },
 21446          "x-code-samples": [
 21447            {
 21448              "lang": "Curl",
 21449              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/orders\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"name\":\"Welcome message translations\",\"lsp\":\"textmaster\",\"source_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\",\"target_locale_ids\":[\"1234abcd1234abcd1234abcd1234abcd\",\"abcd1234abcd1234abcd1234abcd1234\"],\"translation_type\":\"premium\",\"tag\":\"my-awesome-feature\",\"message\":\"Please make everything sound really nice :)\",\"styleguide_id\":\"1234abcd1234abcd1234abcd1234abcd\",\"category\":\"C021\"}' \\\n  -H 'Content-Type: application/json'"
 21450            },
 21451            {
 21452              "lang": "CLI v2",
 21453              "source": "phrase orders create \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"name\":\"Welcome message translations\", \"lsp\":\"textmaster\", \"source_locale_id\":\"abcd1234abcd1234abcd1234abcd1234\", \"target_locale_ids\": \"1234abcd1234abcd1234abcd1234abcd,abcd1234abcd1234abcd1234abcd1234\", \"translation_type\":\"premium\", \"tag\":\"my-awesome-feature\", \"message\": \"Please make everything sound really nice :)\", \"styleguide_id\":\"1234abcd1234abcd1234abcd1234abcd\", \"category\":\"C021\"}' \\\n--access_token <token>"
 21454            }
 21455          ],
 21456          "requestBody": {
 21457            "required": true,
 21458            "content": {
 21459              "application/json": {
 21460                "schema": {
 21461                  "type": "object",
 21462                  "title": "order/create/parameters",
 21463                  "required": [
 21464                    "name",
 21465                    "lsp"
 21466                  ],
 21467                  "properties": {
 21468                    "branch": {
 21469                      "description": "specify the branch to use",
 21470                      "type": "string",
 21471                      "example": "my-feature-branch"
 21472                    },
 21473                    "name": {
 21474                      "description": "the name of the order, default name is: Translation order from 'current datetime'",
 21475                      "type": "string",
 21476                      "example": "Welcome message translations"
 21477                    },
 21478                    "lsp": {
 21479                      "description": "Name of the LSP that should process this order. Can be one of gengo, textmaster.",
 21480                      "type": "string",
 21481                      "example": "textmaster"
 21482                    },
 21483                    "source_locale_id": {
 21484                      "description": "Source locale for the order. Can be the name or id of the source locale. Preferred is id.",
 21485                      "type": "string",
 21486                      "example": "abcd1234abcd1234abcd1234abcd1234"
 21487                    },
 21488                    "target_locale_ids": {
 21489                      "description": "List of target locales you want the source content translate to. Can be the name or id of the target locales. Preferred is id.",
 21490                      "type": "array",
 21491                      "items": {
 21492                        "type": "string"
 21493                      },
 21494                      "example": [
 21495                        "1234abcd1234abcd1234abcd1234abcd",
 21496                        "abcd1234abcd1234abcd1234abcd1234"
 21497                      ]
 21498                    },
 21499                    "translation_type": {
 21500                      "description": "Name of the quality level, availability depends on the LSP. Can be one of:  standard, pro (for orders processed by Gengo) and one of regular, premium, enterprise (for orders processed by TextMaster)",
 21501                      "type": "string",
 21502                      "example": "premium"
 21503                    },
 21504                    "tag": {
 21505                      "description": "Tag you want to order translations for.",
 21506                      "type": "string",
 21507                      "example": "my-awesome-feature"
 21508                    },
 21509                    "message": {
 21510                      "description": "Message that is displayed to the translators for description.",
 21511                      "type": "string",
 21512                      "example": "Please make everything sound really nice :)"
 21513                    },
 21514                    "styleguide_id": {
 21515                      "description": "Style guide for translators to be sent with the order.",
 21516                      "type": "string",
 21517                      "example": "1234abcd1234abcd1234abcd1234abcd"
 21518                    },
 21519                    "unverify_translations_upon_delivery": {
 21520                      "description": "Unverify translations upon delivery.",
 21521                      "type": "boolean",
 21522                      "example": null
 21523                    },
 21524                    "include_untranslated_keys": {
 21525                      "description": "Order translations for keys with untranslated content in the selected target locales.",
 21526                      "type": "boolean",
 21527                      "example": null
 21528                    },
 21529                    "include_unverified_translations": {
 21530                      "description": "Order translations for keys with unverified content in the selected target locales.",
 21531                      "type": "boolean",
 21532                      "example": null
 21533                    },
 21534                    "category": {
 21535                      "description": "Category to use (required for orders processed by TextMaster).",
 21536                      "type": "string",
 21537                      "example": "C021"
 21538                    },
 21539                    "quality": {
 21540                      "description": "Extra proofreading option to ensure consistency in vocabulary and style. Only available for orders processed by TextMaster.",
 21541                      "type": "boolean",
 21542                      "example": null
 21543                    },
 21544                    "priority": {
 21545                      "description": "Indicates whether the priority option should be ordered which decreases turnaround time by 30%. Available only for orders processed by TextMaster.",
 21546                      "type": "boolean",
 21547                      "example": null
 21548                    }
 21549                  }
 21550                }
 21551              }
 21552            }
 21553          },
 21554          "x-cli-version": "2.5"
 21555        }
 21556      },
 21557      "/projects/{project_id}/orders/{id}": {
 21558        "get": {
 21559          "summary": "Get a single order",
 21560          "description": "Get details on a single order.",
 21561          "operationId": "order/show",
 21562          "tags": [
 21563            "Orders"
 21564          ],
 21565          "parameters": [
 21566            {
 21567              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 21568            },
 21569            {
 21570              "$ref": "#/components/parameters/project_id"
 21571            },
 21572            {
 21573              "$ref": "#/components/parameters/id"
 21574            },
 21575            {
 21576              "description": "specify the branch to use",
 21577              "example": "my-feature-branch",
 21578              "name": "branch",
 21579              "in": "query",
 21580              "schema": {
 21581                "type": "string"
 21582              }
 21583            }
 21584          ],
 21585          "responses": {
 21586            "200": {
 21587              "description": "OK",
 21588              "content": {
 21589                "application/json": {
 21590                  "schema": {
 21591                    "$ref": "#/components/schemas/translation_order"
 21592                  }
 21593                }
 21594              },
 21595              "headers": {
 21596                "X-Rate-Limit-Limit": {
 21597                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 21598                },
 21599                "X-Rate-Limit-Remaining": {
 21600                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 21601                },
 21602                "X-Rate-Limit-Reset": {
 21603                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 21604                }
 21605              }
 21606            },
 21607            "400": {
 21608              "$ref": "#/components/responses/400"
 21609            },
 21610            "404": {
 21611              "$ref": "#/components/responses/404"
 21612            },
 21613            "429": {
 21614              "$ref": "#/components/responses/429"
 21615            }
 21616          },
 21617          "x-code-samples": [
 21618            {
 21619              "lang": "Curl",
 21620              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/orders/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 21621            },
 21622            {
 21623              "lang": "CLI v2",
 21624              "source": "phrase orders show \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 21625            }
 21626          ],
 21627          "x-cli-version": "2.5"
 21628        },
 21629        "delete": {
 21630          "summary": "Cancel an order",
 21631          "description": "Cancel an existing order. Must not yet be confirmed.",
 21632          "operationId": "order/delete",
 21633          "tags": [
 21634            "Orders"
 21635          ],
 21636          "parameters": [
 21637            {
 21638              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 21639            },
 21640            {
 21641              "$ref": "#/components/parameters/project_id"
 21642            },
 21643            {
 21644              "$ref": "#/components/parameters/id"
 21645            },
 21646            {
 21647              "description": "specify the branch to use",
 21648              "example": "my-feature-branch",
 21649              "name": "branch",
 21650              "in": "query",
 21651              "schema": {
 21652                "type": "string"
 21653              }
 21654            }
 21655          ],
 21656          "responses": {
 21657            "204": {
 21658              "$ref": "#/components/responses/204"
 21659            },
 21660            "400": {
 21661              "$ref": "#/components/responses/400"
 21662            },
 21663            "404": {
 21664              "$ref": "#/components/responses/404"
 21665            },
 21666            "429": {
 21667              "$ref": "#/components/responses/429"
 21668            }
 21669          },
 21670          "x-code-samples": [
 21671            {
 21672              "lang": "Curl",
 21673              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/orders/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 21674            },
 21675            {
 21676              "lang": "CLI v2",
 21677              "source": "phrase orders delete \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 21678            }
 21679          ],
 21680          "x-cli-version": "2.5"
 21681        }
 21682      },
 21683      "/projects/{project_id}/orders/{id}/confirm": {
 21684        "patch": {
 21685          "summary": "Confirm an order",
 21686          "description": "Confirm an existing order and send it to the provider for translation. Same constraints as for create.",
 21687          "operationId": "order/confirm",
 21688          "tags": [
 21689            "Orders"
 21690          ],
 21691          "parameters": [
 21692            {
 21693              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 21694            },
 21695            {
 21696              "$ref": "#/components/parameters/project_id"
 21697            },
 21698            {
 21699              "$ref": "#/components/parameters/id"
 21700            }
 21701          ],
 21702          "responses": {
 21703            "200": {
 21704              "description": "OK",
 21705              "content": {
 21706                "application/json": {
 21707                  "schema": {
 21708                    "$ref": "#/components/schemas/translation_order"
 21709                  }
 21710                }
 21711              },
 21712              "headers": {
 21713                "X-Rate-Limit-Limit": {
 21714                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 21715                },
 21716                "X-Rate-Limit-Remaining": {
 21717                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 21718                },
 21719                "X-Rate-Limit-Reset": {
 21720                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 21721                }
 21722              }
 21723            },
 21724            "400": {
 21725              "$ref": "#/components/responses/400"
 21726            },
 21727            "404": {
 21728              "$ref": "#/components/responses/404"
 21729            },
 21730            "429": {
 21731              "$ref": "#/components/responses/429"
 21732            }
 21733          },
 21734          "x-code-samples": [
 21735            {
 21736              "lang": "Curl",
 21737              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/orders/:id/confirm\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 21738            },
 21739            {
 21740              "lang": "CLI v2",
 21741              "source": "phrase orders confirm \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 21742            }
 21743          ],
 21744          "requestBody": {
 21745            "required": true,
 21746            "content": {
 21747              "application/json": {
 21748                "schema": {
 21749                  "type": "object",
 21750                  "title": "order/confirm/parameters",
 21751                  "properties": {
 21752                    "branch": {
 21753                      "description": "specify the branch to use",
 21754                      "type": "string",
 21755                      "example": "my-feature-branch"
 21756                    }
 21757                  }
 21758                }
 21759              }
 21760            }
 21761          },
 21762          "x-cli-version": "2.5"
 21763        }
 21764      },
 21765      "/projects/{project_id}/quality_performance_score": {
 21766        "post": {
 21767          "summary": "Get Translation Quality",
 21768          "description": "Retrieves the quality scores for your Strings translations. Returns a score, measured by Phrase QPS",
 21769          "operationId": "projects/quality_performance_score",
 21770          "tags": [
 21771            "Quality performance score"
 21772          ],
 21773          "parameters": [
 21774            {
 21775              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 21776            },
 21777            {
 21778              "$ref": "#/components/parameters/project_id"
 21779            }
 21780          ],
 21781          "responses": {
 21782            "200": {
 21783              "description": "OK",
 21784              "content": {
 21785                "application/json": {
 21786                  "schema": {
 21787                    "anyOf": [
 21788                      {
 21789                        "type": "object",
 21790                        "title": "error",
 21791                        "description": "Error field for when the request completely fails",
 21792                        "properties": {
 21793                          "error": {
 21794                            "type": "object",
 21795                            "properties": {
 21796                              "message": {
 21797                                "type": "string"
 21798                              },
 21799                              "code": {
 21800                                "type": "string"
 21801                              }
 21802                            }
 21803                          }
 21804                        }
 21805                      },
 21806                      {
 21807                        "type": "object",
 21808                        "properties": {
 21809                          "data": {
 21810                            "type": "object",
 21811                            "properties": {
 21812                              "translations": {
 21813                                "type": "array",
 21814                                "items": {
 21815                                  "type": "object",
 21816                                  "properties": {
 21817                                    "engine": {
 21818                                      "type": "string",
 21819                                      "description": "Engine used for the translation scoring"
 21820                                    },
 21821                                    "score": {
 21822                                      "type": "number",
 21823                                      "description": "Quality score for the translation"
 21824                                    },
 21825                                    "id": {
 21826                                      "type": "string",
 21827                                      "description": "One of the translation ids passed in arguments"
 21828                                    }
 21829                                  }
 21830                                }
 21831                              }
 21832                            }
 21833                          },
 21834                          "errors": {
 21835                            "type": "array",
 21836                            "description": "Array of errors for any failing translation IDs",
 21837                            "items": {
 21838                              "type": "object",
 21839                              "properties": {
 21840                                "message": {
 21841                                  "type": "string"
 21842                                },
 21843                                "code": {
 21844                                  "type": "string"
 21845                                },
 21846                                "id": {
 21847                                  "type": "string",
 21848                                  "description": "One of the translation ids passed in arguments"
 21849                                }
 21850                              }
 21851                            }
 21852                          }
 21853                        }
 21854                      }
 21855                    ],
 21856                    "example": {
 21857                      "data": {
 21858                        "translations": [
 21859                          {
 21860                            "engine": "qe_v4",
 21861                            "score": 0.78,
 21862                            "id": "translation_id_1"
 21863                          },
 21864                          {
 21865                            "engine": "qe_v4",
 21866                            "score": 0.95,
 21867                            "id": "translation_id_2"
 21868                          }
 21869                        ]
 21870                      },
 21871                      "errors": []
 21872                    }
 21873                  }
 21874                }
 21875              },
 21876              "headers": {
 21877                "X-Rate-Limit-Limit": {
 21878                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 21879                },
 21880                "X-Rate-Limit-Remaining": {
 21881                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 21882                },
 21883                "X-Rate-Limit-Reset": {
 21884                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 21885                }
 21886              }
 21887            },
 21888            "400": {
 21889              "$ref": "#/components/responses/400"
 21890            },
 21891            "401": {
 21892              "$ref": "#/components/responses/401"
 21893            },
 21894            "404": {
 21895              "$ref": "#/components/responses/404"
 21896            },
 21897            "422": {
 21898              "$ref": "#/components/responses/422"
 21899            },
 21900            "429": {
 21901              "$ref": "#/components/responses/429"
 21902            },
 21903            "504": {
 21904              "$ref": "#/components/responses/504"
 21905            }
 21906          },
 21907          "x-code-samples": [
 21908            {
 21909              "lang": "Curl",
 21910              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/quality_performance_score\" \\\n  -X POST \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -d '{\"translation_ids\":[\"translation_id_1\", \"translation_id_2\"]}' \\\n  -H 'Content-Type: application/json'"
 21911            },
 21912            {
 21913              "lang": "CLI v2",
 21914              "source": "phrase projects quality_performance_score \\\n--project_id <project_id> \\\n--data '{\"translation_ids\":[\"translation_id_1\", \"translation_id_2\"]}' \\\n--access_token <token>"
 21915            }
 21916          ],
 21917          "requestBody": {
 21918            "required": true,
 21919            "content": {
 21920              "application/json": {
 21921                "schema": {
 21922                  "type": "object",
 21923                  "properties": {
 21924                    "translation_ids": {
 21925                      "description": "Translation ids you want to get the quality performance score for",
 21926                      "type": "array",
 21927                      "items": {
 21928                        "type": "string",
 21929                        "example": "translation_id_1"
 21930                      }
 21931                    }
 21932                  }
 21933                }
 21934              }
 21935            }
 21936          },
 21937          "x-cli-version": "2.20"
 21938        }
 21939      },
 21940      "/accounts/{account_id}/repo_syncs": {
 21941        "get": {
 21942          "summary": "Get Repo Syncs",
 21943          "description": "Lists all Repo Syncs from an account",
 21944          "operationId": "repo_sync/list",
 21945          "tags": [
 21946            "Repo Syncs"
 21947          ],
 21948          "parameters": [
 21949            {
 21950              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 21951            },
 21952            {
 21953              "$ref": "#/components/parameters/account_id"
 21954            }
 21955          ],
 21956          "responses": {
 21957            "200": {
 21958              "description": "OK",
 21959              "content": {
 21960                "application/json": {
 21961                  "schema": {
 21962                    "type": "array",
 21963                    "items": {
 21964                      "$ref": "#/components/schemas/repo_sync"
 21965                    }
 21966                  }
 21967                }
 21968              },
 21969              "headers": {
 21970                "X-Rate-Limit-Limit": {
 21971                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 21972                },
 21973                "X-Rate-Limit-Remaining": {
 21974                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 21975                },
 21976                "X-Rate-Limit-Reset": {
 21977                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 21978                },
 21979                "Link": {
 21980                  "$ref": "#/components/headers/Link"
 21981                },
 21982                "Pagination": {
 21983                  "$ref": "#/components/headers/Pagination"
 21984                }
 21985              }
 21986            },
 21987            "400": {
 21988              "$ref": "#/components/responses/400"
 21989            },
 21990            "404": {
 21991              "$ref": "#/components/responses/404"
 21992            },
 21993            "429": {
 21994              "$ref": "#/components/responses/429"
 21995            }
 21996          },
 21997          "x-code-samples": [
 21998            {
 21999              "lang": "Curl",
 22000              "source": "curl \"https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs\"\\\n  -u USERNAME_OR_ACCESS_TOKEN"
 22001            },
 22002            {
 22003              "lang": "CLI v2",
 22004              "source": "phrase repo_sync list \\\n--account_id abcd1234 \\\n--access_token <token>"
 22005            }
 22006          ],
 22007          "x-cli-version": "2.24"
 22008        }
 22009      },
 22010      "/accounts/{account_id}/repo_syncs/{repo_sync_id}": {
 22011        "get": {
 22012          "summary": "Get a single Repo Sync",
 22013          "description": "Shows a single Repo Sync setting.",
 22014          "operationId": "repo_sync/show",
 22015          "tags": [
 22016            "Repo Syncs"
 22017          ],
 22018          "parameters": [
 22019            {
 22020              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22021            },
 22022            {
 22023              "$ref": "#/components/parameters/account_id"
 22024            },
 22025            {
 22026              "$ref": "#/components/parameters/repo_sync_id"
 22027            }
 22028          ],
 22029          "responses": {
 22030            "200": {
 22031              "description": "OK",
 22032              "content": {
 22033                "application/json": {
 22034                  "schema": {
 22035                    "$ref": "#/components/schemas/repo_sync"
 22036                  }
 22037                }
 22038              },
 22039              "headers": {
 22040                "X-Rate-Limit-Limit": {
 22041                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22042                },
 22043                "X-Rate-Limit-Remaining": {
 22044                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22045                },
 22046                "X-Rate-Limit-Reset": {
 22047                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22048                }
 22049              }
 22050            },
 22051            "400": {
 22052              "$ref": "#/components/responses/400"
 22053            },
 22054            "404": {
 22055              "$ref": "#/components/responses/404"
 22056            },
 22057            "429": {
 22058              "$ref": "#/components/responses/429"
 22059            }
 22060          },
 22061          "x-code-samples": [
 22062            {
 22063              "lang": "Curl",
 22064              "source": "curl \"https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs/56ef78\"\\\n  -u USERNAME_OR_ACCESS_TOKEN"
 22065            },
 22066            {
 22067              "lang": "CLI v2",
 22068              "source": "phrase repo_sync show \\\n--id <id> \\\n--account_id abcd1234 \\\n--access_token <token>"
 22069            }
 22070          ],
 22071          "x-cli-version": "2.24"
 22072        }
 22073      },
 22074      "/accounts/{account_id}/repo_syncs/{repo_sync_id}/export": {
 22075        "post": {
 22076          "summary": "Export to code repository",
 22077          "description": "> Beta: this feature will change in the future.\n\nExport translations from Phrase Strings to repository provider according to the\n.phrase.yml file within the code repository.\n\n*Export is done asynchronously and may take several seconds depending on the project size.*",
 22078          "operationId": "repo_sync/export",
 22079          "tags": [
 22080            "Repo Syncs"
 22081          ],
 22082          "parameters": [
 22083            {
 22084              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22085            },
 22086            {
 22087              "$ref": "#/components/parameters/account_id"
 22088            },
 22089            {
 22090              "$ref": "#/components/parameters/repo_sync_id"
 22091            }
 22092          ],
 22093          "responses": {
 22094            "200": {
 22095              "description": "OK",
 22096              "content": {
 22097                "application/json": {
 22098                  "schema": {
 22099                    "type": "object",
 22100                    "title": "repo_sync/export",
 22101                    "properties": {
 22102                      "message": {
 22103                        "type": "string",
 22104                        "example": "Export started"
 22105                      }
 22106                    }
 22107                  }
 22108                }
 22109              },
 22110              "headers": {
 22111                "X-Rate-Limit-Limit": {
 22112                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22113                },
 22114                "X-Rate-Limit-Remaining": {
 22115                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22116                },
 22117                "X-Rate-Limit-Reset": {
 22118                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22119                }
 22120              }
 22121            },
 22122            "400": {
 22123              "$ref": "#/components/responses/400"
 22124            },
 22125            "404": {
 22126              "$ref": "#/components/responses/404"
 22127            },
 22128            "429": {
 22129              "$ref": "#/components/responses/429"
 22130            }
 22131          },
 22132          "x-code-samples": [
 22133            {
 22134              "lang": "Curl",
 22135              "source": "curl \"https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs/45ef6789/export\"\\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -H 'Content-Type: application/json'"
 22136            },
 22137            {
 22138              "lang": "CLI v2",
 22139              "source": "phrase repo_sync export \\\n--repo_sync_id <repo_sync_id> \\\n--access_token <token>"
 22140            }
 22141          ],
 22142          "x-cli-version": "2.24"
 22143        }
 22144      },
 22145      "/accounts/{account_id}/repo_syncs/{repo_sync_id}/import": {
 22146        "post": {
 22147          "summary": "Import from code repository",
 22148          "description": "> Beta: this feature will change in the future.\n\nImport translations from repository provider to Phrase Strings according to the .phrase.yml file\nwithin the code repository.\n\n_Import is done asynchronously and may take several seconds depending on the project size._",
 22149          "operationId": "repo_sync/import",
 22150          "tags": [
 22151            "Repo Syncs"
 22152          ],
 22153          "parameters": [
 22154            {
 22155              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22156            },
 22157            {
 22158              "$ref": "#/components/parameters/account_id"
 22159            },
 22160            {
 22161              "$ref": "#/components/parameters/repo_sync_id"
 22162            }
 22163          ],
 22164          "responses": {
 22165            "200": {
 22166              "description": "OK",
 22167              "content": {
 22168                "application/json": {
 22169                  "schema": {
 22170                    "type": "object",
 22171                    "title": "repo_sync/import",
 22172                    "properties": {
 22173                      "message": {
 22174                        "type": "string",
 22175                        "example": "Import started"
 22176                      }
 22177                    }
 22178                  }
 22179                }
 22180              },
 22181              "headers": {
 22182                "X-Rate-Limit-Limit": {
 22183                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22184                },
 22185                "X-Rate-Limit-Remaining": {
 22186                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22187                },
 22188                "X-Rate-Limit-Reset": {
 22189                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22190                }
 22191              }
 22192            },
 22193            "400": {
 22194              "$ref": "#/components/responses/400"
 22195            },
 22196            "404": {
 22197              "$ref": "#/components/responses/404"
 22198            },
 22199            "429": {
 22200              "$ref": "#/components/responses/429"
 22201            }
 22202          },
 22203          "x-code-samples": [
 22204            {
 22205              "lang": "Curl",
 22206              "source": "curl \"https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs/45ef6789/import\"\\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -H 'Content-Type: application/json'"
 22207            },
 22208            {
 22209              "lang": "CLI v2",
 22210              "source": "phrase repo_sync import \\\n--repo_sync_id <repo_sync_id> \\\n--access_token <token>"
 22211            }
 22212          ],
 22213          "x-cli-version": "2.24"
 22214        }
 22215      },
 22216      "/accounts/{account_id}/repo_syncs/{repo_sync_id}/events": {
 22217        "get": {
 22218          "summary": "Repository Syncs History",
 22219          "description": "Get the history of a single Repo Sync. The history includes all imports and exports\nperformed by the Repo Sync.",
 22220          "operationId": "repo_sync/events",
 22221          "tags": [
 22222            "Repo Syncs"
 22223          ],
 22224          "parameters": [
 22225            {
 22226              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22227            },
 22228            {
 22229              "$ref": "#/components/parameters/account_id"
 22230            },
 22231            {
 22232              "$ref": "#/components/parameters/repo_sync_id"
 22233            }
 22234          ],
 22235          "responses": {
 22236            "200": {
 22237              "description": "Successful response",
 22238              "content": {
 22239                "application/json": {
 22240                  "schema": {
 22241                    "type": "array",
 22242                    "items": {
 22243                      "$ref": "#/components/schemas/repo_sync_event"
 22244                    }
 22245                  }
 22246                }
 22247              },
 22248              "headers": {
 22249                "X-Rate-Limit-Limit": {
 22250                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22251                },
 22252                "X-Rate-Limit-Remaining": {
 22253                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22254                },
 22255                "X-Rate-Limit-Reset": {
 22256                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22257                },
 22258                "Link": {
 22259                  "$ref": "#/components/headers/Link"
 22260                },
 22261                "Pagination": {
 22262                  "$ref": "#/components/headers/Pagination"
 22263                }
 22264              }
 22265            },
 22266            "400": {
 22267              "$ref": "#/components/responses/400"
 22268            },
 22269            "404": {
 22270              "$ref": "#/components/responses/404"
 22271            },
 22272            "429": {
 22273              "$ref": "#/components/responses/429"
 22274            }
 22275          },
 22276          "x-code-samples": [
 22277            {
 22278              "lang": "Curl",
 22279              "source": "curl \"https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs/56ef78/events\"\\\n  -u USERNAME_OR_ACCESS_TOKEN"
 22280            },
 22281            {
 22282              "lang": "CLI v2",
 22283              "source": "phrase repo_sync events \\\n--id <id> \\\n--account_id abcd1234 \\\n--access_token <token>"
 22284            }
 22285          ],
 22286          "x-cli-version": "2.24"
 22287        }
 22288      },
 22289      "/accounts/{account_id}/repo_syncs/{repo_sync_id}/deactivate": {
 22290        "post": {
 22291          "summary": "Deactivate a Repo Sync",
 22292          "description": "Deactivate an active Repo Sync. Import and export can't be performed on deactivated syncs\nand the pushes to the repository won't trigger the import to Phrase.",
 22293          "operationId": "repo_sync/deactivate",
 22294          "tags": [
 22295            "Repo Syncs"
 22296          ],
 22297          "parameters": [
 22298            {
 22299              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22300            },
 22301            {
 22302              "$ref": "#/components/parameters/account_id"
 22303            },
 22304            {
 22305              "$ref": "#/components/parameters/repo_sync_id"
 22306            }
 22307          ],
 22308          "responses": {
 22309            "200": {
 22310              "description": "OK",
 22311              "content": {
 22312                "application/json": {
 22313                  "schema": {
 22314                    "$ref": "#/components/schemas/repo_sync"
 22315                  }
 22316                }
 22317              },
 22318              "headers": {
 22319                "X-Rate-Limit-Limit": {
 22320                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22321                },
 22322                "X-Rate-Limit-Remaining": {
 22323                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22324                },
 22325                "X-Rate-Limit-Reset": {
 22326                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22327                }
 22328              }
 22329            },
 22330            "400": {
 22331              "$ref": "#/components/responses/400"
 22332            },
 22333            "404": {
 22334              "$ref": "#/components/responses/404"
 22335            },
 22336            "429": {
 22337              "$ref": "#/components/responses/429"
 22338            }
 22339          },
 22340          "x-code-samples": [
 22341            {
 22342              "lang": "Curl",
 22343              "source": "curl \"https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs/45ef6789/deactivate\"\\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -H 'Content-Type: application/json'"
 22344            },
 22345            {
 22346              "lang": "CLI v2",
 22347              "source": "phrase repo_sync deactivate \\\n--repo_sync_id <repo_sync_id> \\\n--access_token <token>"
 22348            }
 22349          ],
 22350          "x-cli-version": "2.24"
 22351        }
 22352      },
 22353      "/accounts/{account_id}/repo_syncs/{repo_sync_id}/activate": {
 22354        "post": {
 22355          "summary": "Activate a Repo Sync",
 22356          "description": "Activate a deactivated Repo Sync. Active syncs can be used to import and export translations,\nand imports to Phrase are automatically triggered by pushes to the repository, if configured.",
 22357          "operationId": "repo_sync/activate",
 22358          "tags": [
 22359            "Repo Syncs"
 22360          ],
 22361          "parameters": [
 22362            {
 22363              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22364            },
 22365            {
 22366              "$ref": "#/components/parameters/account_id"
 22367            },
 22368            {
 22369              "$ref": "#/components/parameters/repo_sync_id"
 22370            }
 22371          ],
 22372          "responses": {
 22373            "200": {
 22374              "description": "OK",
 22375              "content": {
 22376                "application/json": {
 22377                  "schema": {
 22378                    "$ref": "#/components/schemas/repo_sync"
 22379                  }
 22380                }
 22381              },
 22382              "headers": {
 22383                "X-Rate-Limit-Limit": {
 22384                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22385                },
 22386                "X-Rate-Limit-Remaining": {
 22387                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22388                },
 22389                "X-Rate-Limit-Reset": {
 22390                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22391                }
 22392              }
 22393            },
 22394            "400": {
 22395              "$ref": "#/components/responses/400"
 22396            },
 22397            "404": {
 22398              "$ref": "#/components/responses/404"
 22399            },
 22400            "429": {
 22401              "$ref": "#/components/responses/429"
 22402            }
 22403          },
 22404          "x-code-samples": [
 22405            {
 22406              "lang": "Curl",
 22407              "source": "curl \"https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs/45ef6789/activate\"\\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -H 'Content-Type: application/json'"
 22408            },
 22409            {
 22410              "lang": "CLI v2",
 22411              "source": "phrase repo_sync activate \\\n--repo_sync_id <repo_sync_id> \\\n--access_token <token>"
 22412            }
 22413          ],
 22414          "x-cli-version": "2.24"
 22415        }
 22416      },
 22417      "/accounts/{account_id}/spaces": {
 22418        "get": {
 22419          "summary": "List Spaces",
 22420          "description": "List all Spaces for the given account.",
 22421          "operationId": "spaces/list",
 22422          "tags": [
 22423            "Spaces"
 22424          ],
 22425          "parameters": [
 22426            {
 22427              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22428            },
 22429            {
 22430              "$ref": "#/components/parameters/account_id"
 22431            },
 22432            {
 22433              "$ref": "#/components/parameters/page"
 22434            },
 22435            {
 22436              "$ref": "#/components/parameters/per_page"
 22437            }
 22438          ],
 22439          "responses": {
 22440            "200": {
 22441              "description": "OK",
 22442              "content": {
 22443                "application/json": {
 22444                  "schema": {
 22445                    "type": "array",
 22446                    "items": {
 22447                      "$ref": "#/components/schemas/space"
 22448                    }
 22449                  }
 22450                }
 22451              },
 22452              "headers": {
 22453                "X-Rate-Limit-Limit": {
 22454                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22455                },
 22456                "X-Rate-Limit-Remaining": {
 22457                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22458                },
 22459                "X-Rate-Limit-Reset": {
 22460                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22461                },
 22462                "Link": {
 22463                  "$ref": "#/components/headers/Link"
 22464                },
 22465                "Pagination": {
 22466                  "$ref": "#/components/headers/Pagination"
 22467                }
 22468              }
 22469            },
 22470            "400": {
 22471              "$ref": "#/components/responses/400"
 22472            },
 22473            "404": {
 22474              "$ref": "#/components/responses/404"
 22475            },
 22476            "429": {
 22477              "$ref": "#/components/responses/429"
 22478            }
 22479          },
 22480          "x-code-samples": [
 22481            {
 22482              "lang": "Curl",
 22483              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/spaces\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 22484            },
 22485            {
 22486              "lang": "CLI v2",
 22487              "source": "phrase spaces list \\\n--account_id <account_id> \\\n--access_token <token>"
 22488            }
 22489          ],
 22490          "x-cli-version": "2.5"
 22491        },
 22492        "post": {
 22493          "summary": "Create a Space",
 22494          "description": "Create a new Space.",
 22495          "operationId": "space/create",
 22496          "tags": [
 22497            "Spaces"
 22498          ],
 22499          "parameters": [
 22500            {
 22501              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22502            },
 22503            {
 22504              "$ref": "#/components/parameters/account_id"
 22505            }
 22506          ],
 22507          "responses": {
 22508            "201": {
 22509              "description": "Created",
 22510              "content": {
 22511                "application/json": {
 22512                  "schema": {
 22513                    "$ref": "#/components/schemas/space"
 22514                  }
 22515                }
 22516              },
 22517              "headers": {
 22518                "X-Rate-Limit-Limit": {
 22519                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22520                },
 22521                "X-Rate-Limit-Remaining": {
 22522                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22523                },
 22524                "X-Rate-Limit-Reset": {
 22525                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22526                }
 22527              }
 22528            },
 22529            "400": {
 22530              "$ref": "#/components/responses/400"
 22531            },
 22532            "404": {
 22533              "$ref": "#/components/responses/404"
 22534            },
 22535            "429": {
 22536              "$ref": "#/components/responses/429"
 22537            }
 22538          },
 22539          "x-code-samples": [
 22540            {
 22541              "lang": "Curl",
 22542              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/spaces\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"name\":\"My Android Projects\"}' \\\n  -H 'Content-Type: application/json'"
 22543            },
 22544            {
 22545              "lang": "CLI v2",
 22546              "source": "phrase spaces create \\\n--account_id <account_id> \\\n--data '{\"name\": \"My Android Projects\"}' \\\n--access_token <token>"
 22547            }
 22548          ],
 22549          "requestBody": {
 22550            "required": true,
 22551            "content": {
 22552              "application/json": {
 22553                "schema": {
 22554                  "type": "object",
 22555                  "title": "space/create/parameters",
 22556                  "required": [
 22557                    "name"
 22558                  ],
 22559                  "properties": {
 22560                    "name": {
 22561                      "description": "Name of the space",
 22562                      "type": "string",
 22563                      "example": "My Android Projects"
 22564                    }
 22565                  }
 22566                }
 22567              }
 22568            }
 22569          },
 22570          "x-cli-version": "2.5"
 22571        }
 22572      },
 22573      "/accounts/{account_id}/spaces/{id}": {
 22574        "get": {
 22575          "summary": "Get Space",
 22576          "description": "Show the specified Space.",
 22577          "operationId": "space/show",
 22578          "tags": [
 22579            "Spaces"
 22580          ],
 22581          "parameters": [
 22582            {
 22583              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22584            },
 22585            {
 22586              "$ref": "#/components/parameters/account_id"
 22587            },
 22588            {
 22589              "$ref": "#/components/parameters/id"
 22590            }
 22591          ],
 22592          "responses": {
 22593            "200": {
 22594              "description": "OK",
 22595              "content": {
 22596                "application/json": {
 22597                  "schema": {
 22598                    "$ref": "#/components/schemas/space"
 22599                  }
 22600                }
 22601              },
 22602              "headers": {
 22603                "X-Rate-Limit-Limit": {
 22604                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22605                },
 22606                "X-Rate-Limit-Remaining": {
 22607                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22608                },
 22609                "X-Rate-Limit-Reset": {
 22610                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22611                }
 22612              }
 22613            },
 22614            "400": {
 22615              "$ref": "#/components/responses/400"
 22616            },
 22617            "404": {
 22618              "$ref": "#/components/responses/404"
 22619            },
 22620            "429": {
 22621              "$ref": "#/components/responses/429"
 22622            }
 22623          },
 22624          "x-code-samples": [
 22625            {
 22626              "lang": "Curl",
 22627              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/spaces/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 22628            },
 22629            {
 22630              "lang": "CLI v2",
 22631              "source": "phrase spaces show \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 22632            }
 22633          ],
 22634          "x-cli-version": "2.5"
 22635        },
 22636        "patch": {
 22637          "summary": "Update Space",
 22638          "description": "Update the specified Space.",
 22639          "operationId": "space/update",
 22640          "tags": [
 22641            "Spaces"
 22642          ],
 22643          "parameters": [
 22644            {
 22645              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22646            },
 22647            {
 22648              "$ref": "#/components/parameters/account_id"
 22649            },
 22650            {
 22651              "$ref": "#/components/parameters/id"
 22652            }
 22653          ],
 22654          "responses": {
 22655            "200": {
 22656              "description": "OK",
 22657              "content": {
 22658                "application/json": {
 22659                  "schema": {
 22660                    "$ref": "#/components/schemas/space"
 22661                  }
 22662                }
 22663              },
 22664              "headers": {
 22665                "X-Rate-Limit-Limit": {
 22666                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22667                },
 22668                "X-Rate-Limit-Remaining": {
 22669                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22670                },
 22671                "X-Rate-Limit-Reset": {
 22672                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22673                }
 22674              }
 22675            },
 22676            "400": {
 22677              "$ref": "#/components/responses/400"
 22678            },
 22679            "404": {
 22680              "$ref": "#/components/responses/404"
 22681            },
 22682            "429": {
 22683              "$ref": "#/components/responses/429"
 22684            }
 22685          },
 22686          "x-code-samples": [
 22687            {
 22688              "lang": "Curl",
 22689              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/spaces/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"name\":\"My Android Projects\"}' \\\n  -H 'Content-Type: application/json'"
 22690            },
 22691            {
 22692              "lang": "CLI v2",
 22693              "source": "phrase spaces update \\\n--account_id <account_id> \\\n--id <id> \\\n--data '{\"name\": \"My Android Projects\"}' \\\n--access_token <token>"
 22694            }
 22695          ],
 22696          "requestBody": {
 22697            "required": true,
 22698            "content": {
 22699              "application/json": {
 22700                "schema": {
 22701                  "type": "object",
 22702                  "title": "space/update/parameters",
 22703                  "properties": {
 22704                    "name": {
 22705                      "description": "New name of the space",
 22706                      "type": "string",
 22707                      "example": "My Android Projects"
 22708                    }
 22709                  }
 22710                }
 22711              }
 22712            }
 22713          },
 22714          "x-cli-version": "2.5"
 22715        },
 22716        "delete": {
 22717          "summary": "Delete Space",
 22718          "description": "Delete the specified Space.",
 22719          "operationId": "space/delete",
 22720          "tags": [
 22721            "Spaces"
 22722          ],
 22723          "parameters": [
 22724            {
 22725              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22726            },
 22727            {
 22728              "$ref": "#/components/parameters/account_id"
 22729            },
 22730            {
 22731              "$ref": "#/components/parameters/id"
 22732            }
 22733          ],
 22734          "responses": {
 22735            "204": {
 22736              "$ref": "#/components/responses/204"
 22737            },
 22738            "400": {
 22739              "$ref": "#/components/responses/400"
 22740            },
 22741            "404": {
 22742              "$ref": "#/components/responses/404"
 22743            },
 22744            "429": {
 22745              "$ref": "#/components/responses/429"
 22746            }
 22747          },
 22748          "x-code-samples": [
 22749            {
 22750              "lang": "Curl",
 22751              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/spaces/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 22752            },
 22753            {
 22754              "lang": "CLI v2",
 22755              "source": "phrase spaces delete \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 22756            }
 22757          ],
 22758          "x-cli-version": "2.5"
 22759        }
 22760      },
 22761      "/accounts/{account_id}/spaces/{space_id}/projects": {
 22762        "get": {
 22763          "summary": "List Projects in Space",
 22764          "description": "List all projects for the specified Space.",
 22765          "operationId": "spaces/projects/list",
 22766          "tags": [
 22767            "Spaces"
 22768          ],
 22769          "parameters": [
 22770            {
 22771              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22772            },
 22773            {
 22774              "$ref": "#/components/parameters/account_id"
 22775            },
 22776            {
 22777              "$ref": "#/components/parameters/space_id"
 22778            },
 22779            {
 22780              "$ref": "#/components/parameters/page"
 22781            },
 22782            {
 22783              "$ref": "#/components/parameters/per_page"
 22784            }
 22785          ],
 22786          "responses": {
 22787            "200": {
 22788              "description": "OK",
 22789              "content": {
 22790                "application/json": {
 22791                  "schema": {
 22792                    "type": "array",
 22793                    "items": {
 22794                      "$ref": "#/components/schemas/project"
 22795                    }
 22796                  }
 22797                }
 22798              },
 22799              "headers": {
 22800                "X-Rate-Limit-Limit": {
 22801                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22802                },
 22803                "X-Rate-Limit-Remaining": {
 22804                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22805                },
 22806                "X-Rate-Limit-Reset": {
 22807                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22808                },
 22809                "Link": {
 22810                  "$ref": "#/components/headers/Link"
 22811                },
 22812                "Pagination": {
 22813                  "$ref": "#/components/headers/Pagination"
 22814                }
 22815              }
 22816            },
 22817            "400": {
 22818              "$ref": "#/components/responses/400"
 22819            },
 22820            "404": {
 22821              "$ref": "#/components/responses/404"
 22822            },
 22823            "429": {
 22824              "$ref": "#/components/responses/429"
 22825            }
 22826          },
 22827          "x-code-samples": [
 22828            {
 22829              "lang": "Curl",
 22830              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/spaces/:space_id/projects\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 22831            },
 22832            {
 22833              "lang": "CLI v2",
 22834              "source": "phrase spaces projects_list \\\n--account_id <account_id> \\\n--space_id <space_id> \\\n--access_token <token>"
 22835            }
 22836          ],
 22837          "x-cli-version": "2.5"
 22838        },
 22839        "post": {
 22840          "summary": "Add Project to Space",
 22841          "description": "Adds an existing project to the space.",
 22842          "operationId": "spaces/projects/create",
 22843          "tags": [
 22844            "Spaces"
 22845          ],
 22846          "parameters": [
 22847            {
 22848              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22849            },
 22850            {
 22851              "$ref": "#/components/parameters/account_id"
 22852            },
 22853            {
 22854              "$ref": "#/components/parameters/space_id"
 22855            }
 22856          ],
 22857          "responses": {
 22858            "201": {
 22859              "description": "Created",
 22860              "headers": {
 22861                "X-Rate-Limit-Limit": {
 22862                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 22863                },
 22864                "X-Rate-Limit-Remaining": {
 22865                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 22866                },
 22867                "X-Rate-Limit-Reset": {
 22868                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 22869                }
 22870              }
 22871            },
 22872            "400": {
 22873              "$ref": "#/components/responses/400"
 22874            },
 22875            "404": {
 22876              "$ref": "#/components/responses/404"
 22877            },
 22878            "429": {
 22879              "$ref": "#/components/responses/429"
 22880            }
 22881          },
 22882          "x-code-samples": [
 22883            {
 22884              "lang": "Curl",
 22885              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/spaces/:space_id/projects\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"id\":\"a4b3c2d1\"}' \\\n  -H 'Content-Type: application/json'"
 22886            },
 22887            {
 22888              "lang": "CLI v2",
 22889              "source": "phrase spaces projects_create \\\n--account_id <account_id> \\\n--space_id <space_id> \\\n--data '{\"id\":\"a4b3c2d1\"}' \\\n--access_token <token>"
 22890            }
 22891          ],
 22892          "requestBody": {
 22893            "required": true,
 22894            "content": {
 22895              "application/json": {
 22896                "schema": {
 22897                  "type": "object",
 22898                  "title": "spaces/projects/create/parameters",
 22899                  "required": [
 22900                    "id"
 22901                  ],
 22902                  "properties": {
 22903                    "id": {
 22904                      "description": "Project ID to add or to the Space",
 22905                      "type": "string",
 22906                      "example": "a4b3c2d1"
 22907                    }
 22908                  }
 22909                }
 22910              }
 22911            }
 22912          },
 22913          "x-cli-version": "2.5"
 22914        }
 22915      },
 22916      "/accounts/{account_id}/spaces/{space_id}/projects/{id}": {
 22917        "delete": {
 22918          "summary": "Remove Project from Space",
 22919          "description": "Removes a specified project from the specified space.",
 22920          "operationId": "spaces/projects/delete",
 22921          "tags": [
 22922            "Spaces"
 22923          ],
 22924          "parameters": [
 22925            {
 22926              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22927            },
 22928            {
 22929              "$ref": "#/components/parameters/account_id"
 22930            },
 22931            {
 22932              "$ref": "#/components/parameters/space_id"
 22933            },
 22934            {
 22935              "$ref": "#/components/parameters/id"
 22936            }
 22937          ],
 22938          "responses": {
 22939            "204": {
 22940              "$ref": "#/components/responses/204"
 22941            },
 22942            "400": {
 22943              "$ref": "#/components/responses/400"
 22944            },
 22945            "404": {
 22946              "$ref": "#/components/responses/404"
 22947            },
 22948            "429": {
 22949              "$ref": "#/components/responses/429"
 22950            }
 22951          },
 22952          "x-code-samples": [
 22953            {
 22954              "lang": "Curl",
 22955              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/spaces/:space_id/projects/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 22956            },
 22957            {
 22958              "lang": "CLI v2",
 22959              "source": "phrase spaces projects_delete \\\n--account_id <account_id> \\\n--space_id <space_id> \\\n--id <id> \\\n--access_token <token>"
 22960            }
 22961          ],
 22962          "x-cli-version": "2.5"
 22963        }
 22964      },
 22965      "/accounts/{account_id}/teams": {
 22966        "get": {
 22967          "summary": "List Teams",
 22968          "description": "List all Teams for the given account.",
 22969          "operationId": "teams/list",
 22970          "tags": [
 22971            "Teams"
 22972          ],
 22973          "parameters": [
 22974            {
 22975              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 22976            },
 22977            {
 22978              "$ref": "#/components/parameters/account_id"
 22979            },
 22980            {
 22981              "$ref": "#/components/parameters/page"
 22982            },
 22983            {
 22984              "$ref": "#/components/parameters/per_page"
 22985            }
 22986          ],
 22987          "responses": {
 22988            "200": {
 22989              "description": "OK",
 22990              "content": {
 22991                "application/json": {
 22992                  "schema": {
 22993                    "type": "array",
 22994                    "items": {
 22995                      "$ref": "#/components/schemas/team"
 22996                    }
 22997                  }
 22998                }
 22999              },
 23000              "headers": {
 23001                "X-Rate-Limit-Limit": {
 23002                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 23003                },
 23004                "X-Rate-Limit-Remaining": {
 23005                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 23006                },
 23007                "X-Rate-Limit-Reset": {
 23008                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 23009                },
 23010                "Link": {
 23011                  "$ref": "#/components/headers/Link"
 23012                },
 23013                "Pagination": {
 23014                  "$ref": "#/components/headers/Pagination"
 23015                }
 23016              }
 23017            },
 23018            "400": {
 23019              "$ref": "#/components/responses/400"
 23020            },
 23021            "404": {
 23022              "$ref": "#/components/responses/404"
 23023            },
 23024            "429": {
 23025              "$ref": "#/components/responses/429"
 23026            }
 23027          },
 23028          "x-code-samples": [
 23029            {
 23030              "lang": "Curl",
 23031              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 23032            },
 23033            {
 23034              "lang": "CLI v2",
 23035              "source": "phrase teams list \\\n--account_id <account_id> \\\n--access_token <token>"
 23036            }
 23037          ],
 23038          "x-cli-version": "2.5"
 23039        },
 23040        "post": {
 23041          "summary": "Create a Team",
 23042          "description": "Create a new Team.",
 23043          "operationId": "team/create",
 23044          "tags": [
 23045            "Teams"
 23046          ],
 23047          "parameters": [
 23048            {
 23049              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23050            },
 23051            {
 23052              "$ref": "#/components/parameters/account_id"
 23053            }
 23054          ],
 23055          "responses": {
 23056            "201": {
 23057              "description": "Created",
 23058              "content": {
 23059                "application/json": {
 23060                  "schema": {
 23061                    "$ref": "#/components/schemas/team_detail"
 23062                  }
 23063                }
 23064              },
 23065              "headers": {
 23066                "X-Rate-Limit-Limit": {
 23067                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 23068                },
 23069                "X-Rate-Limit-Remaining": {
 23070                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 23071                },
 23072                "X-Rate-Limit-Reset": {
 23073                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 23074                }
 23075              }
 23076            },
 23077            "400": {
 23078              "$ref": "#/components/responses/400"
 23079            },
 23080            "404": {
 23081              "$ref": "#/components/responses/404"
 23082            },
 23083            "429": {
 23084              "$ref": "#/components/responses/429"
 23085            }
 23086          },
 23087          "x-code-samples": [
 23088            {
 23089              "lang": "Curl",
 23090              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"name\":\"German Translators\"}' \\\n  -H 'Content-Type: application/json'"
 23091            },
 23092            {
 23093              "lang": "CLI v2",
 23094              "source": "phrase teams create \\\n--account_id <account_id> \\\n--data '{\"name\": \"German Translators\"}' \\\n--access_token <token>"
 23095            }
 23096          ],
 23097          "requestBody": {
 23098            "required": true,
 23099            "content": {
 23100              "application/json": {
 23101                "schema": {
 23102                  "type": "object",
 23103                  "title": "team/create/parameters",
 23104                  "required": [
 23105                    "name"
 23106                  ],
 23107                  "properties": {
 23108                    "name": {
 23109                      "description": "Name of the team",
 23110                      "type": "string",
 23111                      "example": "German Translators"
 23112                    }
 23113                  }
 23114                }
 23115              }
 23116            }
 23117          },
 23118          "x-cli-version": "2.5"
 23119        }
 23120      },
 23121      "/accounts/{account_id}/teams/{id}": {
 23122        "get": {
 23123          "summary": "Get Team",
 23124          "description": "Show the specified Team.",
 23125          "operationId": "team/show",
 23126          "tags": [
 23127            "Teams"
 23128          ],
 23129          "parameters": [
 23130            {
 23131              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23132            },
 23133            {
 23134              "$ref": "#/components/parameters/account_id"
 23135            },
 23136            {
 23137              "$ref": "#/components/parameters/id"
 23138            }
 23139          ],
 23140          "responses": {
 23141            "200": {
 23142              "description": "OK",
 23143              "content": {
 23144                "application/json": {
 23145                  "schema": {
 23146                    "$ref": "#/components/schemas/team_detail"
 23147                  }
 23148                }
 23149              },
 23150              "headers": {
 23151                "X-Rate-Limit-Limit": {
 23152                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 23153                },
 23154                "X-Rate-Limit-Remaining": {
 23155                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 23156                },
 23157                "X-Rate-Limit-Reset": {
 23158                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 23159                }
 23160              }
 23161            },
 23162            "400": {
 23163              "$ref": "#/components/responses/400"
 23164            },
 23165            "404": {
 23166              "$ref": "#/components/responses/404"
 23167            },
 23168            "429": {
 23169              "$ref": "#/components/responses/429"
 23170            }
 23171          },
 23172          "x-code-samples": [
 23173            {
 23174              "lang": "Curl",
 23175              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 23176            },
 23177            {
 23178              "lang": "CLI v2",
 23179              "source": "phrase teams show \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 23180            }
 23181          ],
 23182          "x-cli-version": "2.5"
 23183        },
 23184        "patch": {
 23185          "summary": "Update Team",
 23186          "description": "Update the specified Team.",
 23187          "operationId": "team/update",
 23188          "tags": [
 23189            "Teams"
 23190          ],
 23191          "parameters": [
 23192            {
 23193              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23194            },
 23195            {
 23196              "$ref": "#/components/parameters/account_id"
 23197            },
 23198            {
 23199              "$ref": "#/components/parameters/id"
 23200            }
 23201          ],
 23202          "responses": {
 23203            "200": {
 23204              "description": "OK",
 23205              "content": {
 23206                "application/json": {
 23207                  "schema": {
 23208                    "$ref": "#/components/schemas/team_detail"
 23209                  }
 23210                }
 23211              },
 23212              "headers": {
 23213                "X-Rate-Limit-Limit": {
 23214                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 23215                },
 23216                "X-Rate-Limit-Remaining": {
 23217                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 23218                },
 23219                "X-Rate-Limit-Reset": {
 23220                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 23221                }
 23222              }
 23223            },
 23224            "400": {
 23225              "$ref": "#/components/responses/400"
 23226            },
 23227            "404": {
 23228              "$ref": "#/components/responses/404"
 23229            },
 23230            "429": {
 23231              "$ref": "#/components/responses/429"
 23232            }
 23233          },
 23234          "x-code-samples": [
 23235            {
 23236              "lang": "Curl",
 23237              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"name\":\"German Translators\"}' \\\n  -H 'Content-Type: application/json'"
 23238            },
 23239            {
 23240              "lang": "CLI v2",
 23241              "source": "phrase teams update \\\n--account_id <account_id> \\\n--id <id> \\\n--data '{\"name\": \"German Translators\"}' \\\n--access_token <token>"
 23242            }
 23243          ],
 23244          "requestBody": {
 23245            "required": true,
 23246            "content": {
 23247              "application/json": {
 23248                "schema": {
 23249                  "type": "object",
 23250                  "title": "team/update/parameters",
 23251                  "properties": {
 23252                    "name": {
 23253                      "description": "New name of the team",
 23254                      "type": "string",
 23255                      "example": "German Translators"
 23256                    }
 23257                  }
 23258                }
 23259              }
 23260            }
 23261          },
 23262          "x-cli-version": "2.5"
 23263        },
 23264        "delete": {
 23265          "summary": "Delete Team",
 23266          "description": "Delete the specified Team.",
 23267          "operationId": "team/delete",
 23268          "tags": [
 23269            "Teams"
 23270          ],
 23271          "parameters": [
 23272            {
 23273              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23274            },
 23275            {
 23276              "$ref": "#/components/parameters/account_id"
 23277            },
 23278            {
 23279              "$ref": "#/components/parameters/id"
 23280            }
 23281          ],
 23282          "responses": {
 23283            "204": {
 23284              "$ref": "#/components/responses/204"
 23285            },
 23286            "400": {
 23287              "$ref": "#/components/responses/400"
 23288            },
 23289            "404": {
 23290              "$ref": "#/components/responses/404"
 23291            },
 23292            "429": {
 23293              "$ref": "#/components/responses/429"
 23294            }
 23295          },
 23296          "x-code-samples": [
 23297            {
 23298              "lang": "Curl",
 23299              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 23300            },
 23301            {
 23302              "lang": "CLI v2",
 23303              "source": "phrase teams delete \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 23304            }
 23305          ],
 23306          "x-cli-version": "2.5"
 23307        }
 23308      },
 23309      "/accounts/{account_id}/teams/{team_id}/projects": {
 23310        "post": {
 23311          "summary": "Add Project to Team",
 23312          "description": "Adds an existing project to the team.",
 23313          "operationId": "teams/projects/create",
 23314          "tags": [
 23315            "Teams"
 23316          ],
 23317          "parameters": [
 23318            {
 23319              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23320            },
 23321            {
 23322              "$ref": "#/components/parameters/account_id"
 23323            },
 23324            {
 23325              "$ref": "#/components/parameters/team_id"
 23326            }
 23327          ],
 23328          "responses": {
 23329            "201": {
 23330              "description": "Created",
 23331              "headers": {
 23332                "X-Rate-Limit-Limit": {
 23333                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 23334                },
 23335                "X-Rate-Limit-Remaining": {
 23336                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 23337                },
 23338                "X-Rate-Limit-Reset": {
 23339                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 23340                }
 23341              }
 23342            },
 23343            "400": {
 23344              "$ref": "#/components/responses/400"
 23345            },
 23346            "404": {
 23347              "$ref": "#/components/responses/404"
 23348            },
 23349            "429": {
 23350              "$ref": "#/components/responses/429"
 23351            }
 23352          },
 23353          "x-code-samples": [
 23354            {
 23355              "lang": "Curl",
 23356              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams/:team_id/projects\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"id\":\"a4b3c2d1\"}' \\\n  -H 'Content-Type: application/json'"
 23357            },
 23358            {
 23359              "lang": "CLI v2",
 23360              "source": "phrase teams projects_create \\\n--account_id <account_id> \\\n--team_id <team_id> \\\n--data '{\"id\":\"a4b3c2d1\"}' \\\n--access_token <token>"
 23361            }
 23362          ],
 23363          "requestBody": {
 23364            "required": true,
 23365            "content": {
 23366              "application/json": {
 23367                "schema": {
 23368                  "type": "object",
 23369                  "title": "teams/projects/create/parameters",
 23370                  "required": [
 23371                    "id"
 23372                  ],
 23373                  "properties": {
 23374                    "id": {
 23375                      "description": "Project ID to add to the Team",
 23376                      "type": "string",
 23377                      "example": "a4b3c2d1"
 23378                    }
 23379                  }
 23380                }
 23381              }
 23382            }
 23383          },
 23384          "x-cli-version": "2.5"
 23385        }
 23386      },
 23387      "/accounts/{account_id}/teams/{team_id}/projects/{id}": {
 23388        "delete": {
 23389          "summary": "Remove Project from Team",
 23390          "description": "Removes a specified project from the specified team.",
 23391          "operationId": "teams/projects/delete",
 23392          "tags": [
 23393            "Teams"
 23394          ],
 23395          "parameters": [
 23396            {
 23397              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23398            },
 23399            {
 23400              "$ref": "#/components/parameters/account_id"
 23401            },
 23402            {
 23403              "$ref": "#/components/parameters/team_id"
 23404            },
 23405            {
 23406              "$ref": "#/components/parameters/id"
 23407            }
 23408          ],
 23409          "responses": {
 23410            "204": {
 23411              "$ref": "#/components/responses/204"
 23412            },
 23413            "400": {
 23414              "$ref": "#/components/responses/400"
 23415            },
 23416            "404": {
 23417              "$ref": "#/components/responses/404"
 23418            },
 23419            "429": {
 23420              "$ref": "#/components/responses/429"
 23421            }
 23422          },
 23423          "x-code-samples": [
 23424            {
 23425              "lang": "Curl",
 23426              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams/:team_id/projects/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 23427            },
 23428            {
 23429              "lang": "CLI v2",
 23430              "source": "phrase teams projects_delete \\\n--account_id <account_id> \\\n--team_id <team_id> \\\n--id <id> \\\n--access_token <token>"
 23431            }
 23432          ],
 23433          "x-cli-version": "2.5"
 23434        }
 23435      },
 23436      "/accounts/{account_id}/teams/{team_id}/spaces": {
 23437        "post": {
 23438          "summary": "Add Space",
 23439          "description": "Adds an existing space to the team.",
 23440          "operationId": "teams/spaces/create",
 23441          "tags": [
 23442            "Teams"
 23443          ],
 23444          "parameters": [
 23445            {
 23446              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23447            },
 23448            {
 23449              "$ref": "#/components/parameters/account_id"
 23450            },
 23451            {
 23452              "$ref": "#/components/parameters/team_id"
 23453            }
 23454          ],
 23455          "responses": {
 23456            "201": {
 23457              "description": "Created",
 23458              "headers": {
 23459                "X-Rate-Limit-Limit": {
 23460                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 23461                },
 23462                "X-Rate-Limit-Remaining": {
 23463                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 23464                },
 23465                "X-Rate-Limit-Reset": {
 23466                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 23467                }
 23468              }
 23469            },
 23470            "400": {
 23471              "$ref": "#/components/responses/400"
 23472            },
 23473            "404": {
 23474              "$ref": "#/components/responses/404"
 23475            },
 23476            "429": {
 23477              "$ref": "#/components/responses/429"
 23478            }
 23479          },
 23480          "x-code-samples": [
 23481            {
 23482              "lang": "Curl",
 23483              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams/:team_id/spaces\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"id\":\"a4b3c2d1\"}' \\\n  -H 'Content-Type: application/json'"
 23484            },
 23485            {
 23486              "lang": "CLI v2",
 23487              "source": "phrase teams spaces_create \\\n--account_id <account_id> \\\n--team_id <team_id> \\\n--data '{\"id\":\"a4b3c2d1\"}' \\\n--access_token <token>"
 23488            }
 23489          ],
 23490          "requestBody": {
 23491            "required": true,
 23492            "content": {
 23493              "application/json": {
 23494                "schema": {
 23495                  "type": "object",
 23496                  "title": "teams/spaces/create/parameters",
 23497                  "required": [
 23498                    "id"
 23499                  ],
 23500                  "properties": {
 23501                    "id": {
 23502                      "description": "Space ID to add to the Team",
 23503                      "type": "string",
 23504                      "example": "a4b3c2d1"
 23505                    }
 23506                  }
 23507                }
 23508              }
 23509            }
 23510          },
 23511          "x-cli-version": "2.5"
 23512        }
 23513      },
 23514      "/accounts/{account_id}/teams/{team_id}/spaces/{id}": {
 23515        "delete": {
 23516          "summary": "Remove Space",
 23517          "description": "Removes a specified space from the specified team.",
 23518          "operationId": "teams/spaces/delete",
 23519          "tags": [
 23520            "Teams"
 23521          ],
 23522          "parameters": [
 23523            {
 23524              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23525            },
 23526            {
 23527              "$ref": "#/components/parameters/account_id"
 23528            },
 23529            {
 23530              "$ref": "#/components/parameters/team_id"
 23531            },
 23532            {
 23533              "$ref": "#/components/parameters/id"
 23534            }
 23535          ],
 23536          "responses": {
 23537            "204": {
 23538              "$ref": "#/components/responses/204"
 23539            },
 23540            "400": {
 23541              "$ref": "#/components/responses/400"
 23542            },
 23543            "404": {
 23544              "$ref": "#/components/responses/404"
 23545            },
 23546            "429": {
 23547              "$ref": "#/components/responses/429"
 23548            }
 23549          },
 23550          "x-code-samples": [
 23551            {
 23552              "lang": "Curl",
 23553              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams/:team_id/spaces/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 23554            },
 23555            {
 23556              "lang": "CLI v2",
 23557              "source": "phrase teams spaces_delete \\\n--account_id <account_id> \\\n--team_id <team_id> \\\n--id <id> \\\n--access_token <token>"
 23558            }
 23559          ],
 23560          "x-cli-version": "2.5"
 23561        }
 23562      },
 23563      "/accounts/{account_id}/teams/{team_id}/users": {
 23564        "post": {
 23565          "summary": "Add User",
 23566          "description": "Adds an existing user to the team.",
 23567          "operationId": "teams/users/create",
 23568          "tags": [
 23569            "Teams"
 23570          ],
 23571          "parameters": [
 23572            {
 23573              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23574            },
 23575            {
 23576              "$ref": "#/components/parameters/account_id"
 23577            },
 23578            {
 23579              "$ref": "#/components/parameters/team_id"
 23580            }
 23581          ],
 23582          "responses": {
 23583            "201": {
 23584              "description": "Created",
 23585              "headers": {
 23586                "X-Rate-Limit-Limit": {
 23587                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 23588                },
 23589                "X-Rate-Limit-Remaining": {
 23590                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 23591                },
 23592                "X-Rate-Limit-Reset": {
 23593                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 23594                }
 23595              }
 23596            },
 23597            "400": {
 23598              "$ref": "#/components/responses/400"
 23599            },
 23600            "404": {
 23601              "$ref": "#/components/responses/404"
 23602            },
 23603            "429": {
 23604              "$ref": "#/components/responses/429"
 23605            }
 23606          },
 23607          "x-code-samples": [
 23608            {
 23609              "lang": "Curl",
 23610              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams/:team_id/users\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"id\":\"a4b3c2d1\"}' \\\n  -H 'Content-Type: application/json'"
 23611            },
 23612            {
 23613              "lang": "CLI v2",
 23614              "source": "phrase teams users_create \\\n--account_id <account_id> \\\n--team_id <team_id> \\\n--data '{\"id\":\"a4b3c2d1\"}' \\\n--access_token <token>"
 23615            }
 23616          ],
 23617          "requestBody": {
 23618            "required": true,
 23619            "content": {
 23620              "application/json": {
 23621                "schema": {
 23622                  "type": "object",
 23623                  "title": "teams/users/create/parameters",
 23624                  "required": [
 23625                    "id"
 23626                  ],
 23627                  "properties": {
 23628                    "id": {
 23629                      "description": "User ID to add to the Team",
 23630                      "type": "string",
 23631                      "example": "a4b3c2d1"
 23632                    }
 23633                  }
 23634                }
 23635              }
 23636            }
 23637          },
 23638          "x-cli-version": "2.5"
 23639        }
 23640      },
 23641      "/accounts/{account_id}/teams/{team_id}/users/{id}": {
 23642        "delete": {
 23643          "summary": "Remove User",
 23644          "description": "Removes a specified user from the specified team.",
 23645          "operationId": "teams/users/delete",
 23646          "tags": [
 23647            "Teams"
 23648          ],
 23649          "parameters": [
 23650            {
 23651              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23652            },
 23653            {
 23654              "$ref": "#/components/parameters/account_id"
 23655            },
 23656            {
 23657              "$ref": "#/components/parameters/team_id"
 23658            },
 23659            {
 23660              "$ref": "#/components/parameters/id"
 23661            }
 23662          ],
 23663          "responses": {
 23664            "204": {
 23665              "$ref": "#/components/responses/204"
 23666            },
 23667            "400": {
 23668              "$ref": "#/components/responses/400"
 23669            },
 23670            "404": {
 23671              "$ref": "#/components/responses/404"
 23672            },
 23673            "429": {
 23674              "$ref": "#/components/responses/429"
 23675            }
 23676          },
 23677          "x-code-samples": [
 23678            {
 23679              "lang": "Curl",
 23680              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/teams/:team_id/users/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE"
 23681            },
 23682            {
 23683              "lang": "CLI v2",
 23684              "source": "phrase teams users_delete \\\n--account_id <account_id> \\\n--team_id <team_id> \\\n--id <id> \\\n--access_token <token>"
 23685            }
 23686          ],
 23687          "x-cli-version": "2.5"
 23688        }
 23689      },
 23690      "/projects/{project_id}/translations": {
 23691        "get": {
 23692          "summary": "List all translations",
 23693          "description": "List translations for the given project. If you want to download all translations for one locale we recommend to use the <code>locales#download</code> endpoint.",
 23694          "operationId": "translations/list",
 23695          "tags": [
 23696            "Translations"
 23697          ],
 23698          "parameters": [
 23699            {
 23700              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23701            },
 23702            {
 23703              "$ref": "#/components/parameters/If-Modified-Since"
 23704            },
 23705            {
 23706              "$ref": "#/components/parameters/If-None-Match"
 23707            },
 23708            {
 23709              "$ref": "#/components/parameters/project_id"
 23710            },
 23711            {
 23712              "$ref": "#/components/parameters/page"
 23713            },
 23714            {
 23715              "$ref": "#/components/parameters/per_page"
 23716            },
 23717            {
 23718              "description": "specify the branch to use",
 23719              "example": "my-feature-branch",
 23720              "name": "branch",
 23721              "in": "query",
 23722              "schema": {
 23723                "type": "string"
 23724              }
 23725            },
 23726            {
 23727              "description": "Sort criteria. Can be one of: key_name, created_at, updated_at.",
 23728              "example": "updated_at",
 23729              "name": "sort",
 23730              "in": "query",
 23731              "schema": {
 23732                "type": "string"
 23733              }
 23734            },
 23735            {
 23736              "description": "Order direction. Can be one of: asc, desc.",
 23737              "example": "desc",
 23738              "name": "order",
 23739              "in": "query",
 23740              "schema": {
 23741                "type": "string"
 23742              }
 23743            },
 23744            {
 23745              "description": "Specify a query to find translations by content (including wildcards).<br><br>\n<i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br>\nThe following qualifiers are supported in the query:<br>\n<ul>\n  <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>tags:XYZ</code> for tags on the translation</li>\n  <li><code>unverified:{true|false}</code> for verification status</li>\n  <li><code>excluded:{true|false}</code> for exclusion status</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n  <li><code>reviewed_after:2013-02-21T00:00:00Z</code> for fetching translations that were reviewed after the given timestamp</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 23746              "example": "PhraseApp*%20unverified:true%20excluded:true%20tags:feature,center",
 23747              "name": "q",
 23748              "in": "query",
 23749              "schema": {
 23750                "type": "string"
 23751              }
 23752            }
 23753          ],
 23754          "responses": {
 23755            "200": {
 23756              "description": "OK",
 23757              "content": {
 23758                "application/json": {
 23759                  "schema": {
 23760                    "type": "array",
 23761                    "items": {
 23762                      "$ref": "#/components/schemas/translation"
 23763                    }
 23764                  }
 23765                }
 23766              },
 23767              "headers": {
 23768                "X-Rate-Limit-Limit": {
 23769                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 23770                },
 23771                "X-Rate-Limit-Remaining": {
 23772                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 23773                },
 23774                "X-Rate-Limit-Reset": {
 23775                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 23776                },
 23777                "Link": {
 23778                  "$ref": "#/components/headers/Link"
 23779                },
 23780                "Pagination": {
 23781                  "$ref": "#/components/headers/Pagination"
 23782                }
 23783              }
 23784            },
 23785            "400": {
 23786              "$ref": "#/components/responses/400"
 23787            },
 23788            "404": {
 23789              "$ref": "#/components/responses/404"
 23790            },
 23791            "429": {
 23792              "$ref": "#/components/responses/429"
 23793            }
 23794          },
 23795          "x-code-samples": [
 23796            {
 23797              "lang": "Curl",
 23798              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations?branch=my-feature-branch&sort=updated_at&order=desc&q=PhraseApp*%2520unverified:true%2520excluded:true%2520tags:feature,center\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 23799            },
 23800            {
 23801              "lang": "CLI v2",
 23802              "source": "phrase translations list \\\n--project_id <project_id> \\\n--branch my-feature-branch \\\n--sort updated_at \\\n--order desc \\\n--query 'PhraseApp*%20unverified:true%20excluded:true%20tags:feature,center' \\\n--access_token <token>"
 23803            }
 23804          ],
 23805          "x-cli-version": "2.6.4"
 23806        },
 23807        "post": {
 23808          "summary": "Create a translation",
 23809          "description": "Create a translation.",
 23810          "operationId": "translation/create",
 23811          "tags": [
 23812            "Translations"
 23813          ],
 23814          "parameters": [
 23815            {
 23816              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23817            },
 23818            {
 23819              "$ref": "#/components/parameters/project_id"
 23820            }
 23821          ],
 23822          "responses": {
 23823            "201": {
 23824              "description": "Created",
 23825              "content": {
 23826                "application/json": {
 23827                  "schema": {
 23828                    "$ref": "#/components/schemas/translation_details"
 23829                  }
 23830                }
 23831              },
 23832              "headers": {
 23833                "X-Rate-Limit-Limit": {
 23834                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 23835                },
 23836                "X-Rate-Limit-Remaining": {
 23837                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 23838                },
 23839                "X-Rate-Limit-Reset": {
 23840                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 23841                }
 23842              }
 23843            },
 23844            "400": {
 23845              "$ref": "#/components/responses/400"
 23846            },
 23847            "404": {
 23848              "$ref": "#/components/responses/404"
 23849            },
 23850            "429": {
 23851              "$ref": "#/components/responses/429"
 23852            }
 23853          },
 23854          "x-code-samples": [
 23855            {
 23856              "lang": "Curl",
 23857              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"locale_id\":\"abcd1234cdef1234abcd1234cdef1234\",\"key_id\":\"abcd1234cdef1234abcd1234cdef1234\",\"content\":\"My translation\"}' \\\n  -H 'Content-Type: application/json'"
 23858            },
 23859            {
 23860              "lang": "CLI v2",
 23861              "source": "phrase translations create \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"locale_id\":\"abcd1234cdef1234abcd1234cdef1234\", \"key_id\":\"abcd1234cdef1234abcd1234cdef1234\", \"content\": \"My translation\"}' \\\n--access_token <token>"
 23862            }
 23863          ],
 23864          "requestBody": {
 23865            "required": true,
 23866            "content": {
 23867              "application/json": {
 23868                "schema": {
 23869                  "type": "object",
 23870                  "title": "translation/create/parameters",
 23871                  "properties": {
 23872                    "branch": {
 23873                      "description": "specify the branch to use",
 23874                      "type": "string",
 23875                      "example": "my-feature-branch"
 23876                    },
 23877                    "locale_id": {
 23878                      "description": "Locale. Can be the name or id of the locale. Preferred is id",
 23879                      "type": "string",
 23880                      "example": "abcd1234cdef1234abcd1234cdef1234"
 23881                    },
 23882                    "key_id": {
 23883                      "description": "Key",
 23884                      "type": "string",
 23885                      "example": "abcd1234cdef1234abcd1234cdef1234"
 23886                    },
 23887                    "content": {
 23888                      "description": "Translation content",
 23889                      "type": "string",
 23890                      "example": "My translation"
 23891                    },
 23892                    "plural_suffix": {
 23893                      "description": "Plural suffix. Can be one of: zero, one, two, few, many, other. Must be specified if the key associated to the translation is pluralized.",
 23894                      "type": "string",
 23895                      "example": null
 23896                    },
 23897                    "unverified": {
 23898                      "description": "Indicates whether translation is unverified. Part of the <a href=\"https://support.phrase.com/hc/en-us/articles/5784094755484\" target=\"_blank\">Advanced Workflows</a> feature.",
 23899                      "type": "boolean",
 23900                      "example": null
 23901                    },
 23902                    "excluded": {
 23903                      "description": "Indicates whether translation is excluded.",
 23904                      "type": "boolean",
 23905                      "example": null
 23906                    },
 23907                    "autotranslate": {
 23908                      "description": "Indicates whether the translation should be auto-translated. Responses with status 422 if provided for translation within a non-default locale or the project does not have the Autopilot feature enabled.",
 23909                      "type": "boolean",
 23910                      "example": null
 23911                    }
 23912                  }
 23913                }
 23914              }
 23915            }
 23916          },
 23917          "x-cli-version": "2.5"
 23918        }
 23919      },
 23920      "/projects/{project_id}/locales/{locale_id}/translations": {
 23921        "get": {
 23922          "summary": "List translations by locale",
 23923          "description": "List translations for a specific locale. If you want to download all translations for one locale we recommend to use the <code>locales#download</code> endpoint.",
 23924          "operationId": "translations/by_locale",
 23925          "tags": [
 23926            "Translations"
 23927          ],
 23928          "parameters": [
 23929            {
 23930              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 23931            },
 23932            {
 23933              "$ref": "#/components/parameters/project_id"
 23934            },
 23935            {
 23936              "$ref": "#/components/parameters/locale_id"
 23937            },
 23938            {
 23939              "$ref": "#/components/parameters/page"
 23940            },
 23941            {
 23942              "$ref": "#/components/parameters/per_page"
 23943            },
 23944            {
 23945              "description": "specify the branch to use",
 23946              "example": "my-feature-branch",
 23947              "name": "branch",
 23948              "in": "query",
 23949              "schema": {
 23950                "type": "string"
 23951              }
 23952            },
 23953            {
 23954              "description": "Sort criteria. Can be one of: key_name, created_at, updated_at.",
 23955              "example": "updated_at",
 23956              "name": "sort",
 23957              "in": "query",
 23958              "schema": {
 23959                "type": "string"
 23960              }
 23961            },
 23962            {
 23963              "description": "Order direction. Can be one of: asc, desc.",
 23964              "example": "desc",
 23965              "name": "order",
 23966              "in": "query",
 23967              "schema": {
 23968                "type": "string"
 23969              }
 23970            },
 23971            {
 23972              "description": "Specify a query to find translations by content (including wildcards).<br><br>\n<i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br>\nThe following qualifiers are supported in the query:<br>\n<ul>\n  <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>unverified:{true|false}</code> for verification status</li>\n  <li><code>tags:XYZ</code> for tags on the translation</li>\n  <li><code>excluded:{true|false}</code> for exclusion status</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 23973              "example": "PhraseApp*%20unverified:true%20excluded:true%20tags:feature,center",
 23974              "name": "q",
 23975              "in": "query",
 23976              "schema": {
 23977                "type": "string"
 23978              }
 23979            }
 23980          ],
 23981          "responses": {
 23982            "200": {
 23983              "description": "OK",
 23984              "content": {
 23985                "application/json": {
 23986                  "schema": {
 23987                    "type": "array",
 23988                    "items": {
 23989                      "$ref": "#/components/schemas/translation"
 23990                    }
 23991                  }
 23992                }
 23993              },
 23994              "headers": {
 23995                "X-Rate-Limit-Limit": {
 23996                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 23997                },
 23998                "X-Rate-Limit-Remaining": {
 23999                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24000                },
 24001                "X-Rate-Limit-Reset": {
 24002                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24003                },
 24004                "Link": {
 24005                  "$ref": "#/components/headers/Link"
 24006                },
 24007                "Pagination": {
 24008                  "$ref": "#/components/headers/Pagination"
 24009                }
 24010              }
 24011            },
 24012            "400": {
 24013              "$ref": "#/components/responses/400"
 24014            },
 24015            "404": {
 24016              "$ref": "#/components/responses/404"
 24017            },
 24018            "429": {
 24019              "$ref": "#/components/responses/429"
 24020            }
 24021          },
 24022          "x-code-samples": [
 24023            {
 24024              "lang": "Curl",
 24025              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/locales/:locale_id/translations?branch=my-feature-branch&sort=updated_at&order=desc&q=PhraseApp*%2520unverified:true%2520excluded:true%2520tags:feature,center\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 24026            },
 24027            {
 24028              "lang": "CLI v2",
 24029              "source": "phrase translations by_locale \\\n--project_id <project_id> \\\n--locale_id <locale_id> \\\n--branch my-feature-branch \\\n--sort updated_at \\\n--order desc \\\n--query 'PhraseApp*%20unverified:true%20excluded:true%20tags:feature,center' \\\n--access_token <token>"
 24030            }
 24031          ],
 24032          "x-cli-version": "2.5"
 24033        }
 24034      },
 24035      "/projects/{project_id}/keys/{key_id}/translations": {
 24036        "get": {
 24037          "summary": "List translations by key",
 24038          "description": "List translations for a specific key.",
 24039          "operationId": "translations/by_key",
 24040          "tags": [
 24041            "Translations"
 24042          ],
 24043          "parameters": [
 24044            {
 24045              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24046            },
 24047            {
 24048              "$ref": "#/components/parameters/project_id"
 24049            },
 24050            {
 24051              "$ref": "#/components/parameters/key_id"
 24052            },
 24053            {
 24054              "$ref": "#/components/parameters/page"
 24055            },
 24056            {
 24057              "$ref": "#/components/parameters/per_page"
 24058            },
 24059            {
 24060              "description": "specify the branch to use",
 24061              "example": "my-feature-branch",
 24062              "name": "branch",
 24063              "in": "query",
 24064              "schema": {
 24065                "type": "string"
 24066              }
 24067            },
 24068            {
 24069              "description": "Sort criteria. Can be one of: key_name, created_at, updated_at.",
 24070              "example": "updated_at",
 24071              "name": "sort",
 24072              "in": "query",
 24073              "schema": {
 24074                "type": "string"
 24075              }
 24076            },
 24077            {
 24078              "description": "Order direction. Can be one of: asc, desc.",
 24079              "example": "desc",
 24080              "name": "order",
 24081              "in": "query",
 24082              "schema": {
 24083                "type": "string"
 24084              }
 24085            },
 24086            {
 24087              "description": "Specify a query to find translations by content (including wildcards).<br><br>\nThe following qualifiers are supported in the query:<br>\n<ul>\n  <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>unverified:{true|false}</code> for verification status</li>\n  <li><code>tags:XYZ</code> for tags on the translation</li>\n  <li><code>excluded:{true|false}</code> for exclusion status</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 24088              "example": "PhraseApp*%20unverified:true%20excluded:true%20tags:feature,center",
 24089              "name": "q",
 24090              "in": "query",
 24091              "schema": {
 24092                "type": "string"
 24093              }
 24094            }
 24095          ],
 24096          "responses": {
 24097            "200": {
 24098              "description": "OK",
 24099              "content": {
 24100                "application/json": {
 24101                  "schema": {
 24102                    "type": "array",
 24103                    "items": {
 24104                      "$ref": "#/components/schemas/translation"
 24105                    }
 24106                  }
 24107                }
 24108              },
 24109              "headers": {
 24110                "X-Rate-Limit-Limit": {
 24111                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24112                },
 24113                "X-Rate-Limit-Remaining": {
 24114                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24115                },
 24116                "X-Rate-Limit-Reset": {
 24117                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24118                },
 24119                "Link": {
 24120                  "$ref": "#/components/headers/Link"
 24121                },
 24122                "Pagination": {
 24123                  "$ref": "#/components/headers/Pagination"
 24124                }
 24125              }
 24126            },
 24127            "400": {
 24128              "$ref": "#/components/responses/400"
 24129            },
 24130            "404": {
 24131              "$ref": "#/components/responses/404"
 24132            },
 24133            "429": {
 24134              "$ref": "#/components/responses/429"
 24135            }
 24136          },
 24137          "x-code-samples": [
 24138            {
 24139              "lang": "Curl",
 24140              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/keys/:key_id/translations?branch=my-feature-branch&sort=updated_at&order=desc&q=PhraseApp*%2520unverified:true%2520excluded:true%2520tags:feature,center\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 24141            },
 24142            {
 24143              "lang": "CLI v2",
 24144              "source": "phrase translations by_key \\\n--project_id <project_id> \\\n--key_id <key_id> \\\n--branch my-feature-branch \\\n--sort updated_at \\\n--order desc \\\n--query 'PhraseApp*%20unverified:true%20excluded:true%20tags:feature,center' \\\n--access_token <token>"
 24145            }
 24146          ],
 24147          "x-cli-version": "2.5"
 24148        }
 24149      },
 24150      "/projects/{project_id}/translations/search": {
 24151        "post": {
 24152          "summary": "Search translations",
 24153          "description": "Search translations for the given project. Provides the same search interface as <code>translations#index</code> but allows POST requests to avoid limitations imposed by GET requests. If you want to download all translations for one locale we recommend to use the <code>locales#download</code> endpoint.",
 24154          "operationId": "translations/search",
 24155          "tags": [
 24156            "Translations"
 24157          ],
 24158          "parameters": [
 24159            {
 24160              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24161            },
 24162            {
 24163              "$ref": "#/components/parameters/project_id"
 24164            },
 24165            {
 24166              "$ref": "#/components/parameters/page"
 24167            },
 24168            {
 24169              "$ref": "#/components/parameters/per_page"
 24170            }
 24171          ],
 24172          "responses": {
 24173            "200": {
 24174              "description": "OK",
 24175              "content": {
 24176                "application/json": {
 24177                  "schema": {
 24178                    "type": "array",
 24179                    "items": {
 24180                      "$ref": "#/components/schemas/translation"
 24181                    }
 24182                  }
 24183                }
 24184              },
 24185              "headers": {
 24186                "X-Rate-Limit-Limit": {
 24187                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24188                },
 24189                "X-Rate-Limit-Remaining": {
 24190                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24191                },
 24192                "X-Rate-Limit-Reset": {
 24193                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24194                }
 24195              }
 24196            },
 24197            "400": {
 24198              "$ref": "#/components/responses/400"
 24199            },
 24200            "404": {
 24201              "$ref": "#/components/responses/404"
 24202            },
 24203            "429": {
 24204              "$ref": "#/components/responses/429"
 24205            }
 24206          },
 24207          "x-code-samples": [
 24208            {
 24209              "lang": "Curl",
 24210              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/search\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"branch\":\"my-feature-branch\",\"sort\":\"updated_at\",\"order\":\"desc\",\"q\":\"PhraseApp*%20unverified:true%20excluded:true%20tags:feature,center\"}' \\\n  -H 'Content-Type: application/json'"
 24211            },
 24212            {
 24213              "lang": "CLI v2",
 24214              "source": "phrase translations search \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"sort\":\"updated_at\", \"order\":\"desc\", \"q\":\"'PhraseApp*%20unverified:true%20excluded:true%20tags:feature,center'\"}' \\\n--access_token <token>"
 24215            }
 24216          ],
 24217          "requestBody": {
 24218            "required": true,
 24219            "content": {
 24220              "application/json": {
 24221                "schema": {
 24222                  "type": "object",
 24223                  "title": "translations/search/parameters",
 24224                  "properties": {
 24225                    "branch": {
 24226                      "description": "specify the branch to use",
 24227                      "type": "string",
 24228                      "example": "my-feature-branch"
 24229                    },
 24230                    "sort": {
 24231                      "description": "Sort criteria. Can be one of: key_name, created_at, updated_at.",
 24232                      "type": "string",
 24233                      "example": "updated_at"
 24234                    },
 24235                    "order": {
 24236                      "description": "Order direction. Can be one of: asc, desc.",
 24237                      "type": "string",
 24238                      "example": "desc"
 24239                    },
 24240                    "q": {
 24241                      "description": "Specify a query to find translations by content (including wildcards).<br><br>\n<i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br>\nThe following qualifiers are supported in the query:<br>\n<ul>\n  <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>tags:XYZ</code> for tags on the translation</li>\n  <li><code>unverified:{true|false}</code> for verification status</li>\n  <li><code>excluded:{true|false}</code> for exclusion status</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 24242                      "type": "string",
 24243                      "example": "PhraseApp*%20unverified:true%20excluded:true%20tags:feature,center"
 24244                    }
 24245                  }
 24246                }
 24247              }
 24248            }
 24249          },
 24250          "x-cli-version": "2.5"
 24251        }
 24252      },
 24253      "/projects/{project_id}/translations/{id}": {
 24254        "get": {
 24255          "summary": "Get a single translation",
 24256          "description": "Get details on a single translation.",
 24257          "operationId": "translation/show",
 24258          "tags": [
 24259            "Translations"
 24260          ],
 24261          "parameters": [
 24262            {
 24263              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24264            },
 24265            {
 24266              "$ref": "#/components/parameters/project_id"
 24267            },
 24268            {
 24269              "$ref": "#/components/parameters/id"
 24270            },
 24271            {
 24272              "description": "specify the branch to use",
 24273              "example": "my-feature-branch",
 24274              "name": "branch",
 24275              "in": "query",
 24276              "schema": {
 24277                "type": "string"
 24278              }
 24279            }
 24280          ],
 24281          "responses": {
 24282            "200": {
 24283              "description": "OK",
 24284              "content": {
 24285                "application/json": {
 24286                  "schema": {
 24287                    "$ref": "#/components/schemas/translation_details"
 24288                  }
 24289                }
 24290              },
 24291              "headers": {
 24292                "X-Rate-Limit-Limit": {
 24293                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24294                },
 24295                "X-Rate-Limit-Remaining": {
 24296                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24297                },
 24298                "X-Rate-Limit-Reset": {
 24299                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24300                }
 24301              }
 24302            },
 24303            "400": {
 24304              "$ref": "#/components/responses/400"
 24305            },
 24306            "404": {
 24307              "$ref": "#/components/responses/404"
 24308            },
 24309            "429": {
 24310              "$ref": "#/components/responses/429"
 24311            }
 24312          },
 24313          "x-code-samples": [
 24314            {
 24315              "lang": "Curl",
 24316              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 24317            },
 24318            {
 24319              "lang": "CLI v2",
 24320              "source": "phrase translations show \\\n--project_id <project_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 24321            }
 24322          ],
 24323          "x-cli-version": "2.5"
 24324        },
 24325        "patch": {
 24326          "summary": "Update a translation",
 24327          "description": "Update an existing translation.",
 24328          "operationId": "translation/update",
 24329          "tags": [
 24330            "Translations"
 24331          ],
 24332          "parameters": [
 24333            {
 24334              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24335            },
 24336            {
 24337              "$ref": "#/components/parameters/project_id"
 24338            },
 24339            {
 24340              "$ref": "#/components/parameters/id"
 24341            }
 24342          ],
 24343          "responses": {
 24344            "200": {
 24345              "description": "OK",
 24346              "content": {
 24347                "application/json": {
 24348                  "schema": {
 24349                    "$ref": "#/components/schemas/translation_details"
 24350                  }
 24351                }
 24352              },
 24353              "headers": {
 24354                "X-Rate-Limit-Limit": {
 24355                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24356                },
 24357                "X-Rate-Limit-Remaining": {
 24358                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24359                },
 24360                "X-Rate-Limit-Reset": {
 24361                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24362                }
 24363              }
 24364            },
 24365            "400": {
 24366              "$ref": "#/components/responses/400"
 24367            },
 24368            "404": {
 24369              "$ref": "#/components/responses/404"
 24370            },
 24371            "429": {
 24372              "$ref": "#/components/responses/429"
 24373            }
 24374          },
 24375          "x-code-samples": [
 24376            {
 24377              "lang": "Curl",
 24378              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"content\":\"My translation\"}' \\\n  -H 'Content-Type: application/json'"
 24379            },
 24380            {
 24381              "lang": "CLI v2",
 24382              "source": "phrase translations update \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\", \"content\": \"My translation\"}' \\\n--access_token <token>"
 24383            }
 24384          ],
 24385          "requestBody": {
 24386            "required": true,
 24387            "content": {
 24388              "application/json": {
 24389                "schema": {
 24390                  "type": "object",
 24391                  "title": "translation/update/parameters",
 24392                  "properties": {
 24393                    "branch": {
 24394                      "description": "specify the branch to use",
 24395                      "type": "string",
 24396                      "example": "my-feature-branch"
 24397                    },
 24398                    "content": {
 24399                      "description": "Translation content",
 24400                      "type": "string",
 24401                      "example": "My translation"
 24402                    },
 24403                    "plural_suffix": {
 24404                      "description": "Plural suffix. Can be one of: zero, one, two, few, many, other. Must be specified if the key associated to the translation is pluralized.",
 24405                      "type": "string",
 24406                      "example": null
 24407                    },
 24408                    "unverified": {
 24409                      "description": "Indicates whether translation is unverified. Part of the <a href=\"https://support.phrase.com/hc/en-us/articles/5784094755484\" target=\"_blank\">Advanced Workflows</a> feature.",
 24410                      "type": "boolean",
 24411                      "example": null
 24412                    },
 24413                    "excluded": {
 24414                      "description": "Indicates whether translation is excluded.",
 24415                      "type": "boolean",
 24416                      "example": null
 24417                    },
 24418                    "autotranslate": {
 24419                      "description": "Indicates whether the translation should be auto-translated. Responses with status 422 if provided for translation within a non-default locale or the project does not have the Autopilot feature enabled.",
 24420                      "type": "boolean",
 24421                      "example": null
 24422                    }
 24423                  }
 24424                }
 24425              }
 24426            }
 24427          },
 24428          "x-cli-version": "2.5"
 24429        }
 24430      },
 24431      "/projects/{project_id}/translations/{id}/verify": {
 24432        "patch": {
 24433          "summary": "Verify a translation",
 24434          "description": "Verify an existing translation.",
 24435          "operationId": "translation/verify",
 24436          "tags": [
 24437            "Translations"
 24438          ],
 24439          "parameters": [
 24440            {
 24441              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24442            },
 24443            {
 24444              "$ref": "#/components/parameters/project_id"
 24445            },
 24446            {
 24447              "$ref": "#/components/parameters/id"
 24448            }
 24449          ],
 24450          "responses": {
 24451            "200": {
 24452              "description": "OK",
 24453              "content": {
 24454                "application/json": {
 24455                  "schema": {
 24456                    "$ref": "#/components/schemas/translation_details"
 24457                  }
 24458                }
 24459              },
 24460              "headers": {
 24461                "X-Rate-Limit-Limit": {
 24462                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24463                },
 24464                "X-Rate-Limit-Remaining": {
 24465                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24466                },
 24467                "X-Rate-Limit-Reset": {
 24468                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24469                }
 24470              }
 24471            },
 24472            "400": {
 24473              "$ref": "#/components/responses/400"
 24474            },
 24475            "404": {
 24476              "$ref": "#/components/responses/404"
 24477            },
 24478            "429": {
 24479              "$ref": "#/components/responses/429"
 24480            }
 24481          },
 24482          "x-code-samples": [
 24483            {
 24484              "lang": "Curl",
 24485              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/:id/verify\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 24486            },
 24487            {
 24488              "lang": "CLI v2",
 24489              "source": "phrase translations verify \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 24490            }
 24491          ],
 24492          "requestBody": {
 24493            "required": true,
 24494            "content": {
 24495              "application/json": {
 24496                "schema": {
 24497                  "type": "object",
 24498                  "title": "translation/verify/parameters",
 24499                  "properties": {
 24500                    "branch": {
 24501                      "description": "specify the branch to use",
 24502                      "type": "string",
 24503                      "example": "my-feature-branch"
 24504                    }
 24505                  }
 24506                }
 24507              }
 24508            }
 24509          },
 24510          "x-cli-version": "2.5"
 24511        }
 24512      },
 24513      "/projects/{project_id}/translations/{id}/unverify": {
 24514        "patch": {
 24515          "summary": "Mark a translation as unverified",
 24516          "description": "Mark an existing translation as unverified.",
 24517          "operationId": "translation/unverify",
 24518          "tags": [
 24519            "Translations"
 24520          ],
 24521          "parameters": [
 24522            {
 24523              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24524            },
 24525            {
 24526              "$ref": "#/components/parameters/project_id"
 24527            },
 24528            {
 24529              "$ref": "#/components/parameters/id"
 24530            }
 24531          ],
 24532          "responses": {
 24533            "200": {
 24534              "description": "OK",
 24535              "content": {
 24536                "application/json": {
 24537                  "schema": {
 24538                    "$ref": "#/components/schemas/translation_details"
 24539                  }
 24540                }
 24541              },
 24542              "headers": {
 24543                "X-Rate-Limit-Limit": {
 24544                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24545                },
 24546                "X-Rate-Limit-Remaining": {
 24547                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24548                },
 24549                "X-Rate-Limit-Reset": {
 24550                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24551                }
 24552              }
 24553            },
 24554            "400": {
 24555              "$ref": "#/components/responses/400"
 24556            },
 24557            "404": {
 24558              "$ref": "#/components/responses/404"
 24559            },
 24560            "429": {
 24561              "$ref": "#/components/responses/429"
 24562            }
 24563          },
 24564          "x-code-samples": [
 24565            {
 24566              "lang": "Curl",
 24567              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/:id/unverify\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 24568            },
 24569            {
 24570              "lang": "CLI v2",
 24571              "source": "phrase translations unverify \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 24572            }
 24573          ],
 24574          "requestBody": {
 24575            "required": true,
 24576            "content": {
 24577              "application/json": {
 24578                "schema": {
 24579                  "type": "object",
 24580                  "title": "translation/unverify/parameters",
 24581                  "properties": {
 24582                    "branch": {
 24583                      "description": "specify the branch to use",
 24584                      "type": "string",
 24585                      "example": "my-feature-branch"
 24586                    }
 24587                  }
 24588                }
 24589              }
 24590            }
 24591          },
 24592          "x-cli-version": "2.5"
 24593        }
 24594      },
 24595      "/projects/{project_id}/translations/{id}/review": {
 24596        "patch": {
 24597          "summary": "Review a translation",
 24598          "description": "Mark an existing translation as reviewed.",
 24599          "operationId": "translation/review",
 24600          "tags": [
 24601            "Translations"
 24602          ],
 24603          "parameters": [
 24604            {
 24605              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24606            },
 24607            {
 24608              "$ref": "#/components/parameters/project_id"
 24609            },
 24610            {
 24611              "$ref": "#/components/parameters/id"
 24612            }
 24613          ],
 24614          "responses": {
 24615            "200": {
 24616              "description": "OK",
 24617              "content": {
 24618                "application/json": {
 24619                  "schema": {
 24620                    "$ref": "#/components/schemas/translation_details"
 24621                  }
 24622                }
 24623              },
 24624              "headers": {
 24625                "X-Rate-Limit-Limit": {
 24626                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24627                },
 24628                "X-Rate-Limit-Remaining": {
 24629                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24630                },
 24631                "X-Rate-Limit-Reset": {
 24632                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24633                }
 24634              }
 24635            },
 24636            "400": {
 24637              "$ref": "#/components/responses/400"
 24638            },
 24639            "404": {
 24640              "$ref": "#/components/responses/404"
 24641            },
 24642            "429": {
 24643              "$ref": "#/components/responses/429"
 24644            }
 24645          },
 24646          "x-code-samples": [
 24647            {
 24648              "lang": "Curl",
 24649              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/:id/review\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 24650            },
 24651            {
 24652              "lang": "CLI v2",
 24653              "source": "phrase translations review \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 24654            }
 24655          ],
 24656          "requestBody": {
 24657            "required": true,
 24658            "content": {
 24659              "application/json": {
 24660                "schema": {
 24661                  "type": "object",
 24662                  "title": "translation/review/parameters",
 24663                  "properties": {
 24664                    "branch": {
 24665                      "description": "specify the branch to use",
 24666                      "type": "string",
 24667                      "example": "my-feature-branch"
 24668                    }
 24669                  }
 24670                }
 24671              }
 24672            }
 24673          },
 24674          "x-cli-version": "2.5"
 24675        }
 24676      },
 24677      "/projects/{project_id}/translations/{id}/exclude": {
 24678        "patch": {
 24679          "summary": "Exclude a translation from export",
 24680          "description": "Set exclude from export flag on an existing translation.",
 24681          "operationId": "translation/exclude",
 24682          "tags": [
 24683            "Translations"
 24684          ],
 24685          "parameters": [
 24686            {
 24687              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24688            },
 24689            {
 24690              "$ref": "#/components/parameters/project_id"
 24691            },
 24692            {
 24693              "$ref": "#/components/parameters/id"
 24694            }
 24695          ],
 24696          "responses": {
 24697            "200": {
 24698              "description": "OK",
 24699              "content": {
 24700                "application/json": {
 24701                  "schema": {
 24702                    "$ref": "#/components/schemas/translation_details"
 24703                  }
 24704                }
 24705              },
 24706              "headers": {
 24707                "X-Rate-Limit-Limit": {
 24708                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24709                },
 24710                "X-Rate-Limit-Remaining": {
 24711                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24712                },
 24713                "X-Rate-Limit-Reset": {
 24714                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24715                }
 24716              }
 24717            },
 24718            "400": {
 24719              "$ref": "#/components/responses/400"
 24720            },
 24721            "404": {
 24722              "$ref": "#/components/responses/404"
 24723            },
 24724            "429": {
 24725              "$ref": "#/components/responses/429"
 24726            }
 24727          },
 24728          "x-code-samples": [
 24729            {
 24730              "lang": "Curl",
 24731              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/:id/exclude\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 24732            },
 24733            {
 24734              "lang": "CLI v2",
 24735              "source": "phrase translations exclude \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 24736            }
 24737          ],
 24738          "requestBody": {
 24739            "required": true,
 24740            "content": {
 24741              "application/json": {
 24742                "schema": {
 24743                  "type": "object",
 24744                  "title": "translation/exclude/parameters",
 24745                  "properties": {
 24746                    "branch": {
 24747                      "description": "specify the branch to use",
 24748                      "type": "string",
 24749                      "example": "my-feature-branch"
 24750                    }
 24751                  }
 24752                }
 24753              }
 24754            }
 24755          },
 24756          "x-cli-version": "2.5"
 24757        }
 24758      },
 24759      "/projects/{project_id}/translations/{id}/include": {
 24760        "patch": {
 24761          "summary": "Include a translation",
 24762          "description": "Remove exclude from export flag from an existing translation.",
 24763          "operationId": "translation/include",
 24764          "tags": [
 24765            "Translations"
 24766          ],
 24767          "parameters": [
 24768            {
 24769              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24770            },
 24771            {
 24772              "$ref": "#/components/parameters/project_id"
 24773            },
 24774            {
 24775              "$ref": "#/components/parameters/id"
 24776            }
 24777          ],
 24778          "responses": {
 24779            "200": {
 24780              "description": "OK",
 24781              "content": {
 24782                "application/json": {
 24783                  "schema": {
 24784                    "$ref": "#/components/schemas/translation_details"
 24785                  }
 24786                }
 24787              },
 24788              "headers": {
 24789                "X-Rate-Limit-Limit": {
 24790                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24791                },
 24792                "X-Rate-Limit-Remaining": {
 24793                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24794                },
 24795                "X-Rate-Limit-Reset": {
 24796                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24797                }
 24798              }
 24799            },
 24800            "400": {
 24801              "$ref": "#/components/responses/400"
 24802            },
 24803            "404": {
 24804              "$ref": "#/components/responses/404"
 24805            },
 24806            "429": {
 24807              "$ref": "#/components/responses/429"
 24808            }
 24809          },
 24810          "x-code-samples": [
 24811            {
 24812              "lang": "Curl",
 24813              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/:id/include\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 24814            },
 24815            {
 24816              "lang": "CLI v2",
 24817              "source": "phrase translations include \\\n--project_id <project_id> \\\n--id <id> \\\n--data '{\"branch\":\"my-feature-branch\"}' \\\n--access_token <token>"
 24818            }
 24819          ],
 24820          "requestBody": {
 24821            "required": true,
 24822            "content": {
 24823              "application/json": {
 24824                "schema": {
 24825                  "type": "object",
 24826                  "title": "translation/include/parameters",
 24827                  "properties": {
 24828                    "branch": {
 24829                      "description": "specify the branch to use",
 24830                      "type": "string",
 24831                      "example": "my-feature-branch"
 24832                    }
 24833                  }
 24834                }
 24835              }
 24836            }
 24837          },
 24838          "x-cli-version": "2.5"
 24839        }
 24840      },
 24841      "/projects/{project_id}/translations/verify": {
 24842        "patch": {
 24843          "summary": "Verify translations by query",
 24844          "description": "Verify translations matching query.",
 24845          "operationId": "translations/verify-collection",
 24846          "tags": [
 24847            "Translations"
 24848          ],
 24849          "parameters": [
 24850            {
 24851              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24852            },
 24853            {
 24854              "$ref": "#/components/parameters/project_id"
 24855            }
 24856          ],
 24857          "responses": {
 24858            "200": {
 24859              "description": "OK",
 24860              "content": {
 24861                "application/json": {
 24862                  "schema": {
 24863                    "$ref": "#/components/schemas/affected_count"
 24864                  }
 24865                }
 24866              },
 24867              "headers": {
 24868                "X-Rate-Limit-Limit": {
 24869                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24870                },
 24871                "X-Rate-Limit-Remaining": {
 24872                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24873                },
 24874                "X-Rate-Limit-Reset": {
 24875                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24876                }
 24877              }
 24878            },
 24879            "400": {
 24880              "$ref": "#/components/responses/400"
 24881            },
 24882            "404": {
 24883              "$ref": "#/components/responses/404"
 24884            },
 24885            "429": {
 24886              "$ref": "#/components/responses/429"
 24887            }
 24888          },
 24889          "x-code-samples": [
 24890            {
 24891              "lang": "Curl",
 24892              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/verify\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"q\":\"PhraseApp*%20unverified:true%20tags:feature,center\"}' \\\n  -H 'Content-Type: application/json'"
 24893            },
 24894            {
 24895              "lang": "CLI v2",
 24896              "source": "phrase translations verify-collection \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"q\":\"'PhraseApp*%20unverified:true%20tags:feature,center'\"}' \\\n--access_token <token>"
 24897            }
 24898          ],
 24899          "requestBody": {
 24900            "required": true,
 24901            "content": {
 24902              "application/json": {
 24903                "schema": {
 24904                  "type": "object",
 24905                  "title": "translations/verify/parameters",
 24906                  "properties": {
 24907                    "branch": {
 24908                      "description": "specify the branch to use",
 24909                      "type": "string",
 24910                      "example": "my-feature-branch"
 24911                    },
 24912                    "locale_id": {
 24913                      "description": "specify the locale of the translations to be verified",
 24914                      "type": "string",
 24915                      "example": "fc2f11dd6a658fa9652f6f0a9ebee688"
 24916                    },
 24917                    "q": {
 24918                      "description": "Specify a query to find translations by content (including wildcards).<br><br>\n<i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br>\nThe following qualifiers are supported in the query:<br>\n<ul>\n  <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>tags:XYZ</code> for tags on the translation</li>\n  <li><code>unverified:{true|false}</code> for verification status</li>\n  <li><code>excluded:{true|false}</code> for exclusion status</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 24919                      "type": "string",
 24920                      "example": "PhraseApp*%20unverified:true%20tags:feature,center"
 24921                    }
 24922                  }
 24923                }
 24924              }
 24925            }
 24926          },
 24927          "x-cli-version": "2.5"
 24928        }
 24929      },
 24930      "/projects/{project_id}/translations/unverify": {
 24931        "patch": {
 24932          "summary": "Unverify translations by query",
 24933          "description": "Mark translations matching query as unverified.",
 24934          "operationId": "translations/unverify-collection",
 24935          "tags": [
 24936            "Translations"
 24937          ],
 24938          "parameters": [
 24939            {
 24940              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 24941            },
 24942            {
 24943              "$ref": "#/components/parameters/project_id"
 24944            }
 24945          ],
 24946          "responses": {
 24947            "200": {
 24948              "description": "OK",
 24949              "content": {
 24950                "application/json": {
 24951                  "schema": {
 24952                    "$ref": "#/components/schemas/affected_count"
 24953                  }
 24954                }
 24955              },
 24956              "headers": {
 24957                "X-Rate-Limit-Limit": {
 24958                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 24959                },
 24960                "X-Rate-Limit-Remaining": {
 24961                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 24962                },
 24963                "X-Rate-Limit-Reset": {
 24964                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 24965                }
 24966              }
 24967            },
 24968            "400": {
 24969              "$ref": "#/components/responses/400"
 24970            },
 24971            "404": {
 24972              "$ref": "#/components/responses/404"
 24973            },
 24974            "429": {
 24975              "$ref": "#/components/responses/429"
 24976            }
 24977          },
 24978          "x-code-samples": [
 24979            {
 24980              "lang": "Curl",
 24981              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/unverify\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"q\":\"PhraseApp*%20verified:true%20tags:feature,center\",\"sort\":\"updated_at\",\"order\":\"desc\"}' \\\n  -H 'Content-Type: application/json'"
 24982            },
 24983            {
 24984              "lang": "CLI v2",
 24985              "source": "phrase translations unverify-collection \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"q\":\"'PhraseApp*%20verified:true%20tags:feature,center'\", \"sort\":\"updated_at\", \"order\":\"desc\"}' \\\n--access_token <token>"
 24986            }
 24987          ],
 24988          "requestBody": {
 24989            "required": true,
 24990            "content": {
 24991              "application/json": {
 24992                "schema": {
 24993                  "type": "object",
 24994                  "title": "translations/unverify/parameters",
 24995                  "properties": {
 24996                    "branch": {
 24997                      "description": "specify the branch to use",
 24998                      "type": "string",
 24999                      "example": "my-feature-branch"
 25000                    },
 25001                    "q": {
 25002                      "description": "Specify a query to find translations by content (including wildcards).<br><br>\n<i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br>\nThe following qualifiers are supported in the query:<br>\n<ul>\n  <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>tags:XYZ</code> for tags on the translation</li>\n  <li><code>unverified:{true|false}</code> for verification status</li>\n  <li><code>excluded:{true|false}</code> for exclusion status</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 25003                      "type": "string",
 25004                      "example": "PhraseApp*%20verified:true%20tags:feature,center"
 25005                    },
 25006                    "sort": {
 25007                      "description": "Sort criteria. Can be one of: key_name, created_at, updated_at.",
 25008                      "type": "string",
 25009                      "example": "updated_at"
 25010                    },
 25011                    "order": {
 25012                      "description": "Order direction. Can be one of: asc, desc.",
 25013                      "type": "string",
 25014                      "example": "desc"
 25015                    }
 25016                  }
 25017                }
 25018              }
 25019            }
 25020          },
 25021          "x-cli-version": "2.5"
 25022        }
 25023      },
 25024      "/projects/{project_id}/translations/review": {
 25025        "patch": {
 25026          "summary": "Review translations selected by query",
 25027          "description": "Review translations matching query.",
 25028          "operationId": "translations/review-collection",
 25029          "tags": [
 25030            "Translations"
 25031          ],
 25032          "parameters": [
 25033            {
 25034              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25035            },
 25036            {
 25037              "$ref": "#/components/parameters/project_id"
 25038            }
 25039          ],
 25040          "responses": {
 25041            "200": {
 25042              "description": "OK",
 25043              "content": {
 25044                "application/json": {
 25045                  "schema": {
 25046                    "$ref": "#/components/schemas/affected_count"
 25047                  }
 25048                }
 25049              },
 25050              "headers": {
 25051                "X-Rate-Limit-Limit": {
 25052                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25053                },
 25054                "X-Rate-Limit-Remaining": {
 25055                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25056                },
 25057                "X-Rate-Limit-Reset": {
 25058                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25059                }
 25060              }
 25061            },
 25062            "400": {
 25063              "$ref": "#/components/responses/400"
 25064            },
 25065            "404": {
 25066              "$ref": "#/components/responses/404"
 25067            },
 25068            "429": {
 25069              "$ref": "#/components/responses/429"
 25070            }
 25071          },
 25072          "x-code-samples": [
 25073            {
 25074              "lang": "Curl",
 25075              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/review\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"q\":\"PhraseApp*%reviewed:false%20tags:feature,center\"}' \\\n  -H 'Content-Type: application/json'"
 25076            },
 25077            {
 25078              "lang": "CLI v2",
 25079              "source": "phrase translations review-collection \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"q\":\"'PhraseApp*%reviewed:false%20tags:feature,center'\"}' \\\n--access_token <token>"
 25080            }
 25081          ],
 25082          "requestBody": {
 25083            "required": true,
 25084            "content": {
 25085              "application/json": {
 25086                "schema": {
 25087                  "type": "object",
 25088                  "title": "translations/review/parameters",
 25089                  "properties": {
 25090                    "branch": {
 25091                      "description": "specify the branch to use",
 25092                      "type": "string",
 25093                      "example": "my-feature-branch"
 25094                    },
 25095                    "q": {
 25096                      "description": "Specify a query to find translations by content (including wildcards).<br><br>\n<i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br>\nThe following qualifiers are supported in the query:<br>\n<ul>\n  <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>tags:XYZ</code> for tags on the translation</li>\n  <li><code>unverified:{true|false}</code> for verification status</li>\n  <li><code>excluded:{true|false}</code> for exclusion status</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 25097                      "type": "string",
 25098                      "example": "PhraseApp*%reviewed:false%20tags:feature,center"
 25099                    }
 25100                  }
 25101                }
 25102              }
 25103            }
 25104          },
 25105          "x-cli-version": "2.5"
 25106        }
 25107      },
 25108      "/projects/{project_id}/translations/exclude": {
 25109        "patch": {
 25110          "summary": "Exclude translations by query",
 25111          "description": "Exclude translations matching query from locale export.",
 25112          "operationId": "translations/exclude-collection",
 25113          "tags": [
 25114            "Translations"
 25115          ],
 25116          "parameters": [
 25117            {
 25118              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25119            },
 25120            {
 25121              "$ref": "#/components/parameters/project_id"
 25122            }
 25123          ],
 25124          "responses": {
 25125            "200": {
 25126              "description": "OK",
 25127              "content": {
 25128                "application/json": {
 25129                  "schema": {
 25130                    "$ref": "#/components/schemas/affected_count"
 25131                  }
 25132                }
 25133              },
 25134              "headers": {
 25135                "X-Rate-Limit-Limit": {
 25136                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25137                },
 25138                "X-Rate-Limit-Remaining": {
 25139                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25140                },
 25141                "X-Rate-Limit-Reset": {
 25142                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25143                }
 25144              }
 25145            },
 25146            "400": {
 25147              "$ref": "#/components/responses/400"
 25148            },
 25149            "404": {
 25150              "$ref": "#/components/responses/404"
 25151            },
 25152            "429": {
 25153              "$ref": "#/components/responses/429"
 25154            }
 25155          },
 25156          "x-code-samples": [
 25157            {
 25158              "lang": "Curl",
 25159              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/exclude\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"q\":\"PhraseApp*%20verified:true%20tags:feature,center\",\"sort\":\"updated_at\",\"order\":\"desc\"}' \\\n  -H 'Content-Type: application/json'"
 25160            },
 25161            {
 25162              "lang": "CLI v2",
 25163              "source": "phrase translations exclude-collection \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"q\":\"'PhraseApp*%20verified:true%20tags:feature,center'\", \"sort\":\"updated_at\", \"order\":\"desc\"}' \\\n--access_token <token>"
 25164            }
 25165          ],
 25166          "requestBody": {
 25167            "required": true,
 25168            "content": {
 25169              "application/json": {
 25170                "schema": {
 25171                  "type": "object",
 25172                  "title": "translations/exclude/parameters",
 25173                  "properties": {
 25174                    "branch": {
 25175                      "description": "specify the branch to use",
 25176                      "type": "string",
 25177                      "example": "my-feature-branch"
 25178                    },
 25179                    "q": {
 25180                      "description": "Specify a query to find translations by content (including wildcards).<br><br>\n<i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br>\nThe following qualifiers are supported in the query:<br>\n<ul>\n  <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>tags:XYZ</code> for tags on the translation</li>\n  <li><code>unverified:{true|false}</code> for verification status</li>\n  <li><code>excluded:{true|false}</code> for exclusion status</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 25181                      "type": "string",
 25182                      "example": "PhraseApp*%20verified:true%20tags:feature,center"
 25183                    },
 25184                    "sort": {
 25185                      "description": "Sort criteria. Can be one of: key_name, created_at, updated_at.",
 25186                      "type": "string",
 25187                      "example": "updated_at"
 25188                    },
 25189                    "order": {
 25190                      "description": "Order direction. Can be one of: asc, desc.",
 25191                      "type": "string",
 25192                      "example": "desc"
 25193                    }
 25194                  }
 25195                }
 25196              }
 25197            }
 25198          },
 25199          "x-cli-version": "2.5"
 25200        }
 25201      },
 25202      "/projects/{project_id}/translations/include": {
 25203        "patch": {
 25204          "summary": "Include translations by query",
 25205          "description": "Include translations matching query in locale export.",
 25206          "operationId": "translations/include-collection",
 25207          "tags": [
 25208            "Translations"
 25209          ],
 25210          "parameters": [
 25211            {
 25212              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25213            },
 25214            {
 25215              "$ref": "#/components/parameters/project_id"
 25216            }
 25217          ],
 25218          "responses": {
 25219            "200": {
 25220              "description": "OK",
 25221              "content": {
 25222                "application/json": {
 25223                  "schema": {
 25224                    "$ref": "#/components/schemas/affected_count"
 25225                  }
 25226                }
 25227              },
 25228              "headers": {
 25229                "X-Rate-Limit-Limit": {
 25230                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25231                },
 25232                "X-Rate-Limit-Remaining": {
 25233                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25234                },
 25235                "X-Rate-Limit-Reset": {
 25236                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25237                }
 25238              }
 25239            },
 25240            "400": {
 25241              "$ref": "#/components/responses/400"
 25242            },
 25243            "404": {
 25244              "$ref": "#/components/responses/404"
 25245            },
 25246            "429": {
 25247              "$ref": "#/components/responses/429"
 25248            }
 25249          },
 25250          "x-code-samples": [
 25251            {
 25252              "lang": "Curl",
 25253              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/translations/include\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"branch\":\"my-feature-branch\",\"q\":\"PhraseApp*%20verified:true%20tags:feature,center\",\"sort\":\"updated_at\",\"order\":\"desc\"}' \\\n  -H 'Content-Type: application/json'"
 25254            },
 25255            {
 25256              "lang": "CLI v2",
 25257              "source": "phrase translations include-collection \\\n--project_id <project_id> \\\n--data '{\"branch\":\"my-feature-branch\", \"q\":\"'PhraseApp*%20verified:true%20tags:feature,center'\", \"sort\":\"updated_at\", \"order\":\"desc\"}' \\\n--access_token <token>"
 25258            }
 25259          ],
 25260          "requestBody": {
 25261            "required": true,
 25262            "content": {
 25263              "application/json": {
 25264                "schema": {
 25265                  "type": "object",
 25266                  "title": "translations/include/parameters",
 25267                  "properties": {
 25268                    "branch": {
 25269                      "description": "specify the branch to use",
 25270                      "type": "string",
 25271                      "example": "my-feature-branch"
 25272                    },
 25273                    "q": {
 25274                      "description": "Specify a query to find translations by content (including wildcards).<br><br>\n<i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br>\nThe following qualifiers are supported in the query:<br>\n<ul>\n  <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li>\n  <li><code>tags:XYZ</code> for tags on the translation</li>\n  <li><code>unverified:{true|false}</code> for verification status</li>\n  <li><code>excluded:{true|false}</code> for exclusion status</li>\n  <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li>\n</ul>\nFind more examples <a href=\"#overview--usage-examples\">here</a>.\n",
 25275                      "type": "string",
 25276                      "example": "PhraseApp*%20verified:true%20tags:feature,center"
 25277                    },
 25278                    "sort": {
 25279                      "description": "Sort criteria. Can be one of: key_name, created_at, updated_at.",
 25280                      "type": "string",
 25281                      "example": "updated_at"
 25282                    },
 25283                    "order": {
 25284                      "description": "Order direction. Can be one of: asc, desc.",
 25285                      "type": "string",
 25286                      "example": "desc"
 25287                    }
 25288                  }
 25289                }
 25290              }
 25291            }
 25292          },
 25293          "x-cli-version": "2.5"
 25294        }
 25295      },
 25296      "/notifications": {
 25297        "get": {
 25298          "summary": "List notifications",
 25299          "description": "List all notifications from the current user",
 25300          "operationId": "notifications/list",
 25301          "tags": [
 25302            "Notifications"
 25303          ],
 25304          "parameters": [
 25305            {
 25306              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25307            },
 25308            {
 25309              "$ref": "#/components/parameters/page"
 25310            },
 25311            {
 25312              "$ref": "#/components/parameters/per_page"
 25313            },
 25314            {
 25315              "description": "Include only unseen notifications",
 25316              "example": true,
 25317              "name": "unseen",
 25318              "in": "query",
 25319              "schema": {
 25320                "type": "boolean"
 25321              }
 25322            }
 25323          ],
 25324          "responses": {
 25325            "200": {
 25326              "description": "OK",
 25327              "content": {
 25328                "application/json": {
 25329                  "schema": {
 25330                    "type": "array",
 25331                    "items": {
 25332                      "$ref": "#/components/schemas/notification"
 25333                    }
 25334                  }
 25335                }
 25336              },
 25337              "headers": {
 25338                "X-Rate-Limit-Limit": {
 25339                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25340                },
 25341                "X-Rate-Limit-Remaining": {
 25342                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25343                },
 25344                "X-Rate-Limit-Reset": {
 25345                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25346                },
 25347                "Link": {
 25348                  "$ref": "#/components/headers/Link"
 25349                },
 25350                "Pagination": {
 25351                  "$ref": "#/components/headers/Pagination"
 25352                }
 25353              }
 25354            },
 25355            "400": {
 25356              "$ref": "#/components/responses/400"
 25357            },
 25358            "404": {
 25359              "$ref": "#/components/responses/404"
 25360            },
 25361            "429": {
 25362              "$ref": "#/components/responses/429"
 25363            }
 25364          },
 25365          "x-code-samples": [
 25366            {
 25367              "lang": "Curl",
 25368              "source": "curl \"https://api.phrase.com/v2/notifications\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 25369            },
 25370            {
 25371              "lang": "CLI v2",
 25372              "source": "phrase notifications list \\\n--access_token <token>"
 25373            }
 25374          ],
 25375          "x-cli-version": "2.5"
 25376        }
 25377      },
 25378      "/notifications/mark_all_as_read": {
 25379        "post": {
 25380          "summary": "Mark all notifications as read",
 25381          "description": "Mark all notifications of the current user as read",
 25382          "operationId": "notifications/mark_all_as_read",
 25383          "tags": [
 25384            "Notifications"
 25385          ],
 25386          "parameters": [
 25387            {
 25388              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25389            }
 25390          ],
 25391          "responses": {
 25392            "200": {
 25393              "description": "OK",
 25394              "content": {
 25395                "application/json": {
 25396                  "schema": {
 25397                    "type": "array",
 25398                    "items": {
 25399                      "$ref": "#/components/schemas/notification"
 25400                    }
 25401                  }
 25402                }
 25403              },
 25404              "headers": {
 25405                "X-Rate-Limit-Limit": {
 25406                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25407                },
 25408                "X-Rate-Limit-Remaining": {
 25409                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25410                },
 25411                "X-Rate-Limit-Reset": {
 25412                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25413                }
 25414              }
 25415            },
 25416            "400": {
 25417              "$ref": "#/components/responses/400"
 25418            },
 25419            "404": {
 25420              "$ref": "#/components/responses/404"
 25421            },
 25422            "429": {
 25423              "$ref": "#/components/responses/429"
 25424            }
 25425          },
 25426          "x-code-samples": [
 25427            {
 25428              "lang": "Curl",
 25429              "source": "curl \"https://api.phrase.com/v2/notifications/mark_all_as_read\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -H 'Content-Type: application/json'"
 25430            },
 25431            {
 25432              "lang": "CLI v2",
 25433              "source": "phrase notifications mark_all_as_read \\\n--access_token <token>"
 25434            }
 25435          ],
 25436          "x-cli-version": "2.5"
 25437        }
 25438      },
 25439      "/notifications/{id}": {
 25440        "get": {
 25441          "summary": "Get a single notification",
 25442          "description": "Get details on a single notification.",
 25443          "operationId": "notifications/show",
 25444          "tags": [
 25445            "Notifications"
 25446          ],
 25447          "parameters": [
 25448            {
 25449              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25450            },
 25451            {
 25452              "$ref": "#/components/parameters/id"
 25453            }
 25454          ],
 25455          "responses": {
 25456            "200": {
 25457              "description": "OK",
 25458              "content": {
 25459                "application/json": {
 25460                  "schema": {
 25461                    "$ref": "#/components/schemas/notification"
 25462                  }
 25463                }
 25464              },
 25465              "headers": {
 25466                "X-Rate-Limit-Limit": {
 25467                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25468                },
 25469                "X-Rate-Limit-Remaining": {
 25470                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25471                },
 25472                "X-Rate-Limit-Reset": {
 25473                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25474                }
 25475              }
 25476            },
 25477            "400": {
 25478              "$ref": "#/components/responses/400"
 25479            },
 25480            "401": {
 25481              "$ref": "#/components/responses/401"
 25482            },
 25483            "403": {
 25484              "$ref": "#/components/responses/403"
 25485            },
 25486            "404": {
 25487              "$ref": "#/components/responses/404"
 25488            },
 25489            "429": {
 25490              "$ref": "#/components/responses/429"
 25491            }
 25492          },
 25493          "x-code-samples": [
 25494            {
 25495              "lang": "Curl",
 25496              "source": "curl \"https://api.phrase.com/v2/notification/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 25497            },
 25498            {
 25499              "lang": "CLI v2",
 25500              "source": "phrase notifications show \\\n--id <id> \\\n--access_token <token>"
 25501            }
 25502          ],
 25503          "x-cli-version": "2.5"
 25504        }
 25505      },
 25506      "/notification_groups": {
 25507        "get": {
 25508          "summary": "List notification groups",
 25509          "description": "List all notification groups from the current user",
 25510          "operationId": "notification_groups/list",
 25511          "tags": [
 25512            "Notification Groups"
 25513          ],
 25514          "parameters": [
 25515            {
 25516              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25517            },
 25518            {
 25519              "$ref": "#/components/parameters/page"
 25520            },
 25521            {
 25522              "$ref": "#/components/parameters/per_page"
 25523            }
 25524          ],
 25525          "responses": {
 25526            "200": {
 25527              "description": "OK",
 25528              "content": {
 25529                "application/json": {
 25530                  "schema": {
 25531                    "type": "array",
 25532                    "items": {
 25533                      "$ref": "#/components/schemas/notification_group_detail"
 25534                    }
 25535                  }
 25536                }
 25537              },
 25538              "headers": {
 25539                "X-Rate-Limit-Limit": {
 25540                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25541                },
 25542                "X-Rate-Limit-Remaining": {
 25543                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25544                },
 25545                "X-Rate-Limit-Reset": {
 25546                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25547                },
 25548                "Link": {
 25549                  "$ref": "#/components/headers/Link"
 25550                },
 25551                "Pagination": {
 25552                  "$ref": "#/components/headers/Pagination"
 25553                }
 25554              }
 25555            },
 25556            "400": {
 25557              "$ref": "#/components/responses/400"
 25558            },
 25559            "404": {
 25560              "$ref": "#/components/responses/404"
 25561            },
 25562            "429": {
 25563              "$ref": "#/components/responses/429"
 25564            }
 25565          },
 25566          "x-code-samples": [
 25567            {
 25568              "lang": "Curl",
 25569              "source": "curl \"https://api.phrase.com/v2/notification_groups\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 25570            },
 25571            {
 25572              "lang": "CLI v2",
 25573              "source": "phrase notification_groups list \\\n--access_token <token>"
 25574            }
 25575          ],
 25576          "x-cli-version": "2.5"
 25577        }
 25578      },
 25579      "/notification_groups/mark_all_as_read": {
 25580        "patch": {
 25581          "summary": "Mark all notification groups as read",
 25582          "description": "Mark all notification groups of the current user as read",
 25583          "operationId": "notification_groups/mark_all_as_read",
 25584          "tags": [
 25585            "Notification Groups"
 25586          ],
 25587          "parameters": [
 25588            {
 25589              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25590            }
 25591          ],
 25592          "responses": {
 25593            "200": {
 25594              "description": "OK",
 25595              "content": {
 25596                "application/json": {
 25597                  "schema": {
 25598                    "type": "array",
 25599                    "items": {
 25600                      "$ref": "#/components/schemas/notification_group_detail"
 25601                    }
 25602                  }
 25603                }
 25604              },
 25605              "headers": {
 25606                "X-Rate-Limit-Limit": {
 25607                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25608                },
 25609                "X-Rate-Limit-Remaining": {
 25610                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25611                },
 25612                "X-Rate-Limit-Reset": {
 25613                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25614                }
 25615              }
 25616            },
 25617            "400": {
 25618              "$ref": "#/components/responses/400"
 25619            },
 25620            "404": {
 25621              "$ref": "#/components/responses/404"
 25622            },
 25623            "429": {
 25624              "$ref": "#/components/responses/429"
 25625            }
 25626          },
 25627          "x-code-samples": [
 25628            {
 25629              "lang": "Curl",
 25630              "source": "curl \"https://api.phrase.com/v2/notification_groups/mark_all_as_read\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -H 'Content-Type: application/json'"
 25631            },
 25632            {
 25633              "lang": "CLI v2",
 25634              "source": "phrase notification_groups mark_all_as_read \\\n--access_token <token>"
 25635            }
 25636          ],
 25637          "x-cli-version": "2.5"
 25638        }
 25639      },
 25640      "/notification_groups/{id}/mark_as_read": {
 25641        "patch": {
 25642          "summary": "Mark a notification group as read",
 25643          "description": "Mark a notifications group of the current user as read",
 25644          "operationId": "notification_groups/mark_as_read",
 25645          "tags": [
 25646            "Notification Groups"
 25647          ],
 25648          "parameters": [
 25649            {
 25650              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25651            },
 25652            {
 25653              "$ref": "#/components/parameters/id"
 25654            }
 25655          ],
 25656          "responses": {
 25657            "200": {
 25658              "description": "OK",
 25659              "content": {
 25660                "application/json": {
 25661                  "schema": {
 25662                    "$ref": "#/components/schemas/notification_group_detail"
 25663                  }
 25664                }
 25665              },
 25666              "headers": {
 25667                "X-Rate-Limit-Limit": {
 25668                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25669                },
 25670                "X-Rate-Limit-Remaining": {
 25671                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25672                },
 25673                "X-Rate-Limit-Reset": {
 25674                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25675                }
 25676              }
 25677            },
 25678            "400": {
 25679              "$ref": "#/components/responses/400"
 25680            },
 25681            "404": {
 25682              "$ref": "#/components/responses/404"
 25683            },
 25684            "429": {
 25685              "$ref": "#/components/responses/429"
 25686            }
 25687          },
 25688          "x-code-samples": [
 25689            {
 25690              "lang": "Curl",
 25691              "source": "curl \"https://api.phrase.com/v2/notification_groups/:id/mark_as_read\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -H 'Content-Type: application/json'"
 25692            },
 25693            {
 25694              "lang": "CLI v2",
 25695              "source": "phrase notification_groups mark_as_read \\\n--id <id> \\\n--access_token <token>"
 25696            }
 25697          ],
 25698          "x-cli-version": "2.5"
 25699        }
 25700      },
 25701      "/accounts/{account_id}/search": {
 25702        "post": {
 25703          "summary": "Search across projects",
 25704          "description": "Search for keys and translations in all account projects <br><br><i>Note: Search is limited to 10000 results and may not include recently updated data depending on the project sizes.</i>",
 25705          "operationId": "search/in_account",
 25706          "tags": [
 25707            "Search"
 25708          ],
 25709          "parameters": [
 25710            {
 25711              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25712            },
 25713            {
 25714              "$ref": "#/components/parameters/account_id"
 25715            }
 25716          ],
 25717          "responses": {
 25718            "200": {
 25719              "description": "OK",
 25720              "content": {
 25721                "application/json": {
 25722                  "schema": {
 25723                    "type": "object",
 25724                    "title": "account_search_result",
 25725                    "properties": {
 25726                      "query": {
 25727                        "type": "string"
 25728                      },
 25729                      "excerpt": {
 25730                        "type": "string"
 25731                      },
 25732                      "key": {
 25733                        "$ref": "#/components/schemas/key_preview"
 25734                      },
 25735                      "locale": {
 25736                        "$ref": "#/components/schemas/locale_preview"
 25737                      },
 25738                      "project": {
 25739                        "$ref": "#/components/schemas/project"
 25740                      },
 25741                      "translation": {
 25742                        "$ref": "#/components/schemas/translation"
 25743                      },
 25744                      "other_translations": {
 25745                        "type": "array",
 25746                        "items": {
 25747                          "$ref": "#/components/schemas/translation"
 25748                        }
 25749                      }
 25750                    },
 25751                    "example": {
 25752                      "query": "keyword",
 25753                      "excerpt": "excerpt text",
 25754                      "key": {
 25755                        "id": "abcd1234cdef1234abcd1234cdef1234",
 25756                        "name": "key.name",
 25757                        "plural": false,
 25758                        "data_type": "string",
 25759                        "tags": [
 25760                          "tag 1",
 25761                          "tag 2"
 25762                        ]
 25763                      },
 25764                      "locale": {
 25765                        "id": "abcd1234cdef1234abcd1234cdef1234",
 25766                        "name": "German",
 25767                        "code": "de_DE"
 25768                      },
 25769                      "project": {
 25770                        "id": "abcd1234cdef1234abcd1234cdef1234",
 25771                        "name": "project name",
 25772                        "slug": "project-slug",
 25773                        "main_format": "",
 25774                        "project_image_url": "",
 25775                        "created_at": "2021-05-04T14:16:26Z",
 25776                        "updated_at": "2021-06-14T14:26:09Z",
 25777                        "account": {
 25778                          "id": "abcd1234cdef1234abcd1234cdef1234",
 25779                          "name": "account name",
 25780                          "slug": "account-slug",
 25781                          "company": "company name",
 25782                          "created_at": "2021-04-27T14:27:25Z",
 25783                          "updated_at": "2021-06-14T14:35:15Z",
 25784                          "company_logo_url": ""
 25785                        },
 25786                        "space": {
 25787                          "id": "abcd1234cdef1234abcd1234cdef1234",
 25788                          "name": "space name",
 25789                          "slug": "space-slug",
 25790                          "created_at": "2015-01-28T09:52:53Z",
 25791                          "updated_at": "2015-01-28T09:52:53Z",
 25792                          "projects_count": 1
 25793                        }
 25794                      },
 25795                      "translation": {
 25796                        "id": "abcd1234cdef1234abcd1234cdef1234",
 25797                        "content": "some content",
 25798                        "unverified": true,
 25799                        "excluded": false,
 25800                        "plural_suffix": "",
 25801                        "key": {
 25802                          "id": "abcd1234cdef1234abcd1234cdef1234",
 25803                          "name": "key.name",
 25804                          "plural": false,
 25805                          "data_type": "string",
 25806                          "tags": [
 25807                            "tag 1",
 25808                            "tag 2"
 25809                          ]
 25810                        },
 25811                        "created_at": "2021-05-04T14:17:04Z",
 25812                        "updated_at": "2021-05-04T14:17:04Z",
 25813                        "placeholders": [],
 25814                        "state": "translated",
 25815                        "locale": {
 25816                          "id": "abcd1234cdef1234abcd1234cdef1234",
 25817                          "name": "German",
 25818                          "code": "de_DE"
 25819                        }
 25820                      },
 25821                      "other_translations": [
 25822                        {
 25823                          "id": "abcd1234cdef1234abcd1234cdef1234",
 25824                          "content": "some content",
 25825                          "unverified": true,
 25826                          "excluded": false,
 25827                          "plural_suffix": "",
 25828                          "key": {
 25829                            "id": "abcd1234cdef1234abcd1234cdef1234",
 25830                            "name": "key.name",
 25831                            "plural": false,
 25832                            "data_type": "string",
 25833                            "tags": [
 25834                              "tag 1",
 25835                              "tag 2"
 25836                            ]
 25837                          },
 25838                          "created_at": "2021-05-04T14:17:04Z",
 25839                          "updated_at": "2021-05-04T14:17:04Z",
 25840                          "placeholders": [],
 25841                          "state\"": "translated",
 25842                          "locale": {
 25843                            "id": "abcd1234cdef1234abcd1234cdef1234",
 25844                            "name": "English",
 25845                            "code": "en_EN"
 25846                          }
 25847                        }
 25848                      ]
 25849                    }
 25850                  }
 25851                }
 25852              },
 25853              "headers": {
 25854                "X-Rate-Limit-Limit": {
 25855                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25856                },
 25857                "X-Rate-Limit-Remaining": {
 25858                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25859                },
 25860                "X-Rate-Limit-Reset": {
 25861                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25862                }
 25863              }
 25864            },
 25865            "400": {
 25866              "$ref": "#/components/responses/400"
 25867            },
 25868            "404": {
 25869              "$ref": "#/components/responses/404"
 25870            },
 25871            "429": {
 25872              "$ref": "#/components/responses/429"
 25873            }
 25874          },
 25875          "x-code-samples": [
 25876            {
 25877              "lang": "Curl",
 25878              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/search\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -F query=keyword \\\n  -F locale_code=localecode \\\n  -F page=1 \\\n  -F per_page=25 \\"
 25879            },
 25880            {
 25881              "lang": "CLI v2",
 25882              "source": "phrase search in_account \\\n--account_id <account_id> \\\n--data '{\"q\":\"keyword\",\"locale_code\": \"de\",\"page\": 1,\"per_page\": 25}' \\\n--access_token <token>"
 25883            }
 25884          ],
 25885          "requestBody": {
 25886            "required": true,
 25887            "content": {
 25888              "application/json": {
 25889                "schema": {
 25890                  "type": "object",
 25891                  "title": "search/in_account/parameters",
 25892                  "properties": {
 25893                    "query": {
 25894                      "description": "Search query",
 25895                      "type": "string",
 25896                      "example": "keyword"
 25897                    },
 25898                    "locale_code": {
 25899                      "description": "Locale code",
 25900                      "type": "string",
 25901                      "example": "de_DE"
 25902                    },
 25903                    "page": {
 25904                      "description": "Page",
 25905                      "type": "integer",
 25906                      "example": 1
 25907                    },
 25908                    "per_page": {
 25909                      "description": "Number of results per page",
 25910                      "type": "integer",
 25911                      "example": 25
 25912                    }
 25913                  }
 25914                }
 25915              }
 25916            }
 25917          },
 25918          "x-cli-version": "2.5"
 25919        }
 25920      },
 25921      "/projects/{project_id}/jobs/{job_id}/comments/{id}": {
 25922        "get": {
 25923          "summary": "Get a single job comment",
 25924          "description": "Get details on a single job comment.",
 25925          "operationId": "job_comment/show",
 25926          "tags": [
 25927            "Job Comments"
 25928          ],
 25929          "parameters": [
 25930            {
 25931              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 25932            },
 25933            {
 25934              "$ref": "#/components/parameters/project_id"
 25935            },
 25936            {
 25937              "$ref": "#/components/parameters/job_id"
 25938            },
 25939            {
 25940              "$ref": "#/components/parameters/id"
 25941            },
 25942            {
 25943              "description": "specify the branch to use",
 25944              "example": "my-feature-branch",
 25945              "name": "branch",
 25946              "in": "query",
 25947              "schema": {
 25948                "type": "string"
 25949              }
 25950            }
 25951          ],
 25952          "responses": {
 25953            "200": {
 25954              "description": "OK",
 25955              "content": {
 25956                "application/json": {
 25957                  "schema": {
 25958                    "$ref": "#/components/schemas/job_comment"
 25959                  }
 25960                }
 25961              },
 25962              "headers": {
 25963                "X-Rate-Limit-Limit": {
 25964                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 25965                },
 25966                "X-Rate-Limit-Remaining": {
 25967                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 25968                },
 25969                "X-Rate-Limit-Reset": {
 25970                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 25971                }
 25972              }
 25973            },
 25974            "400": {
 25975              "$ref": "#/components/responses/400"
 25976            },
 25977            "404": {
 25978              "$ref": "#/components/responses/404"
 25979            },
 25980            "429": {
 25981              "$ref": "#/components/responses/429"
 25982            }
 25983          },
 25984          "x-code-samples": [
 25985            {
 25986              "lang": "Curl",
 25987              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/comments/:id?branch=my-feature-branch\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 25988            },
 25989            {
 25990              "lang": "CLI v2",
 25991              "source": "phrase job_comments show \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 25992            }
 25993          ],
 25994          "x-cli-version": "2.5"
 25995        },
 25996        "patch": {
 25997          "summary": "Update a job comment",
 25998          "description": "Update an existing job comment.",
 25999          "operationId": "job_comment/update",
 26000          "tags": [
 26001            "Job Comments"
 26002          ],
 26003          "parameters": [
 26004            {
 26005              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26006            },
 26007            {
 26008              "$ref": "#/components/parameters/project_id"
 26009            },
 26010            {
 26011              "$ref": "#/components/parameters/key_id"
 26012            },
 26013            {
 26014              "$ref": "#/components/parameters/id"
 26015            }
 26016          ],
 26017          "responses": {
 26018            "200": {
 26019              "description": "OK",
 26020              "content": {
 26021                "application/json": {
 26022                  "schema": {
 26023                    "$ref": "#/components/schemas/job_comment"
 26024                  }
 26025                }
 26026              },
 26027              "headers": {
 26028                "X-Rate-Limit-Limit": {
 26029                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26030                },
 26031                "X-Rate-Limit-Remaining": {
 26032                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26033                },
 26034                "X-Rate-Limit-Reset": {
 26035                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26036                }
 26037              }
 26038            },
 26039            "400": {
 26040              "$ref": "#/components/responses/400"
 26041            },
 26042            "404": {
 26043              "$ref": "#/components/responses/404"
 26044            },
 26045            "429": {
 26046              "$ref": "#/components/responses/429"
 26047            }
 26048          },
 26049          "x-code-samples": [
 26050            {
 26051              "lang": "Curl",
 26052              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/comments/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"message\":\"Some message...\"}' \\\n  -H 'Content-Type: application/json'"
 26053            },
 26054            {
 26055              "lang": "CLI v2",
 26056              "source": "phrase job_comments update \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--id <id> \\\n--data '{\"message\": \"Some message...\"}' \\\n--access_token <token>"
 26057            }
 26058          ],
 26059          "requestBody": {
 26060            "required": true,
 26061            "content": {
 26062              "application/json": {
 26063                "schema": {
 26064                  "type": "object",
 26065                  "title": "job_comment/update/parameters",
 26066                  "properties": {
 26067                    "message": {
 26068                      "description": "Comment message",
 26069                      "type": "string",
 26070                      "example": "Some message..."
 26071                    }
 26072                  }
 26073                }
 26074              }
 26075            }
 26076          },
 26077          "x-cli-version": "2.5"
 26078        },
 26079        "delete": {
 26080          "summary": "Delete a job comment",
 26081          "description": "Delete an existing job comment.",
 26082          "operationId": "job_comment/delete",
 26083          "tags": [
 26084            "Job Comments"
 26085          ],
 26086          "parameters": [
 26087            {
 26088              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26089            },
 26090            {
 26091              "$ref": "#/components/parameters/project_id"
 26092            },
 26093            {
 26094              "$ref": "#/components/parameters/job_id"
 26095            },
 26096            {
 26097              "$ref": "#/components/parameters/id"
 26098            },
 26099            {
 26100              "description": "specify the branch to use",
 26101              "example": "my-feature-branch",
 26102              "name": "branch",
 26103              "in": "query",
 26104              "schema": {
 26105                "type": "string"
 26106              }
 26107            }
 26108          ],
 26109          "responses": {
 26110            "204": {
 26111              "$ref": "#/components/responses/204"
 26112            },
 26113            "400": {
 26114              "$ref": "#/components/responses/400"
 26115            },
 26116            "404": {
 26117              "$ref": "#/components/responses/404"
 26118            },
 26119            "429": {
 26120              "$ref": "#/components/responses/429"
 26121            }
 26122          },
 26123          "x-code-samples": [
 26124            {
 26125              "lang": "Curl",
 26126              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/comments/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -d '{\"branch\":\"my-feature-branch\"}' \\\n  -H 'Content-Type: application/json'"
 26127            },
 26128            {
 26129              "lang": "CLI v2",
 26130              "source": "phrase job_comments delete \\\n--project_id <project_id> \\\n--job_id <key_id> \\\n--id <id> \\\n--branch my-feature-branch \\\n--access_token <token>"
 26131            }
 26132          ],
 26133          "x-cli-version": "2.5"
 26134        }
 26135      },
 26136      "/projects/{project_id}/jobs/{job_id}/comments": {
 26137        "get": {
 26138          "summary": "List job comments",
 26139          "description": "List all comments for a job.",
 26140          "operationId": "job_comments/list",
 26141          "tags": [
 26142            "Job Comments"
 26143          ],
 26144          "parameters": [
 26145            {
 26146              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26147            },
 26148            {
 26149              "$ref": "#/components/parameters/project_id"
 26150            },
 26151            {
 26152              "$ref": "#/components/parameters/job_id"
 26153            },
 26154            {
 26155              "description": "specify the branch to use",
 26156              "example": "my-feature-branch",
 26157              "name": "branch",
 26158              "in": "query",
 26159              "schema": {
 26160                "type": "string"
 26161              }
 26162            },
 26163            {
 26164              "description": "Order direction. Can be one of: asc, desc.",
 26165              "name": "order",
 26166              "in": "query",
 26167              "example": "desc",
 26168              "schema": {
 26169                "type": "string"
 26170              }
 26171            }
 26172          ],
 26173          "responses": {
 26174            "200": {
 26175              "description": "OK",
 26176              "content": {
 26177                "application/json": {
 26178                  "schema": {
 26179                    "type": "array",
 26180                    "items": {
 26181                      "$ref": "#/components/schemas/job_comment"
 26182                    }
 26183                  }
 26184                }
 26185              },
 26186              "headers": {
 26187                "X-Rate-Limit-Limit": {
 26188                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26189                },
 26190                "X-Rate-Limit-Remaining": {
 26191                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26192                },
 26193                "X-Rate-Limit-Reset": {
 26194                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26195                },
 26196                "Link": {
 26197                  "$ref": "#/components/headers/Link"
 26198                },
 26199                "Pagination": {
 26200                  "$ref": "#/components/headers/Pagination"
 26201                }
 26202              }
 26203            },
 26204            "400": {
 26205              "$ref": "#/components/responses/400"
 26206            },
 26207            "404": {
 26208              "$ref": "#/components/responses/404"
 26209            },
 26210            "429": {
 26211              "$ref": "#/components/responses/429"
 26212            }
 26213          },
 26214          "x-code-samples": [
 26215            {
 26216              "lang": "Curl",
 26217              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/comments?branch=my-feature-branch&order=desc\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 26218            },
 26219            {
 26220              "lang": "CLI v2",
 26221              "source": "phrase job_comments list \\\n--project_id <project_id> \\\n--job_id <key_id> \\\n--branch my-feature-branch \\\n--order desc \\\n--access_token <token>"
 26222            }
 26223          ],
 26224          "x-cli-version": "2.5"
 26225        },
 26226        "post": {
 26227          "summary": "Create a job comment",
 26228          "description": "Create a new comment for a job.",
 26229          "operationId": "job_comment/create",
 26230          "tags": [
 26231            "Job Comments"
 26232          ],
 26233          "parameters": [
 26234            {
 26235              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26236            },
 26237            {
 26238              "$ref": "#/components/parameters/project_id"
 26239            },
 26240            {
 26241              "$ref": "#/components/parameters/job_id"
 26242            }
 26243          ],
 26244          "responses": {
 26245            "201": {
 26246              "description": "Created",
 26247              "content": {
 26248                "application/json": {
 26249                  "schema": {
 26250                    "$ref": "#/components/schemas/job_comment"
 26251                  }
 26252                }
 26253              },
 26254              "headers": {
 26255                "X-Rate-Limit-Limit": {
 26256                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26257                },
 26258                "X-Rate-Limit-Remaining": {
 26259                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26260                },
 26261                "X-Rate-Limit-Reset": {
 26262                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26263                }
 26264              }
 26265            },
 26266            "400": {
 26267              "$ref": "#/components/responses/400"
 26268            },
 26269            "404": {
 26270              "$ref": "#/components/responses/404"
 26271            },
 26272            "429": {
 26273              "$ref": "#/components/responses/429"
 26274            }
 26275          },
 26276          "x-code-samples": [
 26277            {
 26278              "lang": "Curl",
 26279              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:job_id/comments\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"message\":\"Some message...\"}' \\\n  -H 'Content-Type: application/json'"
 26280            },
 26281            {
 26282              "lang": "CLI v2",
 26283              "source": "phrase job_comments create \\\n--project_id <project_id> \\\n--job_id <job_id> \\\n--data '{\"message\": \"Some message...\"}' \\\n--access_token <token>"
 26284            }
 26285          ],
 26286          "requestBody": {
 26287            "required": true,
 26288            "content": {
 26289              "application/json": {
 26290                "schema": {
 26291                  "type": "object",
 26292                  "title": "job_comment/create/parameters",
 26293                  "properties": {
 26294                    "message": {
 26295                      "description": "Job comment message",
 26296                      "type": "string",
 26297                      "example": "Some message..."
 26298                    }
 26299                  }
 26300                }
 26301              }
 26302            }
 26303          },
 26304          "x-cli-version": "2.5"
 26305        }
 26306      },
 26307      "/projects/{project_id}/webhooks/{webhook_id}/deliveries": {
 26308        "get": {
 26309          "summary": "List webhook deliveries",
 26310          "description": "List all webhook deliveries for the given webhook_id.",
 26311          "operationId": "webhook_deliveries/list",
 26312          "tags": [
 26313            "Webhook Deliveries"
 26314          ],
 26315          "parameters": [
 26316            {
 26317              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26318            },
 26319            {
 26320              "$ref": "#/components/parameters/project_id"
 26321            },
 26322            {
 26323              "$ref": "#/components/parameters/webhook_id"
 26324            },
 26325            {
 26326              "$ref": "#/components/parameters/response_status_codes"
 26327            }
 26328          ],
 26329          "responses": {
 26330            "200": {
 26331              "description": "OK",
 26332              "content": {
 26333                "application/json": {
 26334                  "schema": {
 26335                    "type": "array",
 26336                    "items": {
 26337                      "$ref": "#/components/schemas/webhook_delivery"
 26338                    }
 26339                  }
 26340                }
 26341              },
 26342              "headers": {
 26343                "X-Rate-Limit-Limit": {
 26344                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26345                },
 26346                "X-Rate-Limit-Remaining": {
 26347                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26348                },
 26349                "X-Rate-Limit-Reset": {
 26350                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26351                },
 26352                "Link": {
 26353                  "$ref": "#/components/headers/Link"
 26354                },
 26355                "Pagination": {
 26356                  "$ref": "#/components/headers/Pagination"
 26357                }
 26358              }
 26359            },
 26360            "400": {
 26361              "$ref": "#/components/responses/400"
 26362            },
 26363            "404": {
 26364              "$ref": "#/components/responses/404"
 26365            },
 26366            "429": {
 26367              "$ref": "#/components/responses/429"
 26368            }
 26369          },
 26370          "x-code-samples": [
 26371            {
 26372              "lang": "Curl",
 26373              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/webhooks/:webhook_id/deliveries?response_status_codes=401%2C404\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 26374            },
 26375            {
 26376              "lang": "CLI v2",
 26377              "source": "phrase webhooks list \\\n--project_id <project_id> \\\n--webhook_id <webhook_id> \\\n--access_token <token>"
 26378            }
 26379          ],
 26380          "x-cli-version": "2.5"
 26381        }
 26382      },
 26383      "/projects/{project_id}/webhooks/{webhook_id}/deliveries/{id}": {
 26384        "get": {
 26385          "summary": "Get a single webhook delivery",
 26386          "description": "Get all information about a single webhook delivery for the given ID.",
 26387          "operationId": "webhook_deliveries/show",
 26388          "tags": [
 26389            "Webhook Deliveries"
 26390          ],
 26391          "parameters": [
 26392            {
 26393              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26394            },
 26395            {
 26396              "$ref": "#/components/parameters/project_id"
 26397            },
 26398            {
 26399              "$ref": "#/components/parameters/webhook_id"
 26400            },
 26401            {
 26402              "$ref": "#/components/parameters/id"
 26403            }
 26404          ],
 26405          "responses": {
 26406            "200": {
 26407              "description": "OK",
 26408              "content": {
 26409                "application/json": {
 26410                  "schema": {
 26411                    "$ref": "#/components/schemas/webhook_delivery"
 26412                  }
 26413                }
 26414              },
 26415              "headers": {
 26416                "X-Rate-Limit-Limit": {
 26417                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26418                },
 26419                "X-Rate-Limit-Remaining": {
 26420                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26421                },
 26422                "X-Rate-Limit-Reset": {
 26423                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26424                },
 26425                "Link": {
 26426                  "$ref": "#/components/headers/Link"
 26427                }
 26428              }
 26429            },
 26430            "400": {
 26431              "$ref": "#/components/responses/400"
 26432            },
 26433            "404": {
 26434              "$ref": "#/components/responses/404"
 26435            },
 26436            "429": {
 26437              "$ref": "#/components/responses/429"
 26438            }
 26439          },
 26440          "x-code-samples": [
 26441            {
 26442              "lang": "Curl",
 26443              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/webhooks/:webhook_id/deliveries/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 26444            },
 26445            {
 26446              "lang": "CLI v2",
 26447              "source": "phrase webhook deliveries show \\\n--project_id <project_id> \\\n--webhook_id <webhook_id> \\\n--id <delivery_id> \\\n--access_token <token>"
 26448            }
 26449          ],
 26450          "x-cli-version": "2.5"
 26451        }
 26452      },
 26453      "/projects/{project_id}/webhooks/{webhook_id}/deliveries/{id}/redeliver": {
 26454        "post": {
 26455          "summary": "Redeliver a single webhook delivery",
 26456          "description": "Trigger an individual webhook delivery to be redelivered.",
 26457          "operationId": "webhook_deliveries/redeliver",
 26458          "tags": [
 26459            "Webhook Deliveries"
 26460          ],
 26461          "parameters": [
 26462            {
 26463              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26464            },
 26465            {
 26466              "$ref": "#/components/parameters/project_id"
 26467            },
 26468            {
 26469              "$ref": "#/components/parameters/webhook_id"
 26470            },
 26471            {
 26472              "$ref": "#/components/parameters/id"
 26473            }
 26474          ],
 26475          "responses": {
 26476            "200": {
 26477              "description": "OK",
 26478              "content": {
 26479                "application/json": {
 26480                  "schema": {
 26481                    "$ref": "#/components/schemas/webhook_delivery"
 26482                  }
 26483                }
 26484              },
 26485              "headers": {
 26486                "X-Rate-Limit-Limit": {
 26487                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26488                },
 26489                "X-Rate-Limit-Remaining": {
 26490                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26491                },
 26492                "X-Rate-Limit-Reset": {
 26493                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26494                },
 26495                "Link": {
 26496                  "$ref": "#/components/headers/Link"
 26497                },
 26498                "Pagination": {
 26499                  "$ref": "#/components/headers/Pagination"
 26500                }
 26501              }
 26502            },
 26503            "400": {
 26504              "$ref": "#/components/responses/400"
 26505            },
 26506            "404": {
 26507              "$ref": "#/components/responses/404"
 26508            },
 26509            "429": {
 26510              "$ref": "#/components/responses/429"
 26511            }
 26512          },
 26513          "x-code-samples": [
 26514            {
 26515              "lang": "Curl",
 26516              "source": "curl \"https://api.phrase.com/v2/projects/:project_id/webhooks/:webhook_id/deliveries/:id/redeliver\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 26517            },
 26518            {
 26519              "lang": "CLI v2",
 26520              "source": "phrase webhook deliveries show \\\n--project_id <project_id> \\\n--webhook_id <webhook_id> \\\n--id <delivery_id> \\\n--access_token <token>"
 26521            }
 26522          ],
 26523          "x-cli-version": "2.5"
 26524        }
 26525      },
 26526      "/accounts/{account_id}/job_templates": {
 26527        "get": {
 26528          "summary": "List organization job templates",
 26529          "description": "List all job templates for the given account.",
 26530          "operationId": "organization_job_templates/list",
 26531          "tags": [
 26532            "Organization Job Templates"
 26533          ],
 26534          "parameters": [
 26535            {
 26536              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26537            },
 26538            {
 26539              "$ref": "#/components/parameters/account_id"
 26540            },
 26541            {
 26542              "$ref": "#/components/parameters/page"
 26543            },
 26544            {
 26545              "$ref": "#/components/parameters/per_page"
 26546            }
 26547          ],
 26548          "responses": {
 26549            "200": {
 26550              "description": "OK",
 26551              "content": {
 26552                "application/json": {
 26553                  "schema": {
 26554                    "type": "array",
 26555                    "items": {
 26556                      "$ref": "#/components/schemas/organization_job_template"
 26557                    }
 26558                  }
 26559                }
 26560              },
 26561              "headers": {
 26562                "X-Rate-Limit-Limit": {
 26563                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26564                },
 26565                "X-Rate-Limit-Remaining": {
 26566                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26567                },
 26568                "X-Rate-Limit-Reset": {
 26569                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26570                },
 26571                "Link": {
 26572                  "$ref": "#/components/headers/Link"
 26573                },
 26574                "Pagination": {
 26575                  "$ref": "#/components/headers/Pagination"
 26576                }
 26577              }
 26578            },
 26579            "400": {
 26580              "$ref": "#/components/responses/400"
 26581            },
 26582            "404": {
 26583              "$ref": "#/components/responses/404"
 26584            },
 26585            "429": {
 26586              "$ref": "#/components/responses/429"
 26587            }
 26588          },
 26589          "x-code-samples": [
 26590            {
 26591              "lang": "Curl",
 26592              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/job_templates\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 26593            },
 26594            {
 26595              "lang": "CLI v2",
 26596              "source": "phrase organization_job_templates list \\\n--account_id <account_id> \\\n--access_token <token>"
 26597            }
 26598          ],
 26599          "x-cli-version": "2.7.0"
 26600        },
 26601        "post": {
 26602          "summary": "Create an organization job template",
 26603          "description": "Create a new organization job template.",
 26604          "operationId": "organization_job_template/create",
 26605          "tags": [
 26606            "Organization Job Templates"
 26607          ],
 26608          "parameters": [
 26609            {
 26610              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26611            },
 26612            {
 26613              "$ref": "#/components/parameters/account_id"
 26614            }
 26615          ],
 26616          "responses": {
 26617            "201": {
 26618              "description": "Created",
 26619              "content": {
 26620                "application/json": {
 26621                  "schema": {
 26622                    "$ref": "#/components/schemas/organization_job_template_details"
 26623                  }
 26624                }
 26625              },
 26626              "headers": {
 26627                "X-Rate-Limit-Limit": {
 26628                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26629                },
 26630                "X-Rate-Limit-Remaining": {
 26631                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26632                },
 26633                "X-Rate-Limit-Reset": {
 26634                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26635                }
 26636              }
 26637            },
 26638            "400": {
 26639              "$ref": "#/components/responses/400"
 26640            },
 26641            "404": {
 26642              "$ref": "#/components/responses/404"
 26643            },
 26644            "429": {
 26645              "$ref": "#/components/responses/429"
 26646            }
 26647          },
 26648          "x-code-samples": [
 26649            {
 26650              "lang": "Curl",
 26651              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/job_templates\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"name\":\"template\",\"briefing\":\"text\"}' \\\n  -H 'Content-Type: application/json'"
 26652            },
 26653            {
 26654              "lang": "CLI v2",
 26655              "source": "phrase organization_job_templates create \\\n--account_id <account_id> \\\n--data '{\"name\":\"template\", \"briefing\":\"text\"}' \\\n--access_token <token>"
 26656            }
 26657          ],
 26658          "requestBody": {
 26659            "required": true,
 26660            "content": {
 26661              "application/json": {
 26662                "schema": {
 26663                  "type": "object",
 26664                  "title": "organization_job_template/create/parameters",
 26665                  "properties": {
 26666                    "name": {
 26667                      "description": "Job template name",
 26668                      "type": "string",
 26669                      "example": "template"
 26670                    },
 26671                    "briefing": {
 26672                      "description": "Briefing for the translators",
 26673                      "type": "string",
 26674                      "example": "text"
 26675                    }
 26676                  },
 26677                  "required": [
 26678                    "name"
 26679                  ]
 26680                }
 26681              }
 26682            }
 26683          },
 26684          "x-cli-version": "2.7.0"
 26685        }
 26686      },
 26687      "/accounts/{account_id}/job_templates/{id}": {
 26688        "get": {
 26689          "summary": "Get a single organization job template",
 26690          "description": "Get details on a single organization job template for a given account.",
 26691          "operationId": "organization_job_templates/show",
 26692          "tags": [
 26693            "Organization Job Templates"
 26694          ],
 26695          "parameters": [
 26696            {
 26697              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26698            },
 26699            {
 26700              "$ref": "#/components/parameters/account_id"
 26701            },
 26702            {
 26703              "$ref": "#/components/parameters/id"
 26704            }
 26705          ],
 26706          "responses": {
 26707            "200": {
 26708              "description": "OK",
 26709              "content": {
 26710                "application/json": {
 26711                  "schema": {
 26712                    "$ref": "#/components/schemas/organization_job_template_details"
 26713                  }
 26714                }
 26715              },
 26716              "headers": {
 26717                "X-Rate-Limit-Limit": {
 26718                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26719                },
 26720                "X-Rate-Limit-Remaining": {
 26721                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26722                },
 26723                "X-Rate-Limit-Reset": {
 26724                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26725                }
 26726              }
 26727            },
 26728            "400": {
 26729              "$ref": "#/components/responses/400"
 26730            },
 26731            "404": {
 26732              "$ref": "#/components/responses/404"
 26733            },
 26734            "429": {
 26735              "$ref": "#/components/responses/429"
 26736            }
 26737          },
 26738          "x-code-samples": [
 26739            {
 26740              "lang": "Curl",
 26741              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/job_templates/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 26742            },
 26743            {
 26744              "lang": "CLI v2",
 26745              "source": "phrase organization_job_templates show \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 26746            }
 26747          ],
 26748          "x-cli-version": "2.7.0"
 26749        },
 26750        "patch": {
 26751          "summary": "Update an organization job template",
 26752          "description": "Update an existing organization job template.",
 26753          "operationId": "organization_job_template/update",
 26754          "tags": [
 26755            "Organization Job Templates"
 26756          ],
 26757          "parameters": [
 26758            {
 26759              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26760            },
 26761            {
 26762              "$ref": "#/components/parameters/account_id"
 26763            },
 26764            {
 26765              "$ref": "#/components/parameters/id"
 26766            }
 26767          ],
 26768          "responses": {
 26769            "200": {
 26770              "description": "OK",
 26771              "content": {
 26772                "application/json": {
 26773                  "schema": {
 26774                    "$ref": "#/components/schemas/organization_job_template_details"
 26775                  }
 26776                }
 26777              },
 26778              "headers": {
 26779                "X-Rate-Limit-Limit": {
 26780                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26781                },
 26782                "X-Rate-Limit-Remaining": {
 26783                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26784                },
 26785                "X-Rate-Limit-Reset": {
 26786                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26787                }
 26788              }
 26789            },
 26790            "400": {
 26791              "$ref": "#/components/responses/400"
 26792            },
 26793            "404": {
 26794              "$ref": "#/components/responses/404"
 26795            },
 26796            "429": {
 26797              "$ref": "#/components/responses/429"
 26798            }
 26799          },
 26800          "x-code-samples": [
 26801            {
 26802              "lang": "Curl",
 26803              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/job_templates/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -H 'Content-Type: application/json'"
 26804            },
 26805            {
 26806              "lang": "CLI v2",
 26807              "source": "phrase organization_job_templates update \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 26808            }
 26809          ],
 26810          "requestBody": {
 26811            "required": true,
 26812            "content": {
 26813              "application/json": {
 26814                "schema": {
 26815                  "type": "object",
 26816                  "title": "organization_job_template/update/parameters",
 26817                  "properties": {
 26818                    "name": {
 26819                      "description": "Job template name",
 26820                      "type": "string",
 26821                      "example": "template"
 26822                    },
 26823                    "briefing": {
 26824                      "description": "Briefing for the translators",
 26825                      "type": "string",
 26826                      "example": "text"
 26827                    }
 26828                  },
 26829                  "required": [
 26830                    "name"
 26831                  ]
 26832                }
 26833              }
 26834            }
 26835          },
 26836          "x-cli-version": "2.7.0"
 26837        },
 26838        "delete": {
 26839          "summary": "Delete an organization job template",
 26840          "description": "Delete an existing organization job template.",
 26841          "operationId": "organization_job_template/delete",
 26842          "tags": [
 26843            "Organization Job Templates"
 26844          ],
 26845          "parameters": [
 26846            {
 26847              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26848            },
 26849            {
 26850              "$ref": "#/components/parameters/account_id"
 26851            },
 26852            {
 26853              "$ref": "#/components/parameters/id"
 26854            }
 26855          ],
 26856          "responses": {
 26857            "204": {
 26858              "$ref": "#/components/responses/204"
 26859            },
 26860            "400": {
 26861              "$ref": "#/components/responses/400"
 26862            },
 26863            "404": {
 26864              "$ref": "#/components/responses/404"
 26865            },
 26866            "429": {
 26867              "$ref": "#/components/responses/429"
 26868            }
 26869          },
 26870          "x-code-samples": [
 26871            {
 26872              "lang": "Curl",
 26873              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/job_templates/:id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -H 'Content-Type: application/json'"
 26874            },
 26875            {
 26876              "lang": "CLI v2",
 26877              "source": "phrase organization_job_templates delete \\\n--account_id <account_id> \\\n--id <id> \\\n--access_token <token>"
 26878            }
 26879          ],
 26880          "x-cli-version": "2.7.0"
 26881        }
 26882      },
 26883      "/accounts/{account_id}/job_templates/{job_template_id}/locales": {
 26884        "get": {
 26885          "summary": "List organization job template locales",
 26886          "description": "List all job template locales for a given organization job template.",
 26887          "operationId": "organization_job_template_locales/list",
 26888          "tags": [
 26889            "Organization Job Template Locales"
 26890          ],
 26891          "parameters": [
 26892            {
 26893              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26894            },
 26895            {
 26896              "$ref": "#/components/parameters/account_id"
 26897            },
 26898            {
 26899              "$ref": "#/components/parameters/job_template_id"
 26900            },
 26901            {
 26902              "$ref": "#/components/parameters/page"
 26903            },
 26904            {
 26905              "$ref": "#/components/parameters/per_page"
 26906            }
 26907          ],
 26908          "responses": {
 26909            "200": {
 26910              "description": "OK",
 26911              "content": {
 26912                "application/json": {
 26913                  "schema": {
 26914                    "type": "array",
 26915                    "items": {
 26916                      "$ref": "#/components/schemas/job_template_locales"
 26917                    }
 26918                  }
 26919                }
 26920              },
 26921              "headers": {
 26922                "X-Rate-Limit-Limit": {
 26923                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26924                },
 26925                "X-Rate-Limit-Remaining": {
 26926                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26927                },
 26928                "X-Rate-Limit-Reset": {
 26929                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26930                },
 26931                "Link": {
 26932                  "$ref": "#/components/headers/Link"
 26933                },
 26934                "Pagination": {
 26935                  "$ref": "#/components/headers/Pagination"
 26936                }
 26937              }
 26938            },
 26939            "400": {
 26940              "$ref": "#/components/responses/400"
 26941            },
 26942            "404": {
 26943              "$ref": "#/components/responses/404"
 26944            },
 26945            "429": {
 26946              "$ref": "#/components/responses/429"
 26947            }
 26948          },
 26949          "x-code-samples": [
 26950            {
 26951              "lang": "Curl",
 26952              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/job_templates/:job_template_id/locales\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 26953            },
 26954            {
 26955              "lang": "CLI v2",
 26956              "source": "phrase organization_job_template_locales list \\\n--account_id <account_id> \\\n--job_template_id <job_template_id> \\\n--access_token <token>"
 26957            }
 26958          ],
 26959          "x-cli-version": "2.7.0"
 26960        },
 26961        "post": {
 26962          "summary": "Create an organization job template locale",
 26963          "description": "Create a new organization job template locale.",
 26964          "operationId": "organization_job_template_locales/create",
 26965          "tags": [
 26966            "Organization Job Template Locales"
 26967          ],
 26968          "parameters": [
 26969            {
 26970              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 26971            },
 26972            {
 26973              "$ref": "#/components/parameters/account_id"
 26974            },
 26975            {
 26976              "$ref": "#/components/parameters/job_template_id"
 26977            }
 26978          ],
 26979          "responses": {
 26980            "201": {
 26981              "description": "Created",
 26982              "content": {
 26983                "application/json": {
 26984                  "schema": {
 26985                    "$ref": "#/components/schemas/job_template_locales"
 26986                  }
 26987                }
 26988              },
 26989              "headers": {
 26990                "X-Rate-Limit-Limit": {
 26991                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 26992                },
 26993                "X-Rate-Limit-Remaining": {
 26994                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 26995                },
 26996                "X-Rate-Limit-Reset": {
 26997                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 26998                }
 26999              }
 27000            },
 27001            "400": {
 27002              "$ref": "#/components/responses/400"
 27003            },
 27004            "404": {
 27005              "$ref": "#/components/responses/404"
 27006            },
 27007            "429": {
 27008              "$ref": "#/components/responses/429"
 27009            }
 27010          },
 27011          "x-code-samples": [
 27012            {
 27013              "lang": "Curl",
 27014              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/job_templates/:job_template_id/locales\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X POST \\\n  -d '{\"locale_name\":\"de-1\",\"locale_code:\"de-DE\",user_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"],\"reviewer_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"],\"translator_team_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n  -H 'Content-Type: application/json'"
 27015            },
 27016            {
 27017              "lang": "CLI v2",
 27018              "source": "phrase organization_job_template_locales create \\\n--account_id <account_id> \\\n--job_template_id <job_template_id> \\\n--data '{\"locale_name\": \"de-1\", \"locale_code: \"de-DE\", \"user_ids\": \"abcd1234cdef1234abcd1234cdef1234\", \"reviewer_ids\": \"abcd1234cdef1234abcd1234cdef1234\", \"translator_team_ids\": \"abcd1234cdef1234abcd1234cdef1234\"}' \\\n--access_token <token>"
 27019            }
 27020          ],
 27021          "requestBody": {
 27022            "required": true,
 27023            "content": {
 27024              "application/json": {
 27025                "schema": {
 27026                  "type": "object",
 27027                  "title": "organization_job_template_locales/create/parameters",
 27028                  "properties": {
 27029                    "locale_name": {
 27030                      "description": "locale name",
 27031                      "type": "string",
 27032                      "example": "de-1"
 27033                    },
 27034                    "locale_code": {
 27035                      "description": "locale code",
 27036                      "type": "string",
 27037                      "example": "de-DE"
 27038                    },
 27039                    "user_ids": {
 27040                      "description": "Array of user ids to be assigned to the job template locale",
 27041                      "type": "array",
 27042                      "items": {
 27043                        "type": "string"
 27044                      },
 27045                      "example": [
 27046                        "abcd1234cdef1234abcd1234cdef1234"
 27047                      ]
 27048                    },
 27049                    "reviewer_ids": {
 27050                      "description": "Array of reviewer ids to be assigned to the job template locale",
 27051                      "type": "array",
 27052                      "items": {
 27053                        "type": "string"
 27054                      },
 27055                      "example": [
 27056                        "abcd1234cdef1234abcd1234cdef1234"
 27057                      ]
 27058                    },
 27059                    "translator_team_ids": {
 27060                      "description": "Array of team ids to be assigned to the job locale as translators",
 27061                      "type": "array",
 27062                      "items": {
 27063                        "type": "string"
 27064                      },
 27065                      "example": [
 27066                        "abcd1234cdef1234abcd1234cdef1234"
 27067                      ]
 27068                    },
 27069                    "reviewer_team_ids": {
 27070                      "description": "Array of team ids to be assigned to the job locale as reviewers",
 27071                      "type": "array",
 27072                      "items": {
 27073                        "type": "string"
 27074                      },
 27075                      "example": [
 27076                        "abcd1234cdef1234abcd1234cdef1234"
 27077                      ]
 27078                    }
 27079                  },
 27080                  "required": [
 27081                    "locale_name",
 27082                    "locale_code"
 27083                  ]
 27084                }
 27085              }
 27086            }
 27087          },
 27088          "x-cli-version": "2.7.0"
 27089        }
 27090      },
 27091      "/accounts/{account_id}/job_templates/{job_template_id}/locales/{job_template_locale_id}": {
 27092        "get": {
 27093          "summary": "Get a single organization job template locale",
 27094          "description": "Get a single job template locale for a given organization job template.",
 27095          "operationId": "organization_job_template_locale/show",
 27096          "tags": [
 27097            "Organization Job Template Locales"
 27098          ],
 27099          "parameters": [
 27100            {
 27101              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 27102            },
 27103            {
 27104              "$ref": "#/components/parameters/account_id"
 27105            },
 27106            {
 27107              "$ref": "#/components/parameters/job_template_id"
 27108            },
 27109            {
 27110              "$ref": "#/components/parameters/job_template_locale_id"
 27111            }
 27112          ],
 27113          "responses": {
 27114            "200": {
 27115              "description": "OK",
 27116              "content": {
 27117                "application/json": {
 27118                  "schema": {
 27119                    "$ref": "#/components/schemas/job_template_locales"
 27120                  }
 27121                }
 27122              },
 27123              "headers": {
 27124                "X-Rate-Limit-Limit": {
 27125                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 27126                },
 27127                "X-Rate-Limit-Remaining": {
 27128                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 27129                },
 27130                "X-Rate-Limit-Reset": {
 27131                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 27132                }
 27133              }
 27134            },
 27135            "400": {
 27136              "$ref": "#/components/responses/400"
 27137            },
 27138            "404": {
 27139              "$ref": "#/components/responses/404"
 27140            },
 27141            "429": {
 27142              "$ref": "#/components/responses/429"
 27143            }
 27144          },
 27145          "x-code-samples": [
 27146            {
 27147              "lang": "Curl",
 27148              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/job_templates/:job_template_id/locales/:job_template_locale_id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN"
 27149            },
 27150            {
 27151              "lang": "CLI v2",
 27152              "source": "phrase organization_job_template_locales show \\\n--account_id <account_id> \\\n--job_template_id <job_template_id> \\\n--job_template_locale_id <job_template_locale_id> \\\n--access_token <token>"
 27153            }
 27154          ],
 27155          "x-cli-version": "2.7.0"
 27156        },
 27157        "patch": {
 27158          "summary": "Update an organization job template locale",
 27159          "description": "Update an existing organization job template locale.",
 27160          "operationId": "organization_job_template_locale/update",
 27161          "tags": [
 27162            "Organization Job Template Locales"
 27163          ],
 27164          "parameters": [
 27165            {
 27166              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 27167            },
 27168            {
 27169              "$ref": "#/components/parameters/account_id"
 27170            },
 27171            {
 27172              "$ref": "#/components/parameters/job_template_id"
 27173            },
 27174            {
 27175              "$ref": "#/components/parameters/job_template_locale_id"
 27176            }
 27177          ],
 27178          "responses": {
 27179            "200": {
 27180              "description": "OK",
 27181              "content": {
 27182                "application/json": {
 27183                  "schema": {
 27184                    "$ref": "#/components/schemas/job_template_locales"
 27185                  }
 27186                }
 27187              },
 27188              "headers": {
 27189                "X-Rate-Limit-Limit": {
 27190                  "$ref": "#/components/headers/X-Rate-Limit-Limit"
 27191                },
 27192                "X-Rate-Limit-Remaining": {
 27193                  "$ref": "#/components/headers/X-Rate-Limit-Remaining"
 27194                },
 27195                "X-Rate-Limit-Reset": {
 27196                  "$ref": "#/components/headers/X-Rate-Limit-Reset"
 27197                }
 27198              }
 27199            },
 27200            "400": {
 27201              "$ref": "#/components/responses/400"
 27202            },
 27203            "404": {
 27204              "$ref": "#/components/responses/404"
 27205            },
 27206            "429": {
 27207              "$ref": "#/components/responses/429"
 27208            }
 27209          },
 27210          "x-code-samples": [
 27211            {
 27212              "lang": "Curl",
 27213              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/job_templates/:job_template_id/locales/:job_template_locale_id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X PATCH \\\n  -d '{\"locale_name\":\"de-1\",\"locale_code:\"de-DE\",\"user_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"],\"reviewer_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"],\"translator_team_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n  -H 'Content-Type: application/json'"
 27214            },
 27215            {
 27216              "lang": "CLI v2",
 27217              "source": "phrase organization_job_template_locales update \\\n--account_id <account_id> \\\n--job_template_id <job_template_id> \\\n--job_template_locale_id <job_template_locale_id> \\\n--data '{\"locale_name\": \"de-1\", \"locale_code: \"de-DE\", \"user_ids\": \"abcd1234cdef1234abcd1234cdef1234\", \"reviewer_ids\": \"abcd1234cdef1234abcd1234cdef1234\",\"translator_team_ids\": \"abcd1234cdef1234abcd1234cdef1234\"}' \\\n--access_token <token>"
 27218            }
 27219          ],
 27220          "requestBody": {
 27221            "required": true,
 27222            "content": {
 27223              "application/json": {
 27224                "schema": {
 27225                  "type": "object",
 27226                  "title": "organization_job_template_locale/update/parameters",
 27227                  "properties": {
 27228                    "locale_name": {
 27229                      "description": "locale name",
 27230                      "type": "string",
 27231                      "example": "de-1"
 27232                    },
 27233                    "locale_code": {
 27234                      "description": "locale code",
 27235                      "type": "string",
 27236                      "example": "de-DE"
 27237                    },
 27238                    "user_ids": {
 27239                      "description": "Array of user ids to be assigned to the job template locale",
 27240                      "type": "array",
 27241                      "items": {
 27242                        "type": "string"
 27243                      },
 27244                      "example": [
 27245                        "abcd1234cdef1234abcd1234cdef1234"
 27246                      ]
 27247                    },
 27248                    "reviewer_ids": {
 27249                      "description": "Array of reviewer ids to be assigned to the job template locale",
 27250                      "type": "array",
 27251                      "items": {
 27252                        "type": "string"
 27253                      },
 27254                      "example": [
 27255                        "abcd1234cdef1234abcd1234cdef1234"
 27256                      ]
 27257                    },
 27258                    "translator_team_ids": {
 27259                      "description": "Array of team ids to be assigned to the job locale as translators",
 27260                      "type": "array",
 27261                      "items": {
 27262                        "type": "string"
 27263                      },
 27264                      "example": [
 27265                        "abcd1234cdef1234abcd1234cdef1234"
 27266                      ]
 27267                    },
 27268                    "reviewer_team_ids": {
 27269                      "description": "Array of team ids to be assigned to the job locale as reviewers",
 27270                      "type": "array",
 27271                      "items": {
 27272                        "type": "string"
 27273                      },
 27274                      "example": [
 27275                        "abcd1234cdef1234abcd1234cdef1234"
 27276                      ]
 27277                    }
 27278                  }
 27279                }
 27280              }
 27281            }
 27282          },
 27283          "x-cli-version": "2.7.0"
 27284        },
 27285        "delete": {
 27286          "summary": "Delete an organization job template locale",
 27287          "description": "Delete an existing organization job template locale.",
 27288          "operationId": "organization_job_template_locale/delete",
 27289          "tags": [
 27290            "Organization Job Template Locales"
 27291          ],
 27292          "parameters": [
 27293            {
 27294              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 27295            },
 27296            {
 27297              "$ref": "#/components/parameters/account_id"
 27298            },
 27299            {
 27300              "$ref": "#/components/parameters/job_template_id"
 27301            },
 27302            {
 27303              "$ref": "#/components/parameters/job_template_locale_id"
 27304            }
 27305          ],
 27306          "responses": {
 27307            "204": {
 27308              "$ref": "#/components/responses/204"
 27309            },
 27310            "400": {
 27311              "$ref": "#/components/responses/400"
 27312            },
 27313            "404": {
 27314              "$ref": "#/components/responses/404"
 27315            },
 27316            "429": {
 27317              "$ref": "#/components/responses/429"
 27318            }
 27319          },
 27320          "x-code-samples": [
 27321            {
 27322              "lang": "Curl",
 27323              "source": "curl \"https://api.phrase.com/v2/accounts/:account_id/job_templates/:job_template_id/locales/:job_template_locale_id\" \\\n  -u USERNAME_OR_ACCESS_TOKEN \\\n  -X DELETE \\\n  -H 'Content-Type: application/json'"
 27324            },
 27325            {
 27326              "lang": "CLI v2",
 27327              "source": "phrase organization_job_template_locales delete \\\n--account_id <account_id> \\\n--job_template_id <job_template_id> \\\n--job_template_locale_id <job_template_locale_id> \\\n--access_token <token>"
 27328            }
 27329          ],
 27330          "x-cli-version": "2.7.0"
 27331        }
 27332      },
 27333      "/projects/{project_id}/keys/{id}/key_links": {
 27334        "delete": {
 27335          "summary": "Batch unlink child keys from a parent key",
 27336          "description": "Unlinks multiple child keys from a given parent key in a single operation.",
 27337          "operationId": "key_links/batch_destroy",
 27338          "tags": [
 27339            "Linked Keys"
 27340          ],
 27341          "parameters": [
 27342            {
 27343              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 27344            },
 27345            {
 27346              "$ref": "#/components/parameters/project_id"
 27347            },
 27348            {
 27349              "$ref": "#/components/parameters/key_id_as_id"
 27350            }
 27351          ],
 27352          "requestBody": {
 27353            "required": true,
 27354            "content": {
 27355              "application/json": {
 27356                "schema": {
 27357                  "required": [
 27358                    "child_key_ids"
 27359                  ],
 27360                  "type": "object",
 27361                  "title": "key_links/batch_destroy/parameters",
 27362                  "properties": {
 27363                    "child_key_ids": {
 27364                      "description": "The IDs of the child keys to unlink from the parent key.",
 27365                      "type": "array",
 27366                      "example": [
 27367                        "child_key_id1",
 27368                        "child_key_id2"
 27369                      ],
 27370                      "items": {
 27371                        "type": "string"
 27372                      }
 27373                    },
 27374                    "unlink_parent": {
 27375                      "description": "Whether to unlink the parent key as well and unmark it as linked-key.",
 27376                      "type": "boolean",
 27377                      "default": false
 27378                    }
 27379                  }
 27380                }
 27381              }
 27382            }
 27383          },
 27384          "responses": {
 27385            "200": {
 27386              "description": "OK"
 27387            },
 27388            "422": {
 27389              "$ref": "#/components/responses/422"
 27390            }
 27391          }
 27392        },
 27393        "get": {
 27394          "summary": "List child keys of a parent key",
 27395          "description": "Returns detailed information about a parent key, including its linked child keys.",
 27396          "operationId": "key_links/index",
 27397          "tags": [
 27398            "Linked Keys"
 27399          ],
 27400          "parameters": [
 27401            {
 27402              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 27403            },
 27404            {
 27405              "$ref": "#/components/parameters/project_id"
 27406            },
 27407            {
 27408              "$ref": "#/components/parameters/key_id_as_id"
 27409            }
 27410          ],
 27411          "responses": {
 27412            "200": {
 27413              "description": "OK",
 27414              "content": {
 27415                "application/json": {
 27416                  "schema": {
 27417                    "$ref": "#/components/schemas/key_link"
 27418                  }
 27419                }
 27420              }
 27421            },
 27422            "400": {
 27423              "description": "Bad Request",
 27424              "content": {
 27425                "application/json": {
 27426                  "schema": {
 27427                    "type": "object",
 27428                    "properties": {
 27429                      "message": {
 27430                        "type": "string"
 27431                      }
 27432                    },
 27433                    "example": {
 27434                      "message": "Key <parent_key_code> is not a parent key"
 27435                    }
 27436                  }
 27437                }
 27438              }
 27439            }
 27440          }
 27441        },
 27442        "post": {
 27443          "summary": "Link child keys to a parent key",
 27444          "description": "Creates links between a given parent key and one or more child keys.",
 27445          "operationId": "key_links/create",
 27446          "tags": [
 27447            "Linked Keys"
 27448          ],
 27449          "parameters": [
 27450            {
 27451              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 27452            },
 27453            {
 27454              "$ref": "#/components/parameters/project_id"
 27455            },
 27456            {
 27457              "$ref": "#/components/parameters/key_id_as_id"
 27458            }
 27459          ],
 27460          "requestBody": {
 27461            "required": true,
 27462            "content": {
 27463              "application/json": {
 27464                "schema": {
 27465                  "required": [
 27466                    "child_key_ids"
 27467                  ],
 27468                  "type": "object",
 27469                  "title": "key_links/create/parameters",
 27470                  "properties": {
 27471                    "child_key_ids": {
 27472                      "description": "The IDs of the child keys to link to the parent key. Can be left empty, to only mark the given translation-key as parent",
 27473                      "type": "array",
 27474                      "example": [
 27475                        "child_key_id1",
 27476                        "child_key_id2"
 27477                      ],
 27478                      "items": {
 27479                        "type": "string"
 27480                      }
 27481                    }
 27482                  }
 27483                }
 27484              }
 27485            }
 27486          },
 27487          "responses": {
 27488            "201": {
 27489              "description": "Created",
 27490              "content": {
 27491                "application/json": {
 27492                  "schema": {
 27493                    "$ref": "#/components/schemas/key_link"
 27494                  }
 27495                }
 27496              }
 27497            },
 27498            "422": {
 27499              "$ref": "#/components/responses/422"
 27500            }
 27501          }
 27502        }
 27503      },
 27504      "/projects/{project_id}/keys/{id}/key_links/{child_key_id}": {
 27505        "delete": {
 27506          "summary": "Unlink a child key from a parent key",
 27507          "description": "Unlinks a single child key from a given parent key.",
 27508          "operationId": "key_links/destroy",
 27509          "tags": [
 27510            "Linked Keys"
 27511          ],
 27512          "parameters": [
 27513            {
 27514              "$ref": "#/components/parameters/X-PhraseApp-OTP"
 27515            },
 27516            {
 27517              "$ref": "#/components/parameters/project_id"
 27518            },
 27519            {
 27520              "$ref": "#/components/parameters/key_id_as_id"
 27521            },
 27522            {
 27523              "in": "path",
 27524              "name": "child_key_id",
 27525              "required": true,
 27526              "description": "The ID of the child key to unlink.",
 27527              "schema": {
 27528                "type": "string"
 27529              }
 27530            }
 27531          ],
 27532          "responses": {
 27533            "200": {
 27534              "description": "OK"
 27535            },
 27536            "422": {
 27537              "$ref": "#/components/responses/422"
 27538            }
 27539          }
 27540        }
 27541      }
 27542    }
 27543  }
 27544