From 2c8b0e359a2333d3f35aab3a5718890a07487fc4 Mon Sep 17 00:00:00 2001 From: sbruhns Date: Wed, 20 May 2026 13:36:18 +0200 Subject: [PATCH 1/8] docs: align and improve API doc coverage across v2 endpoints MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A broad pass over the v2 spec to make documented behavior match the actual API. Every change reflects behavior the API already exhibits; no endpoint behavior is altered. ## Response coverage Every v2 operation now documents 401, 403, and (where applicable) 422 alongside the previously-documented 400/404/429. The 403 description on each operation calls out the required OAuth scope, the permission needed, and any account-feature requirement (e.g. Glossary, Webhooks, Job Templates, Over-the-Air Translations, Attachable Screenshots, Verification System, Advanced Workflows, Workflow, Batch Actions, Branching, Automation Job Creation, GitLab Sync, History). ### Status-code corrections - `POST /projects/{project_id}/jobs/{id}/lock` and `.../unlock` now document the 200 JSON response (was incorrectly listed as 204). - `GET /projects/{project_id}/locales/{locale_id}/downloads/{id}` documents 410 Gone for expired downloads. ## New request-body fields Documents fields the API has been accepting but the spec did not list: - **Projects** (create + update): `smart_suggest_enabled`, `smart_suggest_use_glossary`, `smart_suggest_use_machine_translation`, `translation_keys_sort_collation`, `autocomplete_job_enabled`, `job_locking_enabled`, `cldr_version`. `default_encoding` is now also accepted on create (it was previously only documented on update). - **Branches/create**: `base` for chaining branches in the newer branching system. - **Locales** (create + update): `unverify_on_source_changes`, `language_ai_profile`. - **Translations**: `minor_change` on create + update; `reviewed` on create (was previously only on update). - **Keys** (create + update): `excluded_in_locales`, `format_value_type`. - **Uploads/create**: `skip_automated_job_creation`, `figma_page_name`, `upload_meta_data`. - **Automations** (create + update): `job_owner_id`, `include_only_updated_locales`. - **ICU/skeleton**: `id` as an alternative source of content (mutually exclusive with `content`). - **Search/in_account**: `project_ids` to scope the search. ## New query parameters - **Projects/list**: `q` (with the `name:` substring syntax), enum-tightened `sort_by` and `filters`. - **Translations/list**: `key_id` and `locale_id` as filters equivalent to the nested-route forms. - **Jobs/list**: `states` (multiple at once) and `key_id`. - **Jobs/show**: `include_figma_preview_attachment`. - **Tags/list**: `only_system_tags` (inverse of `exclude_system_tags`). - **Comments/list**: tightened `filters` (`read`/`unread`) and `order` (`asc`/`desc`) to proper enums. - **Documents/list**: `q` search. - **Notifications/list**: `last_days`. - **Translation orders/list**: `translation_id` filter. - **Account locales/list**: `page` and `per_page` (pagination is supported by the endpoint). ## Schema corrections Fields the API emits are now declared in the corresponding schema: - **upload_batch**: field renamed from `state` to `status` (matches the actual JSON payload); adds `uploads_count`. - **translation_order**: field renamed from `tag` to `tag_name`. - **invitation**: field renamed from `project_role` to `project_roles` (plural — the API emits an array). - **distribution**: renamed `distribution_preview` schema to `distribution_details`; adds `release_count`, `updated_at`; marks `deleted_at` nullable. - **release**: adds `locale_codes` (the form returned by list endpoints) and `state` (returned by show); clarifies that the full `locales` array is only returned by the show endpoint. - **automation**: adds `project_ids`, `job_owner_id`, `include_only_updated_locales`. - **branch**: adds the `base` field and a proper `state` enum (`creating_branch`, `merging_branch`, `syncing_branch`, `merged`, `success`, `branch_error`, `merge_conflict`). - **locale**: adds `language_ai_profile`, and `unverify_on_source_changes` (returned only when the account feature is enabled). - **glossary**: adds `spaces`. **glossary_term**: adds the parent `glossary` association. - **project_details**: adds `branch`, `autotranslate_overwrite_unverified_translations`, `autocomplete_job_enabled`. - **job_details**: adds `locked` and `figma_preview_attachment`; documents `annotations` as conditional on `include_annotations=true`. - **key_preview** (shared by jobs, translations, versions, search, glossary terms, comments): adds `data_type` and `tags`. - **screenshot_marker**: `presentation` is now typed as a JSON object with `x`, `y`, `w`, `h` (was incorrectly typed as a string). - **repo_sync**: adds `pr_branch`. - **job_template** and **organization_job_template**: add `autotranslate_enabled`. The organization variant also gets an optional `source_locale_id`. - **tag**: adds `system_tag`. - **account_details**: notes that `roles` is only returned when the account has the Bot Role beta feature enabled. ## Enum tightening Constraints the API enforces are now declared as enums in the spec: - `authorizations.scopes`: `read`, `write`, `orders.create`, `team.manage`. - Style guides: `target_audience`, `grammatical_person`, and `vocabulary_type` are constrained to fixed value sets. - Branches merge/sync: `strategy` accepts `use_main`, `use_branch`, and the deprecated alias `use_master`. ## Operation descriptions Filled in gaps where the API does work the prior description did not mention: - Asynchronous cascades on branches create/merge/sync, projects create with `source_project_id`, projects destroy, releases publish, webhooks test, and locale downloads create. - Soft-delete semantics on job templates, projects, distributions. - Default values (e.g. `shares_translation_memory` defaults to `true` on non-clone project creates). - Feature-availability notes on every operation gated by a paid or beta feature. --- paths/accounts/index.yaml | 5 ++ paths/accounts/locales.yaml | 7 +++ paths/accounts/show.yaml | 5 ++ paths/authorizations/create.yaml | 12 +++++ paths/authorizations/destroy.yaml | 7 +++ paths/authorizations/index.yaml | 5 ++ paths/authorizations/show.yaml | 5 ++ paths/authorizations/update.yaml | 12 +++++ paths/automations/activate.yaml | 7 +++ paths/automations/create.yaml | 17 ++++++ paths/automations/deactivate.yaml | 7 +++ paths/automations/destroy.yaml | 5 ++ paths/automations/index.yaml | 5 ++ paths/automations/show.yaml | 5 ++ paths/automations/trigger.yaml | 7 +++ paths/automations/update.yaml | 17 ++++++ paths/blacklisted_keys/create.yaml | 7 +++ paths/blacklisted_keys/destroy.yaml | 7 +++ paths/blacklisted_keys/index.yaml | 5 ++ paths/blacklisted_keys/show.yaml | 5 ++ paths/blacklisted_keys/update.yaml | 7 +++ paths/branches/create.yaml | 17 +----- paths/branches/destroy.yaml | 17 +----- paths/branches/index.yaml | 10 +--- paths/branches/merge.yaml | 26 ++-------- paths/branches/show.yaml | 10 +--- paths/branches/sync.yaml | 23 ++------ paths/branches/update.yaml | 12 +---- paths/comments/check_if_read.yaml | 5 ++ paths/comments/create.yaml | 7 +++ paths/comments/destroy.yaml | 7 +++ paths/comments/index.yaml | 17 +++++- paths/comments/mark_as_read.yaml | 7 +++ paths/comments/show.yaml | 5 ++ paths/comments/unmark_as_read.yaml | 7 +++ paths/comments/update.yaml | 7 +++ paths/distributions/create.yaml | 9 +++- paths/distributions/destroy.yaml | 7 +++ paths/distributions/index.yaml | 7 ++- paths/distributions/show.yaml | 7 ++- paths/distributions/update.yaml | 9 +++- paths/documents/destroy.yaml | 7 +++ paths/documents/index.yaml | 12 +++++ paths/figma_attachments/create.yaml | 7 +++ paths/figma_attachments/destroy.yaml | 7 +++ paths/figma_attachments/index.yaml | 5 ++ paths/figma_attachments/show.yaml | 5 ++ paths/figma_attachments/update.yaml | 7 +++ paths/glossaries/create.yaml | 7 +++ paths/glossaries/destroy.yaml | 7 +++ paths/glossaries/index.yaml | 5 ++ paths/glossaries/show.yaml | 5 ++ paths/glossaries/update.yaml | 7 +++ paths/glossary_term_translations/create.yaml | 7 +++ paths/glossary_term_translations/destroy.yaml | 7 +++ paths/glossary_term_translations/update.yaml | 7 +++ paths/glossary_terms/create.yaml | 7 +++ paths/glossary_terms/destroy.yaml | 7 +++ paths/glossary_terms/index.yaml | 5 ++ paths/glossary_terms/show.yaml | 5 ++ paths/glossary_terms/update.yaml | 7 +++ paths/icu/skeleton.yaml | 13 ++++- paths/invitations/destroy.yaml | 2 + paths/invitations/resend.yaml | 2 + paths/invitations/update.yaml | 2 + paths/invitations/update_settings.yaml | 2 + paths/job_templates/create.yaml | 7 +++ paths/job_templates/destroy.yaml | 7 +++ paths/job_templates/index.yaml | 5 ++ paths/job_templates/show.yaml | 5 ++ paths/job_templates/update.yaml | 7 +++ paths/jobs/complete.yaml | 7 +++ paths/jobs/create.yaml | 7 +++ paths/jobs/destroy.yaml | 7 +++ paths/jobs/index.yaml | 23 ++++++++ paths/jobs/index_account.yaml | 5 ++ paths/jobs/lock.yaml | 22 +++++++- paths/jobs/reopen.yaml | 7 +++ paths/jobs/show.yaml | 5 ++ paths/jobs/start.yaml | 7 +++ paths/jobs/unlock.yaml | 22 +++++++- paths/jobs/update.yaml | 7 +++ paths/key_links/batch_destroy.yaml | 11 ++++ paths/key_links/create.yaml | 11 ++++ paths/key_links/destroy.yaml | 11 ++++ paths/key_links/index.yaml | 9 ++++ paths/keys/create.yaml | 21 ++++++++ paths/keys/destroy-collection.yaml | 5 ++ paths/keys/destroy.yaml | 7 +++ paths/keys/exclude.yaml | 5 ++ paths/keys/include.yaml | 5 ++ paths/keys/index.yaml | 5 ++ paths/keys/search.yaml | 5 ++ paths/keys/show.yaml | 5 ++ paths/keys/tag.yaml | 7 +++ paths/keys/untag.yaml | 5 ++ paths/keys/update.yaml | 21 ++++++++ paths/locale_downloads/create.yaml | 7 +++ paths/locale_downloads/show.yaml | 8 +++ paths/locales/create.yaml | 7 +++ paths/locales/destroy.yaml | 7 +++ paths/locales/index.yaml | 11 ++-- paths/locales/show.yaml | 5 ++ paths/locales/update.yaml | 7 +++ paths/members/destroy.yaml | 2 + paths/members/update.yaml | 2 + paths/members/update_settings.yaml | 2 + paths/notification_groups/index.yaml | 5 ++ .../notification_groups/mark_all_as_read.yaml | 5 ++ paths/notification_groups/mark_as_read.yaml | 5 ++ paths/notifications/index.yaml | 12 +++++ paths/notifications/mark_all_as_read.yaml | 5 ++ paths/orders/confirm.yaml | 7 +++ paths/orders/create.yaml | 7 +++ paths/orders/destroy.yaml | 7 +++ paths/orders/index.yaml | 12 +++++ paths/orders/show.yaml | 5 ++ paths/organization_job_templates/create.yaml | 7 +++ paths/organization_job_templates/destroy.yaml | 7 +++ paths/organization_job_templates/index.yaml | 5 ++ paths/organization_job_templates/show.yaml | 5 ++ paths/organization_job_templates/update.yaml | 7 +++ paths/projects/create.yaml | 52 ++++++++++++++++++- paths/projects/destroy.yaml | 10 +++- paths/projects/index.yaml | 33 ++++++++++-- paths/projects/show.yaml | 5 ++ paths/projects/update.yaml | 38 +++++++++++++- paths/releases/create.yaml | 7 +++ paths/releases/destroy.yaml | 7 +++ paths/releases/index.yaml | 5 ++ paths/releases/publish.yaml | 7 +++ paths/releases/show.yaml | 5 ++ paths/releases/update.yaml | 7 +++ paths/repo_syncs/activate.yaml | 7 +++ paths/repo_syncs/create.yaml | 7 +++ paths/repo_syncs/deactivate.yaml | 7 +++ paths/repo_syncs/export.yaml | 7 +++ paths/repo_syncs/import.yaml | 7 +++ paths/repo_syncs/index.yaml | 5 ++ paths/repo_syncs/show.yaml | 5 ++ paths/reports/locales/index.yaml | 5 ++ paths/reports/show.yaml | 5 ++ paths/screenshot_markers/create.yaml | 7 +++ paths/screenshot_markers/destroy.yaml | 7 +++ paths/screenshot_markers/index.yaml | 5 ++ paths/screenshot_markers/show.yaml | 5 ++ paths/screenshot_markers/update.yaml | 7 +++ paths/screenshots/create.yaml | 7 +++ paths/screenshots/destroy.yaml | 7 +++ paths/screenshots/index.yaml | 5 ++ paths/screenshots/show.yaml | 5 ++ paths/screenshots/update.yaml | 7 +++ paths/search/in_account.yaml | 13 +++++ paths/styleguides/create.yaml | 35 +++++++++++-- paths/styleguides/destroy.yaml | 7 +++ paths/styleguides/index.yaml | 5 ++ paths/styleguides/show.yaml | 5 ++ paths/styleguides/update.yaml | 35 +++++++++++-- paths/tags/create.yaml | 7 +++ paths/tags/destroy.yaml | 7 +++ paths/tags/index.yaml | 13 ++++- paths/tags/show.yaml | 5 ++ paths/translations/batch_exclude.yaml | 5 ++ paths/translations/batch_include.yaml | 5 ++ paths/translations/batch_review.yaml | 7 +++ paths/translations/batch_unreview.yaml | 7 +++ paths/translations/batch_unverify.yaml | 7 +++ paths/translations/batch_verify.yaml | 7 +++ paths/translations/create.yaml | 17 ++++++ paths/translations/exclude.yaml | 7 +++ paths/translations/include.yaml | 7 +++ paths/translations/index.yaml | 19 +++++++ paths/translations/index_keys.yaml | 5 ++ paths/translations/index_locale.yaml | 5 ++ paths/translations/review.yaml | 7 +++ paths/translations/search.yaml | 5 ++ paths/translations/show.yaml | 5 ++ paths/translations/unreview.yaml | 7 +++ paths/translations/unverify.yaml | 7 +++ paths/translations/update.yaml | 12 +++++ paths/translations/verify.yaml | 7 +++ paths/upload_batches/create.yaml | 7 +++ paths/uploads/create.yaml | 13 +++++ paths/uploads/index.yaml | 5 ++ paths/uploads/show.yaml | 5 ++ paths/users/user.yaml | 5 ++ paths/variables/create.yaml | 7 +++ paths/variables/destroy.yaml | 7 +++ paths/variables/index.yaml | 5 ++ paths/variables/show.yaml | 5 ++ paths/variables/update.yaml | 7 +++ paths/versions/index.yaml | 5 ++ paths/versions/show.yaml | 5 ++ paths/webhooks/create.yaml | 7 +++ paths/webhooks/destroy.yaml | 7 +++ paths/webhooks/index.yaml | 5 ++ paths/webhooks/show.yaml | 5 ++ paths/webhooks/test.yaml | 14 ++++- paths/webhooks/update.yaml | 7 +++ schemas.yaml | 4 +- schemas/account_details.yaml | 2 + schemas/automation.yaml | 12 +++++ schemas/branch.yaml | 12 ----- schemas/distribution.yaml | 33 +++--------- schemas/distribution_details.yaml | 38 ++++++++++++++ schemas/distribution_preview.yaml | 37 ------------- schemas/glossary.yaml | 4 ++ schemas/glossary_term.yaml | 8 +++ schemas/invitation.yaml | 4 +- schemas/job_details.yaml | 5 ++ schemas/job_template.yaml | 4 ++ schemas/key_preview.yaml | 2 +- schemas/organization_job_template.yaml | 9 ++++ schemas/project_details.yaml | 10 ++++ schemas/release.yaml | 2 + schemas/repo_sync.yaml | 5 ++ schemas/screenshot_marker.yaml | 15 +++++- schemas/tag.yaml | 4 ++ schemas/translation_order.yaml | 5 +- schemas/upload_batch.yaml | 5 +- 220 files changed, 1667 insertions(+), 218 deletions(-) create mode 100644 schemas/distribution_details.yaml delete mode 100644 schemas/distribution_preview.yaml diff --git a/paths/accounts/index.yaml b/paths/accounts/index.yaml index 001fd02b4..a741edeb3 100644 --- a/paths/accounts/index.yaml +++ b/paths/accounts/index.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list accounts. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/accounts/locales.yaml b/paths/accounts/locales.yaml index 94289e322..b5366fcea 100644 --- a/paths/accounts/locales.yaml +++ b/paths/accounts/locales.yaml @@ -7,6 +7,8 @@ tags: parameters: - "$ref": "../../parameters.yaml#/X-PhraseApp-OTP" - "$ref": "../../parameters.yaml#/id" +- "$ref": "../../parameters.yaml#/page" +- "$ref": "../../parameters.yaml#/per_page" responses: '200': description: OK @@ -31,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this account. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/accounts/show.yaml b/paths/accounts/show.yaml index f5e78b7ee..2599fcb82 100644 --- a/paths/accounts/show.yaml +++ b/paths/accounts/show.yaml @@ -25,6 +25,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this account. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/authorizations/create.yaml b/paths/authorizations/create.yaml index ca044d50c..2f471c0c9 100644 --- a/paths/authorizations/create.yaml +++ b/paths/authorizations/create.yaml @@ -24,6 +24,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -57,6 +64,11 @@ requestBody: type: array items: type: string + enum: + - read + - write + - orders.create + - team.manage example: - read - write diff --git a/paths/authorizations/destroy.yaml b/paths/authorizations/destroy.yaml index 582575d82..b2682593e 100644 --- a/paths/authorizations/destroy.yaml +++ b/paths/authorizations/destroy.yaml @@ -14,6 +14,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this authorization. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/authorizations/index.yaml b/paths/authorizations/index.yaml index a3248af73..e4d7092a8 100644 --- a/paths/authorizations/index.yaml +++ b/paths/authorizations/index.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list their authorizations. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/authorizations/show.yaml b/paths/authorizations/show.yaml index 7cf171659..73a27a99b 100644 --- a/paths/authorizations/show.yaml +++ b/paths/authorizations/show.yaml @@ -25,6 +25,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this authorization. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/authorizations/update.yaml b/paths/authorizations/update.yaml index aa1303c9d..8e859b5bc 100644 --- a/paths/authorizations/update.yaml +++ b/paths/authorizations/update.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this authorization. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -57,6 +64,11 @@ requestBody: type: array items: type: string + enum: + - read + - write + - orders.create + - team.manage example: - read - write diff --git a/paths/automations/activate.yaml b/paths/automations/activate.yaml index ff1758dc6..1a20f76fa 100644 --- a/paths/automations/activate.yaml +++ b/paths/automations/activate.yaml @@ -29,6 +29,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to activate this automation, or when the account does not have the Automation Job Creation feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/automations/create.yaml b/paths/automations/create.yaml index 336ddce30..e9aa74427 100644 --- a/paths/automations/create.yaml +++ b/paths/automations/create.yaml @@ -68,6 +68,16 @@ requestBody: description: along with cron_schedule, specifies when the scheduled automation is supposed to run type: string example: GMT + job_owner_id: + description: | + User ID of the job owner that newly created jobs are assigned to. + type: string + example: abcd1234abcd1234abcd1234abcd1234 + include_only_updated_locales: + description: | + When `true`, the automation only acts on locales that changed since its last run. Defaults to `false`. + type: boolean + example: false responses: '201': description: Created @@ -88,6 +98,13 @@ responses: "$ref": "../../responses.yaml#/404" '422': "$ref": "../../responses.yaml#/422" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create automations in this account, or when the account does not have the Automation Job Creation feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/automations/deactivate.yaml b/paths/automations/deactivate.yaml index f737cb2d8..379e1c3dc 100644 --- a/paths/automations/deactivate.yaml +++ b/paths/automations/deactivate.yaml @@ -29,6 +29,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to deactivate this automation, or when the account does not have the Automation Job Creation feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/automations/destroy.yaml b/paths/automations/destroy.yaml index eec4bb2aa..60f06dfbb 100644 --- a/paths/automations/destroy.yaml +++ b/paths/automations/destroy.yaml @@ -18,6 +18,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this automation, or when the account does not have the Automation Job Creation feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/automations/index.yaml b/paths/automations/index.yaml index 9d0e9d24a..be528379b 100644 --- a/paths/automations/index.yaml +++ b/paths/automations/index.yaml @@ -38,6 +38,11 @@ responses: "$ref": "../../responses.yaml#/403" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list automations in this account, or when the account does not have the Automation Job Creation feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/automations/show.yaml b/paths/automations/show.yaml index 0b226df5b..86b0f856c 100644 --- a/paths/automations/show.yaml +++ b/paths/automations/show.yaml @@ -29,6 +29,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this automation, or when the account does not have the Automation Job Creation feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/automations/trigger.yaml b/paths/automations/trigger.yaml index 353408f6f..812954ad6 100644 --- a/paths/automations/trigger.yaml +++ b/paths/automations/trigger.yaml @@ -16,6 +16,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to trigger this automation, or when the account does not have the Automation Job Creation feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/automations/update.yaml b/paths/automations/update.yaml index cd2b27fe6..c3eaa8305 100644 --- a/paths/automations/update.yaml +++ b/paths/automations/update.yaml @@ -66,6 +66,16 @@ requestBody: description: along with cron_schedule, specifies when the scheduled automation is supposed to run type: string example: GMT + job_owner_id: + description: | + User ID of the job owner that newly created jobs are assigned to. + type: string + example: abcd1234abcd1234abcd1234abcd1234 + include_only_updated_locales: + description: | + When `true`, the automation only acts on locales that changed since its last run. + type: boolean + example: false responses: '200': description: OK @@ -84,6 +94,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this automation, or when the account does not have the Automation Job Creation feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/blacklisted_keys/create.yaml b/paths/blacklisted_keys/create.yaml index 36dd6c762..d529f808e 100644 --- a/paths/blacklisted_keys/create.yaml +++ b/paths/blacklisted_keys/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create blocked keys in this project. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/blacklisted_keys/destroy.yaml b/paths/blacklisted_keys/destroy.yaml index fb4bfac53..f247db8b9 100644 --- a/paths/blacklisted_keys/destroy.yaml +++ b/paths/blacklisted_keys/destroy.yaml @@ -15,6 +15,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this blocked key. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/blacklisted_keys/index.yaml b/paths/blacklisted_keys/index.yaml index 903446537..a2a4c8432 100644 --- a/paths/blacklisted_keys/index.yaml +++ b/paths/blacklisted_keys/index.yaml @@ -39,6 +39,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list blocked keys in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/blacklisted_keys/show.yaml b/paths/blacklisted_keys/show.yaml index ee6983703..36ac821e9 100644 --- a/paths/blacklisted_keys/show.yaml +++ b/paths/blacklisted_keys/show.yaml @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this blocked key. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/blacklisted_keys/update.yaml b/paths/blacklisted_keys/update.yaml index 9525b68b7..32d5a5864 100644 --- a/paths/blacklisted_keys/update.yaml +++ b/paths/blacklisted_keys/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this blocked key. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/branches/create.yaml b/paths/branches/create.yaml index 950748745..6cc27b9a1 100644 --- a/paths/branches/create.yaml +++ b/paths/branches/create.yaml @@ -2,11 +2,7 @@ summary: Create a branch description: | Create a new branch. - - Branch project provisioning runs asynchronously, so the newly created branch is returned in a transitional state (typically `creating_branch`) and only reaches `success` once the underlying project has been set up. Poll the branch resource until its `state` becomes `success` before performing further operations on it. - - Requires the Branching feature to be enabled on the account. - + *Note: Creating a new branch may take several minutes depending on the project size.* operationId: branch/create tags: @@ -30,15 +26,8 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" - '401': - "$ref": "../../responses.yaml#/401" - '403': - "$ref": "../../responses.yaml#/403" - description: Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to create branches in this project, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" - '422': - "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -69,8 +58,4 @@ requestBody: description: Name of the branch type: string example: my-branch - base: - description: Name of an existing branch to use as the base for the new branch. - type: string - example: parent-branch x-cli-version: '2.5' diff --git a/paths/branches/destroy.yaml b/paths/branches/destroy.yaml index a2d165be2..8ceefe0a7 100644 --- a/paths/branches/destroy.yaml +++ b/paths/branches/destroy.yaml @@ -1,11 +1,6 @@ --- summary: Delete a branch -description: | - Delete an existing branch. - - A branch cannot be deleted while it still has open jobs or open translation orders attached to its branch project — in that case the request is rejected with `409 Conflict`. A branch whose current `state` does not allow deletion (for example, while a merge or sync is in progress) is rejected with `422 Unprocessable Entity`. - - Requires the Branching feature to be enabled on the account. +description: Delete an existing branch. operationId: branch/delete tags: - Branches @@ -18,18 +13,8 @@ responses: "$ref": "../../responses.yaml#/204" '400': "$ref": "../../responses.yaml#/400" - '401': - "$ref": "../../responses.yaml#/401" - '403': - "$ref": "../../responses.yaml#/403" - description: Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to delete this branch, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" - '409': - "$ref": "../../responses.yaml#/409" - description: Conflict. The branch has open jobs or open translation orders. The response body lists the blockers, for example `{"errors":["open_jobs","open_orders"]}`. Close or complete the listed resources before retrying. - '422': - "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/branches/index.yaml b/paths/branches/index.yaml index 08836350e..b80656d64 100644 --- a/paths/branches/index.yaml +++ b/paths/branches/index.yaml @@ -1,9 +1,6 @@ --- summary: List branches -description: | - List all branches of the current project. - - Requires the Branching feature to be enabled on the account. +description: List all branches the of the current project. operationId: branches/list tags: - Branches @@ -34,11 +31,6 @@ responses: "$ref": "../../headers.yaml#/Pagination" '400': "$ref": "../../responses.yaml#/400" - '401': - "$ref": "../../responses.yaml#/401" - '403': - "$ref": "../../responses.yaml#/403" - description: Forbidden. Returned when the access token lacks the `read` scope, when the user is not allowed to read branches in this project, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" '429': diff --git a/paths/branches/merge.yaml b/paths/branches/merge.yaml index a09b5be48..53a73d0ce 100644 --- a/paths/branches/merge.yaml +++ b/paths/branches/merge.yaml @@ -1,13 +1,7 @@ --- summary: Merge a branch description: | - Merge an existing branch back into its base branch. - - The merge runs asynchronously. The branch transitions to `merging_branch` and settles in `merged`, `merge_error`, or `merge_conflict` once the background job completes; the response body for this request is empty. Poll the branch resource to observe the final state. - - A branch cannot be merged while it still has open jobs or open translation orders attached to its branch project — in that case the request is rejected with `409 Conflict`. A branch whose current `state` does not allow a merge is rejected with `422 Unprocessable Entity`. - - Requires the Branching feature to be enabled on the account. + Merge an existing branch. *Note: Merging a branch may take several minutes depending on diff size.* operationId: branch/merge @@ -19,7 +13,7 @@ parameters: - "$ref": "../../parameters.yaml#/name" responses: '200': - description: OK. The merge has been scheduled. The response body is empty; observe progress by polling the branch resource. + description: OK headers: X-Rate-Limit-Limit: "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" @@ -29,18 +23,8 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" - '401': - "$ref": "../../responses.yaml#/401" - '403': - "$ref": "../../responses.yaml#/403" - description: Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to merge this branch, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" - '409': - "$ref": "../../responses.yaml#/409" - description: Conflict. The branch has open jobs or open translation orders. The response body lists the blockers, for example `{"errors":["open_jobs","open_orders"]}`. Close or complete the listed resources before retrying. - '422': - "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -67,10 +51,6 @@ requestBody: title: branch/merge/parameters properties: strategy: - description: | - Conflict resolution strategy applied when the branch and its base have diverged. `use_main` keeps the values from the base branch; `use_branch` keeps the values from the branch being merged. + description: strategy used for merge conflicts, use_main or use_branch type: string - enum: - - use_main - - use_branch example: use_main diff --git a/paths/branches/show.yaml b/paths/branches/show.yaml index 06dd80be9..715bf6dbf 100644 --- a/paths/branches/show.yaml +++ b/paths/branches/show.yaml @@ -1,9 +1,6 @@ --- summary: Get a single branch -description: | - Get details on a single branch for a given project. - - Requires the Branching feature to be enabled on the account. +description: Get details on a single branch for a given project. operationId: branch/show tags: - Branches @@ -27,11 +24,6 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" - '401': - "$ref": "../../responses.yaml#/401" - '403': - "$ref": "../../responses.yaml#/403" - description: Forbidden. Returned when the access token lacks the `read` scope, when the user is not allowed to read this branch, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" '429': diff --git a/paths/branches/sync.yaml b/paths/branches/sync.yaml index 9317f0bb9..0b8c3e8a1 100644 --- a/paths/branches/sync.yaml +++ b/paths/branches/sync.yaml @@ -1,13 +1,9 @@ --- summary: Sync a branch description: | - Pull changes from the base branch into this branch, applying the chosen conflict-resolution strategy. + Sync an existing branch. - The sync runs asynchronously. The branch transitions to `syncing_branch` and settles back into `success` (or `merge_conflict` / `branch_error`) once the background job completes; the response body for this request is empty. Poll the branch resource to observe the final state. - - Only branches created with the newer branching system can be synced. Requests against branches from the older system, or against branches whose current state does not allow a sync, are rejected with `422 Unprocessable Entity` and an empty body. - - Requires the Branching feature to be enabled on the account. + *Note: Only available for branches created with new branching.* operationId: branch/sync tags: - Branches @@ -17,7 +13,7 @@ parameters: - "$ref": "../../parameters.yaml#/name" responses: '200': - description: OK. The sync has been scheduled. The response body is empty; observe progress by polling the branch resource. + description: OK headers: X-Rate-Limit-Limit: "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" @@ -27,15 +23,8 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" - '401': - "$ref": "../../responses.yaml#/401" - '403': - "$ref": "../../responses.yaml#/403" - description: Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to sync this branch, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" - '422': - "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -62,10 +51,6 @@ requestBody: title: branch/sync/parameters properties: strategy: - description: | - Conflict resolution strategy applied when the branch and its base have diverged. `use_main` keeps the values from the base branch; `use_branch` keeps the values from this branch. + description: strategy used for conflicts, use_main or use_branch type: string - enum: - - use_main - - use_branch example: use_main diff --git a/paths/branches/update.yaml b/paths/branches/update.yaml index 5e4dd58c0..12de76646 100644 --- a/paths/branches/update.yaml +++ b/paths/branches/update.yaml @@ -1,9 +1,6 @@ --- summary: Update a branch -description: | - Update an existing branch. Only the branch name can be changed. - - Requires the Branching feature to be enabled on the account. +description: Update an existing branch. operationId: branch/update tags: - Branches @@ -27,15 +24,8 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" - '401': - "$ref": "../../responses.yaml#/401" - '403': - "$ref": "../../responses.yaml#/403" - description: Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to update this branch, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" - '422': - "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/comments/check_if_read.yaml b/paths/comments/check_if_read.yaml index 7dec337c3..9877deae5 100644 --- a/paths/comments/check_if_read.yaml +++ b/paths/comments/check_if_read.yaml @@ -22,6 +22,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this comment. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/comments/create.yaml b/paths/comments/create.yaml index f9062cbee..9a33644df 100644 --- a/paths/comments/create.yaml +++ b/paths/comments/create.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create comments on this key. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/comments/destroy.yaml b/paths/comments/destroy.yaml index 10a7082a7..c7b720e3c 100644 --- a/paths/comments/destroy.yaml +++ b/paths/comments/destroy.yaml @@ -22,6 +22,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this comment. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/comments/index.yaml b/paths/comments/index.yaml index 8a05d6f5e..aa2240e72 100644 --- a/paths/comments/index.yaml +++ b/paths/comments/index.yaml @@ -29,7 +29,8 @@ parameters: type: array items: type: string - - description: Specify the filter for the comments + - description: |- + Specify the filter for the comments. Supported values are `read` and `unread`. Combine both to return all comments (read + unread) without filtering. name: filters in: query schema: @@ -37,12 +38,19 @@ parameters: example: [read, unread] items: type: string - - description: 'Order direction. Can be one of: asc, desc.' + enum: + - read + - unread + - description: |- + Order direction. Defaults to `desc`. Values other than `asc` and `desc` fall back to `desc`. name: order in: query example: desc schema: type: string + enum: + - asc + - desc responses: '200': description: OK @@ -67,6 +75,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list comments on this key. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/comments/mark_as_read.yaml b/paths/comments/mark_as_read.yaml index 724218ca2..acbc224fd 100644 --- a/paths/comments/mark_as_read.yaml +++ b/paths/comments/mark_as_read.yaml @@ -16,6 +16,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to mark this comment as read. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/comments/show.yaml b/paths/comments/show.yaml index eb2b9edb1..2edf601eb 100644 --- a/paths/comments/show.yaml +++ b/paths/comments/show.yaml @@ -33,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this comment. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/comments/unmark_as_read.yaml b/paths/comments/unmark_as_read.yaml index d8530b2d0..a65c17137 100644 --- a/paths/comments/unmark_as_read.yaml +++ b/paths/comments/unmark_as_read.yaml @@ -22,6 +22,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to mark this comment as unread. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/comments/update.yaml b/paths/comments/update.yaml index 8f1010ebe..f798a4b0c 100644 --- a/paths/comments/update.yaml +++ b/paths/comments/update.yaml @@ -27,6 +27,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this comment. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/distributions/create.yaml b/paths/distributions/create.yaml index 435dc1556..60e2c8c5e 100644 --- a/paths/distributions/create.yaml +++ b/paths/distributions/create.yaml @@ -13,7 +13,7 @@ responses: content: application/json: schema: - "$ref": "../../schemas/distribution.yaml#/distribution" + "$ref": "../../schemas/distribution_details.yaml#/distribution_details" headers: X-Rate-Limit-Limit: "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create distributions in this account, or when the account does not have the Over-the-Air feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/distributions/destroy.yaml b/paths/distributions/destroy.yaml index 6a2ad056e..eea00657a 100644 --- a/paths/distributions/destroy.yaml +++ b/paths/distributions/destroy.yaml @@ -15,6 +15,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this distribution, or when the account does not have the Over-the-Air feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/distributions/index.yaml b/paths/distributions/index.yaml index a78ace4cd..08603d00b 100644 --- a/paths/distributions/index.yaml +++ b/paths/distributions/index.yaml @@ -17,7 +17,7 @@ responses: schema: type: array items: - "$ref": "../../schemas/distribution_preview.yaml#/distribution_preview" + "$ref": "../../schemas/distribution.yaml#/distribution" headers: X-Rate-Limit-Limit: "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" @@ -33,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list distributions in this account, or when the account does not have the Over-the-Air feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/distributions/show.yaml b/paths/distributions/show.yaml index e76746671..6040129ff 100644 --- a/paths/distributions/show.yaml +++ b/paths/distributions/show.yaml @@ -14,7 +14,7 @@ responses: content: application/json: schema: - "$ref": "../../schemas/distribution.yaml#/distribution" + "$ref": "../../schemas/distribution_details.yaml#/distribution_details" headers: X-Rate-Limit-Limit: "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this distribution, or when the account does not have the Over-the-Air feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/distributions/update.yaml b/paths/distributions/update.yaml index 0627d19fd..a533440db 100644 --- a/paths/distributions/update.yaml +++ b/paths/distributions/update.yaml @@ -14,7 +14,7 @@ responses: content: application/json: schema: - "$ref": "../../schemas/distribution.yaml#/distribution" + "$ref": "../../schemas/distribution_details.yaml#/distribution_details" headers: X-Rate-Limit-Limit: "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this distribution, or when the account does not have the Over-the-Air feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/documents/destroy.yaml b/paths/documents/destroy.yaml index 059cad714..bcae3e6ef 100644 --- a/paths/documents/destroy.yaml +++ b/paths/documents/destroy.yaml @@ -15,6 +15,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this document. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/documents/index.yaml b/paths/documents/index.yaml index 44552539d..718672f5d 100644 --- a/paths/documents/index.yaml +++ b/paths/documents/index.yaml @@ -9,6 +9,13 @@ parameters: - "$ref": "../../parameters.yaml#/page" - "$ref": "../../parameters.yaml#/per_page" - "$ref": "../../parameters.yaml#/project_id" +- description: |- + Search query. Filters documents by name (case-insensitive substring match). + name: q + in: query + example: invoice + schema: + type: string responses: '200': description: OK @@ -33,6 +40,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list documents in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/figma_attachments/create.yaml b/paths/figma_attachments/create.yaml index 068ab18ff..1e2ebc72f 100644 --- a/paths/figma_attachments/create.yaml +++ b/paths/figma_attachments/create.yaml @@ -31,6 +31,13 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create Figma attachments in this project, or when the account does not have the Attachable Screenshots feature. + '422': + "$ref": "../../responses.yaml#/422" "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/figma_attachments/destroy.yaml b/paths/figma_attachments/destroy.yaml index 8f6d18e52..d8e7d5b77 100644 --- a/paths/figma_attachments/destroy.yaml +++ b/paths/figma_attachments/destroy.yaml @@ -21,6 +21,13 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this Figma attachment, or when the account does not have the Attachable Screenshots feature. + '422': + "$ref": "../../responses.yaml#/422" "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/figma_attachments/index.yaml b/paths/figma_attachments/index.yaml index 630ba5c6b..417beade3 100644 --- a/paths/figma_attachments/index.yaml +++ b/paths/figma_attachments/index.yaml @@ -39,6 +39,11 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list Figma attachments in this project, or when the account does not have the Attachable Screenshots feature. "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/figma_attachments/show.yaml b/paths/figma_attachments/show.yaml index a44c2b3bf..c6918b109 100644 --- a/paths/figma_attachments/show.yaml +++ b/paths/figma_attachments/show.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this Figma attachment, or when the account does not have the Attachable Screenshots feature. "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/figma_attachments/update.yaml b/paths/figma_attachments/update.yaml index 3fd8bf540..34d831217 100644 --- a/paths/figma_attachments/update.yaml +++ b/paths/figma_attachments/update.yaml @@ -32,6 +32,13 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this Figma attachment, or when the account does not have the Attachable Screenshots feature. + '422': + "$ref": "../../responses.yaml#/422" "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossaries/create.yaml b/paths/glossaries/create.yaml index a6665413e..3c8313d01 100644 --- a/paths/glossaries/create.yaml +++ b/paths/glossaries/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create glossaries in this account, when the account does not have the Glossary feature, or when `space_ids` are supplied without the Spaces feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossaries/destroy.yaml b/paths/glossaries/destroy.yaml index ba6716020..09c96274f 100644 --- a/paths/glossaries/destroy.yaml +++ b/paths/glossaries/destroy.yaml @@ -15,6 +15,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this glossary, or when the account does not have the Glossary feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossaries/index.yaml b/paths/glossaries/index.yaml index b4e996818..08c237dfa 100644 --- a/paths/glossaries/index.yaml +++ b/paths/glossaries/index.yaml @@ -33,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list glossaries in this account, or when the account does not have the Glossary feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossaries/show.yaml b/paths/glossaries/show.yaml index 1afc1c8d7..6159c2f7e 100644 --- a/paths/glossaries/show.yaml +++ b/paths/glossaries/show.yaml @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this glossary, or when the account does not have the Glossary feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossaries/update.yaml b/paths/glossaries/update.yaml index 6bdb4a920..3d52c0e1f 100644 --- a/paths/glossaries/update.yaml +++ b/paths/glossaries/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this glossary, when the account does not have the Glossary feature, or when `space_ids` are supplied without the Spaces feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossary_term_translations/create.yaml b/paths/glossary_term_translations/create.yaml index 368427fb4..e26043798 100644 --- a/paths/glossary_term_translations/create.yaml +++ b/paths/glossary_term_translations/create.yaml @@ -27,6 +27,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create translations on this glossary term, or when the account does not have the Glossary feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossary_term_translations/destroy.yaml b/paths/glossary_term_translations/destroy.yaml index 491721fca..ae36216f5 100644 --- a/paths/glossary_term_translations/destroy.yaml +++ b/paths/glossary_term_translations/destroy.yaml @@ -17,6 +17,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this glossary term translation, or when the account does not have the Glossary feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossary_term_translations/update.yaml b/paths/glossary_term_translations/update.yaml index bb742c4ba..2fc36dac6 100644 --- a/paths/glossary_term_translations/update.yaml +++ b/paths/glossary_term_translations/update.yaml @@ -28,6 +28,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this glossary term translation, or when the account does not have the Glossary feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossary_terms/create.yaml b/paths/glossary_terms/create.yaml index 87a03c65b..9f6966e9a 100644 --- a/paths/glossary_terms/create.yaml +++ b/paths/glossary_terms/create.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create glossary terms in this glossary, or when the account does not have the Glossary feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossary_terms/destroy.yaml b/paths/glossary_terms/destroy.yaml index 42caf6b6d..50247c45f 100644 --- a/paths/glossary_terms/destroy.yaml +++ b/paths/glossary_terms/destroy.yaml @@ -16,6 +16,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this glossary term, or when the account does not have the Glossary feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossary_terms/index.yaml b/paths/glossary_terms/index.yaml index 07a11b642..a7907012a 100644 --- a/paths/glossary_terms/index.yaml +++ b/paths/glossary_terms/index.yaml @@ -34,6 +34,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list glossary terms in this glossary, or when the account does not have the Glossary feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossary_terms/show.yaml b/paths/glossary_terms/show.yaml index f728051eb..f69e0cc20 100644 --- a/paths/glossary_terms/show.yaml +++ b/paths/glossary_terms/show.yaml @@ -27,6 +27,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this glossary term, or when the account does not have the Glossary feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/glossary_terms/update.yaml b/paths/glossary_terms/update.yaml index dc73a8b50..7e06e6b20 100644 --- a/paths/glossary_terms/update.yaml +++ b/paths/glossary_terms/update.yaml @@ -27,6 +27,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this glossary term, or when the account does not have the Glossary feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/icu/skeleton.yaml b/paths/icu/skeleton.yaml index 3886e3db7..11b87eb0c 100644 --- a/paths/icu/skeleton.yaml +++ b/paths/icu/skeleton.yaml @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope. '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -50,9 +55,15 @@ requestBody: title: icu/skeleton/parameters properties: content: - description: Source content + description: | + Source content to derive skeletons from. Mutually exclusive with `id`; exactly one of the two must be provided. type: string example: "{number, plural, one {One} other {%{n}}}" + id: + description: | + Translation code to source content from. Mutually exclusive with `content`; exactly one of the two must be provided. + type: string + example: abcd1234abcd1234abcd1234abcd1234 locale_codes: description: Locale codes type: array diff --git a/paths/invitations/destroy.yaml b/paths/invitations/destroy.yaml index 8781c6f99..442ceeedd 100644 --- a/paths/invitations/destroy.yaml +++ b/paths/invitations/destroy.yaml @@ -19,6 +19,8 @@ responses: "$ref": "../../responses.yaml#/403" '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/invitations/resend.yaml b/paths/invitations/resend.yaml index 9ea754c07..e1bb4de5f 100644 --- a/paths/invitations/resend.yaml +++ b/paths/invitations/resend.yaml @@ -30,6 +30,8 @@ responses: "$ref": "../../responses.yaml#/403" '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/invitations/update.yaml b/paths/invitations/update.yaml index 0ff565808..19807f820 100644 --- a/paths/invitations/update.yaml +++ b/paths/invitations/update.yaml @@ -30,6 +30,8 @@ responses: "$ref": "../../responses.yaml#/403" '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/invitations/update_settings.yaml b/paths/invitations/update_settings.yaml index 91d714c8c..a6be38e3c 100644 --- a/paths/invitations/update_settings.yaml +++ b/paths/invitations/update_settings.yaml @@ -30,6 +30,8 @@ responses: "$ref": "../../responses.yaml#/403" '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/job_templates/create.yaml b/paths/job_templates/create.yaml index 163e4048a..ee36a6cdc 100644 --- a/paths/job_templates/create.yaml +++ b/paths/job_templates/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create job templates in this project, or when the account does not have the Job Templates feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/job_templates/destroy.yaml b/paths/job_templates/destroy.yaml index 8489512f9..b6404680a 100644 --- a/paths/job_templates/destroy.yaml +++ b/paths/job_templates/destroy.yaml @@ -21,6 +21,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this job template, or when the account does not have the Job Templates feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/job_templates/index.yaml b/paths/job_templates/index.yaml index 99b23066d..f20ba36e3 100644 --- a/paths/job_templates/index.yaml +++ b/paths/job_templates/index.yaml @@ -39,6 +39,11 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list job templates in this project, or when the account does not have the Job Templates feature. "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/job_templates/show.yaml b/paths/job_templates/show.yaml index 57868bce3..0197a9ff3 100644 --- a/paths/job_templates/show.yaml +++ b/paths/job_templates/show.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this job template, or when the account does not have the Job Templates feature. "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/job_templates/update.yaml b/paths/job_templates/update.yaml index 04688d99c..719af115d 100644 --- a/paths/job_templates/update.yaml +++ b/paths/job_templates/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this job template, or when the account does not have the Job Templates feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/complete.yaml b/paths/jobs/complete.yaml index a2e47bd2a..a429583c4 100644 --- a/paths/jobs/complete.yaml +++ b/paths/jobs/complete.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to complete this job. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/create.yaml b/paths/jobs/create.yaml index a1a0013ef..47818db1f 100644 --- a/paths/jobs/create.yaml +++ b/paths/jobs/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create jobs in this project. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/destroy.yaml b/paths/jobs/destroy.yaml index 471ca5ac2..b66b1be71 100644 --- a/paths/jobs/destroy.yaml +++ b/paths/jobs/destroy.yaml @@ -21,6 +21,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this job. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/index.yaml b/paths/jobs/index.yaml index 1c38edc13..f54925bde 100644 --- a/paths/jobs/index.yaml +++ b/paths/jobs/index.yaml @@ -13,6 +13,24 @@ parameters: - "$ref": "../../parameters.yaml#/job_owner" - "$ref": "../../parameters.yaml#/job_assignee" - "$ref": "../../parameters.yaml#/job_state" +- description: |- + Filter by multiple job states at once. Accepted values are the same as `state`. When supplied, `state` is ignored. Rejected with `400 Bad Request` if any value is unknown. + name: states + in: query + example: + - in_progress + - completed + schema: + type: array + items: + type: string +- description: |- + Filter to jobs that include the translation key identified by this code (matches via the job's tags). + name: key_id + in: query + example: abcd1234cdef1234abcd1234cdef1234 + schema: + type: string - "$ref": "../../parameters.yaml#/job_updated_since" responses: '200': @@ -38,6 +56,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list jobs in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/index_account.yaml b/paths/jobs/index_account.yaml index 912c73522..43f12f1d3 100644 --- a/paths/jobs/index_account.yaml +++ b/paths/jobs/index_account.yaml @@ -37,6 +37,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list jobs in this account. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/lock.yaml b/paths/jobs/lock.yaml index 8df5e2f77..df404dab4 100644 --- a/paths/jobs/lock.yaml +++ b/paths/jobs/lock.yaml @@ -15,12 +15,30 @@ parameters: schema: type: string responses: - '204': - "$ref": "../../responses.yaml#/204" + '200': + description: OK + content: + application/json: + schema: + "$ref": "../../schemas/job_details.yaml#/job_details" + headers: + X-Rate-Limit-Limit: + "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" + X-Rate-Limit-Remaining: + "$ref": "../../headers.yaml#/X-Rate-Limit-Remaining" + X-Rate-Limit-Reset: + "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to lock this job. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/reopen.yaml b/paths/jobs/reopen.yaml index 1f4758c55..862ad2f57 100644 --- a/paths/jobs/reopen.yaml +++ b/paths/jobs/reopen.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to reopen this job. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/show.yaml b/paths/jobs/show.yaml index 4fb2eb2eb..d2f645b1c 100644 --- a/paths/jobs/show.yaml +++ b/paths/jobs/show.yaml @@ -29,6 +29,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this job. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/start.yaml b/paths/jobs/start.yaml index 837258c59..8165f70e4 100644 --- a/paths/jobs/start.yaml +++ b/paths/jobs/start.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to start this job. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/unlock.yaml b/paths/jobs/unlock.yaml index 3efc47a53..51f62463d 100644 --- a/paths/jobs/unlock.yaml +++ b/paths/jobs/unlock.yaml @@ -15,12 +15,30 @@ parameters: schema: type: string responses: - '204': - "$ref": "../../responses.yaml#/204" + '200': + description: OK + content: + application/json: + schema: + "$ref": "../../schemas/job_details.yaml#/job_details" + headers: + X-Rate-Limit-Limit: + "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" + X-Rate-Limit-Remaining: + "$ref": "../../headers.yaml#/X-Rate-Limit-Remaining" + X-Rate-Limit-Reset: + "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to unlock this job. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/jobs/update.yaml b/paths/jobs/update.yaml index 25e78c72e..a7983730e 100644 --- a/paths/jobs/update.yaml +++ b/paths/jobs/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this job. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/key_links/batch_destroy.yaml b/paths/key_links/batch_destroy.yaml index 4f5b7392e..758f677e5 100644 --- a/paths/key_links/batch_destroy.yaml +++ b/paths/key_links/batch_destroy.yaml @@ -30,5 +30,16 @@ requestBody: responses: '200': description: OK + '400': + "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to unlink keys for this parent. + '404': + "$ref": "../../responses.yaml#/404" '422': "$ref": "../../responses.yaml#/422" + '429': + "$ref": "../../responses.yaml#/429" diff --git a/paths/key_links/create.yaml b/paths/key_links/create.yaml index 1a42648a9..ac3303c3c 100644 --- a/paths/key_links/create.yaml +++ b/paths/key_links/create.yaml @@ -32,5 +32,16 @@ responses: application/json: schema: "$ref": "../../schemas/key_link.yaml#/key_link" + '400': + "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to link this key. + '404': + "$ref": "../../responses.yaml#/404" '422': "$ref": "../../responses.yaml#/422" + '429': + "$ref": "../../responses.yaml#/429" diff --git a/paths/key_links/destroy.yaml b/paths/key_links/destroy.yaml index 77f571172..251c2a431 100644 --- a/paths/key_links/destroy.yaml +++ b/paths/key_links/destroy.yaml @@ -18,5 +18,16 @@ parameters: responses: '200': description: OK + '400': + "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to unlink this key. + '404': + "$ref": "../../responses.yaml#/404" '422': "$ref": "../../responses.yaml#/422" + '429': + "$ref": "../../responses.yaml#/429" diff --git a/paths/key_links/index.yaml b/paths/key_links/index.yaml index f23044eba..c74519ba8 100644 --- a/paths/key_links/index.yaml +++ b/paths/key_links/index.yaml @@ -26,3 +26,12 @@ responses: type: string example: message: "Key is not a parent key" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to read key links for this key. + '404': + "$ref": "../../responses.yaml#/404" + '429': + "$ref": "../../responses.yaml#/429" diff --git a/paths/keys/create.yaml b/paths/keys/create.yaml index 961809c0d..00f278c98 100644 --- a/paths/keys/create.yaml +++ b/paths/keys/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create keys in this project. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -139,5 +146,19 @@ requestBody: example: fruit: Apple vegetable: Tomato + excluded_in_locales: + description: | + Public codes of locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions. + type: array + items: + type: string + example: + - de + - fr + format_value_type: + description: | + Override of the value type for the key in the export. Most useful for formats like Android XML that distinguish string vs. plural resources. + type: string + example: string x-cli-version: '2.5' diff --git a/paths/keys/destroy-collection.yaml b/paths/keys/destroy-collection.yaml index 408739e7f..807cc23df 100644 --- a/paths/keys/destroy-collection.yaml +++ b/paths/keys/destroy-collection.yaml @@ -38,6 +38,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to manage keys in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/keys/destroy.yaml b/paths/keys/destroy.yaml index 5cd869b8b..ad4f77301 100644 --- a/paths/keys/destroy.yaml +++ b/paths/keys/destroy.yaml @@ -21,6 +21,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this key. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/keys/exclude.yaml b/paths/keys/exclude.yaml index 921319282..b68f7dc51 100644 --- a/paths/keys/exclude.yaml +++ b/paths/keys/exclude.yaml @@ -25,6 +25,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage exclusions in this project, or when the account does not have the Batch Actions feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/keys/include.yaml b/paths/keys/include.yaml index 3e4a09de6..69b3b4011 100644 --- a/paths/keys/include.yaml +++ b/paths/keys/include.yaml @@ -25,6 +25,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage exclusions in this project, or when the account does not have the Batch Actions feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/keys/index.yaml b/paths/keys/index.yaml index eb020162e..46cc1c029 100644 --- a/paths/keys/index.yaml +++ b/paths/keys/index.yaml @@ -58,6 +58,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list keys in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/keys/search.yaml b/paths/keys/search.yaml index 6eab07f90..e565c50ba 100644 --- a/paths/keys/search.yaml +++ b/paths/keys/search.yaml @@ -31,6 +31,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list keys in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/keys/show.yaml b/paths/keys/show.yaml index 0cbc473bc..3feae576f 100644 --- a/paths/keys/show.yaml +++ b/paths/keys/show.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this key. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/keys/tag.yaml b/paths/keys/tag.yaml index f64da6ddb..cc025038d 100644 --- a/paths/keys/tag.yaml +++ b/paths/keys/tag.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to tag keys in this project. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/keys/untag.yaml b/paths/keys/untag.yaml index fac37e4da..f362fc98e 100644 --- a/paths/keys/untag.yaml +++ b/paths/keys/untag.yaml @@ -25,6 +25,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to tag keys in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/keys/update.yaml b/paths/keys/update.yaml index 40561c240..6809ab6a0 100644 --- a/paths/keys/update.yaml +++ b/paths/keys/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this key. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -131,4 +138,18 @@ requestBody: example: fruit: Apple vegetable: Tomato + excluded_in_locales: + description: | + Public codes of locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions. + type: array + items: + type: string + example: + - de + - fr + format_value_type: + description: | + Override of the value type for the key in the export. Most useful for formats like Android XML that distinguish string vs. plural resources. + type: string + example: string x-cli-version: '2.5' diff --git a/paths/locale_downloads/create.yaml b/paths/locale_downloads/create.yaml index 5d41312f8..82d564b53 100644 --- a/paths/locale_downloads/create.yaml +++ b/paths/locale_downloads/create.yaml @@ -123,6 +123,13 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create download jobs for this locale. + '422': + "$ref": "../../responses.yaml#/422" "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/locale_downloads/show.yaml b/paths/locale_downloads/show.yaml index 0d4ba340a..a2eb1bdfe 100644 --- a/paths/locale_downloads/show.yaml +++ b/paths/locale_downloads/show.yaml @@ -29,6 +29,14 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this download. + '410': + description: | + Gone. The async download has expired (downloads are retained for a limited time after completion) and can no longer be retrieved. Issue a new download request. "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/locales/create.yaml b/paths/locales/create.yaml index ea8cc7cce..297a3a3e0 100644 --- a/paths/locales/create.yaml +++ b/paths/locales/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create locales in this project, when `unverify_new_translations` / `unverify_updated_translations` is set without the Advanced Workflows feature, or when `main=true` is set without the Verification System feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/locales/destroy.yaml b/paths/locales/destroy.yaml index 888413648..3e6930c21 100644 --- a/paths/locales/destroy.yaml +++ b/paths/locales/destroy.yaml @@ -21,6 +21,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this locale. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/locales/index.yaml b/paths/locales/index.yaml index 1430a9fc5..12fe8104d 100644 --- a/paths/locales/index.yaml +++ b/paths/locales/index.yaml @@ -21,12 +21,6 @@ parameters: in: query schema: type: string -- description: Specify a query to filter locales. Currently supports `name` argument, filtering only locales with names starting with the given string. - example: name:en - name: q - in: query - schema: - type: string responses: '200': description: OK @@ -51,6 +45,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list locales in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/locales/show.yaml b/paths/locales/show.yaml index 167f94224..7281ac653 100644 --- a/paths/locales/show.yaml +++ b/paths/locales/show.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this locale. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/locales/update.yaml b/paths/locales/update.yaml index 071010200..f1ba84045 100644 --- a/paths/locales/update.yaml +++ b/paths/locales/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this locale, when `unverify_new_translations` / `unverify_updated_translations` is set without the Advanced Workflows feature, or when `main=true` is set without the Verification System feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/members/destroy.yaml b/paths/members/destroy.yaml index adf3f3115..51c28de7f 100644 --- a/paths/members/destroy.yaml +++ b/paths/members/destroy.yaml @@ -19,6 +19,8 @@ responses: "$ref": "../../responses.yaml#/403" '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/members/update.yaml b/paths/members/update.yaml index 37c2e1f40..6985d254d 100644 --- a/paths/members/update.yaml +++ b/paths/members/update.yaml @@ -30,6 +30,8 @@ responses: "$ref": "../../responses.yaml#/403" '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/members/update_settings.yaml b/paths/members/update_settings.yaml index 0326461a6..bae698eb8 100644 --- a/paths/members/update_settings.yaml +++ b/paths/members/update_settings.yaml @@ -30,6 +30,8 @@ responses: "$ref": "../../responses.yaml#/403" '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/notification_groups/index.yaml b/paths/notification_groups/index.yaml index c780f6ec3..aefb3a942 100644 --- a/paths/notification_groups/index.yaml +++ b/paths/notification_groups/index.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not the recipient of the listed notification groups. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/notification_groups/mark_all_as_read.yaml b/paths/notification_groups/mark_all_as_read.yaml index a557ef840..17ad3af1f 100644 --- a/paths/notification_groups/mark_all_as_read.yaml +++ b/paths/notification_groups/mark_all_as_read.yaml @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not the recipient of the listed notification groups. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/notification_groups/mark_as_read.yaml b/paths/notification_groups/mark_as_read.yaml index 1a67f20dd..f53fd49ae 100644 --- a/paths/notification_groups/mark_as_read.yaml +++ b/paths/notification_groups/mark_as_read.yaml @@ -25,6 +25,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not the recipient of the notification group. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/notifications/index.yaml b/paths/notifications/index.yaml index d8333ddc9..02914099f 100644 --- a/paths/notifications/index.yaml +++ b/paths/notifications/index.yaml @@ -14,6 +14,13 @@ parameters: in: query schema: type: boolean +- description: |- + Restrict the results to notifications created within the last N days. Coerced to integer; non-numeric values resolve to 0 (returning nothing). + example: 7 + name: last_days + in: query + schema: + type: integer responses: '200': description: OK @@ -38,6 +45,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not the recipient of the listed notifications. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/notifications/mark_all_as_read.yaml b/paths/notifications/mark_all_as_read.yaml index d0df2d39b..d1d21d487 100644 --- a/paths/notifications/mark_all_as_read.yaml +++ b/paths/notifications/mark_all_as_read.yaml @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not the recipient of the listed notifications. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/orders/confirm.yaml b/paths/orders/confirm.yaml index bce8bd39a..347ba7ee4 100644 --- a/paths/orders/confirm.yaml +++ b/paths/orders/confirm.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `orders.create` scope or when the requesting user is not allowed to confirm this translation order. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/orders/create.yaml b/paths/orders/create.yaml index 4544441ca..7fa17720c 100644 --- a/paths/orders/create.yaml +++ b/paths/orders/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `orders.create` scope or when the requesting user is not allowed to create translation orders in this project. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/orders/destroy.yaml b/paths/orders/destroy.yaml index d30a517c0..3ef1ce0ea 100644 --- a/paths/orders/destroy.yaml +++ b/paths/orders/destroy.yaml @@ -21,6 +21,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this translation order. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/orders/index.yaml b/paths/orders/index.yaml index e03c38b2b..d96b75bc3 100644 --- a/paths/orders/index.yaml +++ b/paths/orders/index.yaml @@ -15,6 +15,13 @@ parameters: in: query schema: type: string +- description: |- + Filter the result to orders that include the given translation. When supplied with a translation code that does not exist, an empty list is returned. + name: translation_id + in: query + example: abcd1234cdef1234abcd1234cdef1234 + schema: + type: string responses: '200': description: OK @@ -39,6 +46,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list translation orders in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/orders/show.yaml b/paths/orders/show.yaml index d60375279..c29d878fa 100644 --- a/paths/orders/show.yaml +++ b/paths/orders/show.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this translation order. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/organization_job_templates/create.yaml b/paths/organization_job_templates/create.yaml index f38ba3dbf..c747d9d96 100644 --- a/paths/organization_job_templates/create.yaml +++ b/paths/organization_job_templates/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create organization job templates, or when the account does not have the Job Templates feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/organization_job_templates/destroy.yaml b/paths/organization_job_templates/destroy.yaml index b6701376b..5e508d1b7 100644 --- a/paths/organization_job_templates/destroy.yaml +++ b/paths/organization_job_templates/destroy.yaml @@ -15,6 +15,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this organization job template, or when the account does not have the Job Templates feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/organization_job_templates/index.yaml b/paths/organization_job_templates/index.yaml index 1bd3f8fce..693716400 100644 --- a/paths/organization_job_templates/index.yaml +++ b/paths/organization_job_templates/index.yaml @@ -33,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list organization job templates in this account, or when the account does not have the Job Templates feature. "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/organization_job_templates/show.yaml b/paths/organization_job_templates/show.yaml index 50bf17346..918766a34 100644 --- a/paths/organization_job_templates/show.yaml +++ b/paths/organization_job_templates/show.yaml @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this organization job template, or when the account does not have the Job Templates feature. "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/organization_job_templates/update.yaml b/paths/organization_job_templates/update.yaml index 621a244e0..361051c63 100644 --- a/paths/organization_job_templates/update.yaml +++ b/paths/organization_job_templates/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this organization job template, or when the account does not have the Job Templates feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/projects/create.yaml b/paths/projects/create.yaml index f5d9e82b0..5d6d0e6b4 100644 --- a/paths/projects/create.yaml +++ b/paths/projects/create.yaml @@ -1,6 +1,11 @@ --- summary: Create a project -description: Create a new project. +description: | + Create a new project in the given account. + + When `source_project_id` is supplied, the new project is created as a clone of that project. All locales, keys, and translations are copied asynchronously after the response is returned, so they may not be available immediately. Settings from the source project are inherited unless explicitly overridden in the request; in clone mode, the `shares_translation_memory` field is ignored and inherited from the source. + + `shares_translation_memory` defaults to `true` when omitted on a non-clone create. operationId: project/create tags: - Projects @@ -22,8 +27,15 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" "400": "$ref": "../../responses.yaml#/400" + "401": + "$ref": "../../responses.yaml#/401" + "403": + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create projects in the target account. "404": "$ref": "../../responses.yaml#/404" + "422": + "$ref": "../../responses.yaml#/422" "429": "$ref": "../../responses.yaml#/429" x-code-samples: @@ -149,6 +161,44 @@ requestBody: description: "(Optional) Requires autotranslate_enabled to be true" type: boolean example: true + autocomplete_job_enabled: + description: "(Optional) Enable autocomplete-job behavior so that newly created keys and locales are automatically added to in-progress jobs." + type: boolean + example: false + job_locking_enabled: + description: "(Optional) When enabled, translations are locked once a job moves into review." + type: boolean + example: false + smart_suggest_enabled: + description: "(Optional) Enable Smart Suggest for the project. Defaults to `true` when omitted." + type: boolean + example: true + smart_suggest_use_glossary: + description: "(Optional) Allow Smart Suggest to source suggestions from the project glossary. Defaults to `true` when omitted." + type: boolean + example: true + smart_suggest_use_machine_translation: + description: "(Optional) Allow Smart Suggest to source suggestions from machine translation. Defaults to `true` when omitted." + type: boolean + example: true + translation_keys_sort_collation: + description: "(Optional) Collation used when sorting translation keys alphabetically. Defaults to `unicode_ci` when omitted." + type: string + example: unicode_ci + default_encoding: + description: "(Optional) Sets the default encoding for Uploads. If you leave it empty, we will try to guess it automatically for you when you Upload a file. You can still override this value by setting the [`file_encoding`](/en/api/strings/uploads/upload-a-new-file) parameter for Uploads." + type: string + example: "UTF-8" + enum: + - "UTF-8" + - "UTF-16" + - "UTF-16BE" + - "UTF-16LE" + - "ISO-8859-1" + cldr_version: + description: "(Optional) CLDR plural-rule version used by the project." + type: string + example: "cldr48" placeholder_styles: description: "(Optional) List of placeholder styles enabled for the project." type: array diff --git a/paths/projects/destroy.yaml b/paths/projects/destroy.yaml index fe3566171..490d0b04c 100644 --- a/paths/projects/destroy.yaml +++ b/paths/projects/destroy.yaml @@ -1,6 +1,7 @@ --- summary: Delete a project -description: Delete an existing project. +description: | + Delete an existing project. Associated repository syncs and OTA distributions are removed. A `project:delete` event is dispatched. operationId: project/delete tags: - Projects @@ -12,8 +13,15 @@ responses: "$ref": "../../responses.yaml#/204" '400': "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to manage this project. '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/projects/index.yaml b/paths/projects/index.yaml index f344d1707..eb1af088c 100644 --- a/paths/projects/index.yaml +++ b/paths/projects/index.yaml @@ -1,6 +1,9 @@ --- summary: List projects -description: List all projects the current user has access to. +description: | + List all projects the current user has access to. + + When the `account_id` query parameter is omitted, the response includes projects across every account the user is a member of. Pass `account_id` to scope the results to a single account. operationId: projects/list tags: - Projects @@ -9,13 +12,21 @@ parameters: - "$ref": "../../parameters.yaml#/page" - "$ref": "../../parameters.yaml#/per_page" - "$ref": "../../parameters.yaml#/query_account_id" -- description: Sort projects. Valid options are "name_asc", "name_desc", "updated_at_asc", "updated_at_desc", "space_asc" and "space_desc". - example: +- description: |- + Sort projects. Valid values are `name_asc`, `name_desc`, `updated_at_asc`, `updated_at_desc`, `space_asc`, and `space_desc`. The trailing direction segment is optional; if omitted or invalid, projects are sorted ascending. Any other value is ignored and the default ordering is returned. name: sort_by in: query schema: type: string -- description: Filter projects. Valid options are ["favorites"]. + enum: + - name_asc + - name_desc + - updated_at_asc + - updated_at_desc + - space_asc + - space_desc +- description: |- + Filter projects. The only supported value is `favorites`, which restricts the results to projects the current user has starred. example: favorites name: filters in: query @@ -23,6 +34,15 @@ parameters: type: array items: type: string + enum: + - favorites +- description: |- + Search query. The only supported syntax is `name:` — for example `name:android` returns projects whose name matches `android` (case-insensitive substring). Any value that does not match the `name:` prefix is ignored. + name: q + in: query + example: "name:android" + schema: + type: string responses: '200': description: OK @@ -45,6 +65,11 @@ responses: "$ref": "../../headers.yaml#/Pagination" '400': "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not confirmed. '404': "$ref": "../../responses.yaml#/404" '429': diff --git a/paths/projects/show.yaml b/paths/projects/show.yaml index b4a945b32..656e5dab2 100644 --- a/paths/projects/show.yaml +++ b/paths/projects/show.yaml @@ -23,6 +23,11 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this project. '404': "$ref": "../../responses.yaml#/404" '429': diff --git a/paths/projects/update.yaml b/paths/projects/update.yaml index a669ffd3f..f1161b286 100644 --- a/paths/projects/update.yaml +++ b/paths/projects/update.yaml @@ -23,8 +23,15 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" "400": "$ref": "../../responses.yaml#/400" + "401": + "$ref": "../../responses.yaml#/401" + "403": + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to manage this project. "404": "$ref": "../../responses.yaml#/404" + "422": + "$ref": "../../responses.yaml#/422" "429": "$ref": "../../responses.yaml#/429" x-code-samples: @@ -51,7 +58,8 @@ requestBody: title: project/update/parameters properties: account_id: - 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. + description: | + (Optional) ID of an account the requesting user belongs to. Used only to disambiguate the request context; the project itself cannot be moved between accounts through this endpoint. type: string example: abcd1234 name: @@ -163,4 +171,32 @@ requestBody: example: - "angular" - "iOS" + autocomplete_job_enabled: + description: "(Optional) Enable autocomplete-job behavior so that newly created keys and locales are automatically added to in-progress jobs." + type: boolean + example: false + job_locking_enabled: + description: "(Optional) When enabled, translations are locked once a job moves into review." + type: boolean + example: false + smart_suggest_enabled: + description: "(Optional) Enable Smart Suggest for the project." + type: boolean + example: true + smart_suggest_use_glossary: + description: "(Optional) Allow Smart Suggest to source suggestions from the project glossary." + type: boolean + example: true + smart_suggest_use_machine_translation: + description: "(Optional) Allow Smart Suggest to source suggestions from machine translation." + type: boolean + example: true + translation_keys_sort_collation: + description: "(Optional) Collation used when sorting translation keys alphabetically." + type: string + example: unicode_ci + cldr_version: + description: "(Optional) CLDR plural-rule version used by the project." + type: string + example: "legacy" x-cli-version: "2.6.3" diff --git a/paths/releases/create.yaml b/paths/releases/create.yaml index 0ffbcfcb7..2ef022cf5 100644 --- a/paths/releases/create.yaml +++ b/paths/releases/create.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, or when the requesting user is not allowed to create releases in this project. + '422': + "$ref": "../../responses.yaml#/422" "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/releases/destroy.yaml b/paths/releases/destroy.yaml index ebfdc7fc2..dfc97be32 100644 --- a/paths/releases/destroy.yaml +++ b/paths/releases/destroy.yaml @@ -16,6 +16,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, or when the requesting user is not allowed to delete this release. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/releases/index.yaml b/paths/releases/index.yaml index 2d743cb1f..b3cb0447c 100644 --- a/paths/releases/index.yaml +++ b/paths/releases/index.yaml @@ -34,6 +34,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, or when the requesting user is not allowed to list releases in this distribution. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/releases/publish.yaml b/paths/releases/publish.yaml index ca6bf8be5..a6a6ac7ae 100644 --- a/paths/releases/publish.yaml +++ b/paths/releases/publish.yaml @@ -27,6 +27,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, or when the requesting user is not allowed to publish this release. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/releases/show.yaml b/paths/releases/show.yaml index 4a4ad7e7a..4aa70894d 100644 --- a/paths/releases/show.yaml +++ b/paths/releases/show.yaml @@ -27,6 +27,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, or when the requesting user is not allowed to read this release. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/releases/update.yaml b/paths/releases/update.yaml index 215693907..33ad17c57 100644 --- a/paths/releases/update.yaml +++ b/paths/releases/update.yaml @@ -27,6 +27,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, or when the requesting user is not allowed to update this release. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/repo_syncs/activate.yaml b/paths/repo_syncs/activate.yaml index 0a11cacfa..c3f9fff6b 100644 --- a/paths/repo_syncs/activate.yaml +++ b/paths/repo_syncs/activate.yaml @@ -28,6 +28,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage git syncs in this account, or when the account does not have the Repo Sync feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/repo_syncs/create.yaml b/paths/repo_syncs/create.yaml index b44283b15..9079bb28b 100644 --- a/paths/repo_syncs/create.yaml +++ b/paths/repo_syncs/create.yaml @@ -28,6 +28,13 @@ responses: "$ref": "../../responses.yaml#/404" '422': "$ref": "../../responses.yaml#/422" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage git syncs in this account, or when the account does not have the Repo Sync feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/repo_syncs/deactivate.yaml b/paths/repo_syncs/deactivate.yaml index e4c71e9bb..9e479e628 100644 --- a/paths/repo_syncs/deactivate.yaml +++ b/paths/repo_syncs/deactivate.yaml @@ -28,6 +28,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage git syncs in this account, or when the account does not have the Repo Sync feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/repo_syncs/export.yaml b/paths/repo_syncs/export.yaml index 0f07fceae..0c22b3898 100644 --- a/paths/repo_syncs/export.yaml +++ b/paths/repo_syncs/export.yaml @@ -46,6 +46,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to export to the synced repository, or when the account does not have the Repo Sync feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/repo_syncs/import.yaml b/paths/repo_syncs/import.yaml index fc0d9310b..b816cb4da 100644 --- a/paths/repo_syncs/import.yaml +++ b/paths/repo_syncs/import.yaml @@ -46,6 +46,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to import from the synced repository, or when the account does not have the Repo Sync feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/repo_syncs/index.yaml b/paths/repo_syncs/index.yaml index 286d7cd5e..767532e11 100644 --- a/paths/repo_syncs/index.yaml +++ b/paths/repo_syncs/index.yaml @@ -31,6 +31,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read git syncs in this account, or when the account does not have the Repo Sync feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/repo_syncs/show.yaml b/paths/repo_syncs/show.yaml index a3b2487ba..7f047ddd7 100644 --- a/paths/repo_syncs/show.yaml +++ b/paths/repo_syncs/show.yaml @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read git syncs in this account, or when the account does not have the Repo Sync feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/reports/locales/index.yaml b/paths/reports/locales/index.yaml index 3ff12550e..86c463b7e 100644 --- a/paths/reports/locales/index.yaml +++ b/paths/reports/locales/index.yaml @@ -37,6 +37,11 @@ responses: "$ref": "../../../headers.yaml#/Link" "400": "$ref": "../../../responses.yaml#/400" + "401": + "$ref": "../../../responses.yaml#/401" + "403": + "$ref": "../../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to view reports for this project. "404": "$ref": "../../../responses.yaml#/404" "429": diff --git a/paths/reports/show.yaml b/paths/reports/show.yaml index 2c78fa3c5..49890d26f 100644 --- a/paths/reports/show.yaml +++ b/paths/reports/show.yaml @@ -33,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" "404": "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to view reports for this project. "429": "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/screenshot_markers/create.yaml b/paths/screenshot_markers/create.yaml index 9f053a6d3..79d5c38b1 100644 --- a/paths/screenshot_markers/create.yaml +++ b/paths/screenshot_markers/create.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create screenshot markers in this project, or when the account does not have the Attachable Screenshots feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/screenshot_markers/destroy.yaml b/paths/screenshot_markers/destroy.yaml index 293ad835a..c1a83e69f 100644 --- a/paths/screenshot_markers/destroy.yaml +++ b/paths/screenshot_markers/destroy.yaml @@ -21,6 +21,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this screenshot marker, or when the account does not have the Attachable Screenshots feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/screenshot_markers/index.yaml b/paths/screenshot_markers/index.yaml index b655e165d..ab90106dd 100644 --- a/paths/screenshot_markers/index.yaml +++ b/paths/screenshot_markers/index.yaml @@ -40,6 +40,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read screenshot markers in this project, or when the account does not have the Attachable Screenshots feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/screenshot_markers/show.yaml b/paths/screenshot_markers/show.yaml index eaa9feb79..6576733d3 100644 --- a/paths/screenshot_markers/show.yaml +++ b/paths/screenshot_markers/show.yaml @@ -33,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this screenshot marker, or when the account does not have the Attachable Screenshots feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/screenshot_markers/update.yaml b/paths/screenshot_markers/update.yaml index 1d45062c5..caf6ebc85 100644 --- a/paths/screenshot_markers/update.yaml +++ b/paths/screenshot_markers/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this screenshot marker, or when the account does not have the Attachable Screenshots feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/screenshots/create.yaml b/paths/screenshots/create.yaml index 2778e46fa..94876a436 100644 --- a/paths/screenshots/create.yaml +++ b/paths/screenshots/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create screenshots in this project, or when the account does not have the Attachable Screenshots feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/screenshots/destroy.yaml b/paths/screenshots/destroy.yaml index e775254e6..731fb54a8 100644 --- a/paths/screenshots/destroy.yaml +++ b/paths/screenshots/destroy.yaml @@ -21,6 +21,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this screenshot, or when the account does not have the Attachable Screenshots feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/screenshots/index.yaml b/paths/screenshots/index.yaml index 85db5b63c..cffab21ae 100644 --- a/paths/screenshots/index.yaml +++ b/paths/screenshots/index.yaml @@ -45,6 +45,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list screenshots in this project, or when the account does not have the Attachable Screenshots feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/screenshots/show.yaml b/paths/screenshots/show.yaml index 7c0510738..ad73d271b 100644 --- a/paths/screenshots/show.yaml +++ b/paths/screenshots/show.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this screenshot, or when the account does not have the Attachable Screenshots feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/screenshots/update.yaml b/paths/screenshots/update.yaml index f4f5c6fdb..df4f3e29d 100644 --- a/paths/screenshots/update.yaml +++ b/paths/screenshots/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this screenshot, or when the account does not have the Attachable Screenshots feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/search/in_account.yaml b/paths/search/in_account.yaml index a56058373..590115423 100644 --- a/paths/search/in_account.yaml +++ b/paths/search/in_account.yaml @@ -30,6 +30,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read the account's translation keys. '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -72,4 +77,12 @@ requestBody: description: Number of results per page type: integer example: 25 + project_ids: + description: | + Limit the search to the given project codes. When omitted, the search spans every project the user can access in this account. + type: array + items: + type: string + example: + - abcd1234abcd1234abcd1234abcd1234 x-cli-version: '2.5' diff --git a/paths/styleguides/create.yaml b/paths/styleguides/create.yaml index 3a575c25e..44b2e275f 100644 --- a/paths/styleguides/create.yaml +++ b/paths/styleguides/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create style guides in this project. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -60,16 +67,38 @@ requestBody: type: string example: customer-facing target_audience: - description: 'Can be one of: not_specified, children, teenager, young_adults, adults, old_adults.' + description: Target audience for the translations. type: string + enum: + - not_specified + - children + - teenager + - young_adults + - adults + - old_adults example: teenager grammatical_person: - 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.' + description: Preferred grammatical person. type: string + enum: + - 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 example: first_person_singular vocabulary_type: - description: 'Can be one of: not_specified, popular, technical, fictional.' + description: Vocabulary register the translations should use. type: string + enum: + - not_specified + - popular + - technical + - fictional example: technical business: description: Description of the business diff --git a/paths/styleguides/destroy.yaml b/paths/styleguides/destroy.yaml index 54e6d389f..3b50cba37 100644 --- a/paths/styleguides/destroy.yaml +++ b/paths/styleguides/destroy.yaml @@ -15,6 +15,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this style guide. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/styleguides/index.yaml b/paths/styleguides/index.yaml index 30a5bf29a..aba9bd46a 100644 --- a/paths/styleguides/index.yaml +++ b/paths/styleguides/index.yaml @@ -33,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list style guides in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/styleguides/show.yaml b/paths/styleguides/show.yaml index b84db11a7..8d2f82895 100644 --- a/paths/styleguides/show.yaml +++ b/paths/styleguides/show.yaml @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this style guide. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/styleguides/update.yaml b/paths/styleguides/update.yaml index 68bf5ed84..7ef3c19a8 100644 --- a/paths/styleguides/update.yaml +++ b/paths/styleguides/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this style guide. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -60,16 +67,38 @@ requestBody: type: string example: customer-facing target_audience: - description: 'Can be one of: not_specified, children, teenager, young_adults, adults, old_adults.' + description: Target audience for the translations. type: string + enum: + - not_specified + - children + - teenager + - young_adults + - adults + - old_adults example: teenager grammatical_person: - 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.' + description: Preferred grammatical person. type: string + enum: + - 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 example: first_person_singular vocabulary_type: - description: 'Can be one of: not_specified, popular, technical, fictional.' + description: Vocabulary register the translations should use. type: string + enum: + - not_specified + - popular + - technical + - fictional example: technical business: description: Description of the business diff --git a/paths/tags/create.yaml b/paths/tags/create.yaml index 0cc34b36a..c61c116cf 100644 --- a/paths/tags/create.yaml +++ b/paths/tags/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create tags in this project, or when the project is protected. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/tags/destroy.yaml b/paths/tags/destroy.yaml index 2f9358bac..614ed8386 100644 --- a/paths/tags/destroy.yaml +++ b/paths/tags/destroy.yaml @@ -21,6 +21,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this tag. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/tags/index.yaml b/paths/tags/index.yaml index 944cd9524..ce5855a47 100644 --- a/paths/tags/index.yaml +++ b/paths/tags/index.yaml @@ -8,12 +8,18 @@ parameters: - "$ref": "../../parameters.yaml#/project_id" - "$ref": "../../parameters.yaml#/page" - "$ref": "../../parameters.yaml#/per_page" - - description: excludes tags generated by the system, e.g. job, upload or figma tags + - description: Excludes tags generated by the system, e.g. job, upload or figma tags. Mutually exclusive with `only_system_tags`. name: exclude_system_tags example: true in: query schema: type: boolean + - description: Returns only system-generated tags (e.g. job, upload, figma) and excludes user-defined tags. Mutually exclusive with `exclude_system_tags`. + name: only_system_tags + example: false + in: query + schema: + type: boolean - description: specify the branch to use example: my-feature-branch name: branch @@ -50,6 +56,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list tags in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/tags/show.yaml b/paths/tags/show.yaml index 66bc1f5e2..f54735d25 100644 --- a/paths/tags/show.yaml +++ b/paths/tags/show.yaml @@ -38,6 +38,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this tag. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/batch_exclude.yaml b/paths/translations/batch_exclude.yaml index 72c4a5004..6623c35a4 100644 --- a/paths/translations/batch_exclude.yaml +++ b/paths/translations/batch_exclude.yaml @@ -25,6 +25,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, or when the requesting user is not allowed to exclude translations from export in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/batch_include.yaml b/paths/translations/batch_include.yaml index 22f0f1de8..1d83f0249 100644 --- a/paths/translations/batch_include.yaml +++ b/paths/translations/batch_include.yaml @@ -25,6 +25,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, or when the requesting user is not allowed to include translations in export in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/batch_review.yaml b/paths/translations/batch_review.yaml index 9100c850a..39d9a8a19 100644 --- a/paths/translations/batch_review.yaml +++ b/paths/translations/batch_review.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, when the account does not have the Workflow feature, or when the requesting user is not allowed to review the matched translations. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/batch_unreview.yaml b/paths/translations/batch_unreview.yaml index 3ef900c02..62558d80a 100644 --- a/paths/translations/batch_unreview.yaml +++ b/paths/translations/batch_unreview.yaml @@ -24,6 +24,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, when the account does not have the Workflow feature, or when the requesting user is not allowed to unreview the matched translations. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/batch_unverify.yaml b/paths/translations/batch_unverify.yaml index 95020baaa..c33a527b2 100644 --- a/paths/translations/batch_unverify.yaml +++ b/paths/translations/batch_unverify.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, when the account does not have the Verification System or Advanced Workflows feature, or when the requesting user is not allowed to unverify the matched translations. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/batch_verify.yaml b/paths/translations/batch_verify.yaml index f7f8b268f..8fc68d363 100644 --- a/paths/translations/batch_verify.yaml +++ b/paths/translations/batch_verify.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, when the account does not have the Verification System or Advanced Workflows feature, or when the requesting user is not allowed to verify the matched translations. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/create.yaml b/paths/translations/create.yaml index 7f3e81c04..cd62cdced 100644 --- a/paths/translations/create.yaml +++ b/paths/translations/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to translate this locale, or (when `unverified` is `true`) when the account does not have the Verification System or Advanced Workflows feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -81,4 +88,14 @@ requestBody: 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. type: boolean example: + minor_change: + description: | + When `true`, the translation is marked as a minor edit and does not trigger downstream re-verification on the linked locales' translations. + type: boolean + example: false + reviewed: + description: | + When `true` and the project's review workflow is enabled, the translation is created in the `reviewed` state. + type: boolean + example: false x-cli-version: '2.5' diff --git a/paths/translations/exclude.yaml b/paths/translations/exclude.yaml index 0974cfec0..752958dc0 100644 --- a/paths/translations/exclude.yaml +++ b/paths/translations/exclude.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to exclude this translation from export. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/include.yaml b/paths/translations/include.yaml index f942fe071..99477bd87 100644 --- a/paths/translations/include.yaml +++ b/paths/translations/include.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to include this translation in export. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/index.yaml b/paths/translations/index.yaml index 9e6d7f1da..e3eccfc6c 100644 --- a/paths/translations/index.yaml +++ b/paths/translations/index.yaml @@ -18,6 +18,20 @@ parameters: in: query schema: type: string +- description: |- + Filter translations to those attached to the key identified by this code. Equivalent to calling `GET /projects/{project_id}/keys/{key_id}/translations`. + name: key_id + in: query + example: abcd1234cdef1234abcd1234cdef1234 + schema: + type: string +- description: |- + Filter translations to those for the given locale (locale code or id). Equivalent to calling `GET /projects/{project_id}/locales/{locale_id}/translations`. + name: locale_id + in: query + example: abcd1234cdef1234abcd1234cdef1234 + schema: + type: string - description: 'Sort criteria. Can be one of: key_name, created_at, updated_at.' example: updated_at name: sort @@ -74,6 +88,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read translations in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/index_keys.yaml b/paths/translations/index_keys.yaml index 0617ddbbb..1828c2467 100644 --- a/paths/translations/index_keys.yaml +++ b/paths/translations/index_keys.yaml @@ -69,6 +69,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read translations for this key. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/index_locale.yaml b/paths/translations/index_locale.yaml index 9c141049a..dbc7d821e 100644 --- a/paths/translations/index_locale.yaml +++ b/paths/translations/index_locale.yaml @@ -71,6 +71,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read translations in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/review.yaml b/paths/translations/review.yaml index c20fe970b..f84f819ce 100644 --- a/paths/translations/review.yaml +++ b/paths/translations/review.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to review this translation, or when the account does not have the Workflow feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/search.yaml b/paths/translations/search.yaml index 75055b4a5..3a589237d 100644 --- a/paths/translations/search.yaml +++ b/paths/translations/search.yaml @@ -31,6 +31,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read translations in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/show.yaml b/paths/translations/show.yaml index 974622b73..b75e78840 100644 --- a/paths/translations/show.yaml +++ b/paths/translations/show.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this translation. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/unreview.yaml b/paths/translations/unreview.yaml index a64976950..d32cf8bd9 100644 --- a/paths/translations/unreview.yaml +++ b/paths/translations/unreview.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to unreview this translation, or when the account does not have the Workflow feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/unverify.yaml b/paths/translations/unverify.yaml index 80af670b4..3ccaf3a41 100644 --- a/paths/translations/unverify.yaml +++ b/paths/translations/unverify.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to unverify this translation, or when the account does not have the Verification System or Advanced Workflows feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/translations/update.yaml b/paths/translations/update.yaml index 3af19e6ac..57b2a5816 100644 --- a/paths/translations/update.yaml +++ b/paths/translations/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this translation, or (when `unverified` is `true`) when the account does not have the Verification System or Advanced Workflows feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -79,4 +86,9 @@ requestBody: description: When set to `true`, the translation will be marked as reviewed. type: boolean example: true + minor_change: + description: | + When `true`, the update is treated as a minor edit and does not trigger downstream re-verification on the linked locales' translations. + type: boolean + example: false x-cli-version: '2.5' diff --git a/paths/translations/verify.yaml b/paths/translations/verify.yaml index b461f2b44..fa92e6a0e 100644 --- a/paths/translations/verify.yaml +++ b/paths/translations/verify.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to verify this translation, or when the account does not have the Verification System or Advanced Workflows feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/upload_batches/create.yaml b/paths/upload_batches/create.yaml index 73ccdbffc..caee266ae 100644 --- a/paths/upload_batches/create.yaml +++ b/paths/upload_batches/create.yaml @@ -52,6 +52,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create uploads in this project. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/uploads/create.yaml b/paths/uploads/create.yaml index d47f7bee6..d1f4ca810 100644 --- a/paths/uploads/create.yaml +++ b/paths/uploads/create.yaml @@ -27,6 +27,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create uploads in this project. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -163,4 +170,10 @@ requestBody: description: This prefix will be added to all uploaded translation key names to prevent collisions. Use a meaningful prefix related to your project or file to keep key names organized. type: string example: prefix_ + skip_automated_job_creation: + description: | + When `true`, the automation rules for the project will not fire for this upload, so no jobs are created as a side effect of importing this file. Defaults to `false`. + type: boolean + default: false + example: false x-cli-version: '2.12' diff --git a/paths/uploads/index.yaml b/paths/uploads/index.yaml index 7e8bbf028..2f08d34f4 100644 --- a/paths/uploads/index.yaml +++ b/paths/uploads/index.yaml @@ -39,6 +39,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list uploads in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/uploads/show.yaml b/paths/uploads/show.yaml index df228faf9..61495e98d 100644 --- a/paths/uploads/show.yaml +++ b/paths/uploads/show.yaml @@ -32,6 +32,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this upload. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/users/user.yaml b/paths/users/user.yaml index 1992ed087..e8fe45089 100644 --- a/paths/users/user.yaml +++ b/paths/users/user.yaml @@ -24,6 +24,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/variables/create.yaml b/paths/variables/create.yaml index 6cdcbe2a8..f88bbefb9 100644 --- a/paths/variables/create.yaml +++ b/paths/variables/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create variables in this project. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/variables/destroy.yaml b/paths/variables/destroy.yaml index c57c5c45b..aa3772c92 100644 --- a/paths/variables/destroy.yaml +++ b/paths/variables/destroy.yaml @@ -15,6 +15,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this variable. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/variables/index.yaml b/paths/variables/index.yaml index 35d27722e..638d62ad5 100644 --- a/paths/variables/index.yaml +++ b/paths/variables/index.yaml @@ -33,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list variables in this project. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/variables/show.yaml b/paths/variables/show.yaml index 54b36b031..9c3be8179 100644 --- a/paths/variables/show.yaml +++ b/paths/variables/show.yaml @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this variable. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/variables/update.yaml b/paths/variables/update.yaml index 428d7d58d..d7ebdd789 100644 --- a/paths/variables/update.yaml +++ b/paths/variables/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this variable. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/versions/index.yaml b/paths/versions/index.yaml index c4b5474c9..9e88a18c1 100644 --- a/paths/versions/index.yaml +++ b/paths/versions/index.yaml @@ -47,6 +47,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list translation versions, or when the account does not have the History feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/versions/show.yaml b/paths/versions/show.yaml index e20c265d0..ddb847311 100644 --- a/paths/versions/show.yaml +++ b/paths/versions/show.yaml @@ -33,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this translation version, or when the account does not have the History feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/webhooks/create.yaml b/paths/webhooks/create.yaml index 69ff4cb71..7b78b0a5b 100644 --- a/paths/webhooks/create.yaml +++ b/paths/webhooks/create.yaml @@ -25,6 +25,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create webhooks in this project, or when the account does not have the Webhooks feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/webhooks/destroy.yaml b/paths/webhooks/destroy.yaml index 6cbf613d6..9a73687ef 100644 --- a/paths/webhooks/destroy.yaml +++ b/paths/webhooks/destroy.yaml @@ -15,6 +15,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this webhook, or when the account does not have the Webhooks feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/webhooks/index.yaml b/paths/webhooks/index.yaml index cf96863a4..8ad7694e5 100644 --- a/paths/webhooks/index.yaml +++ b/paths/webhooks/index.yaml @@ -33,6 +33,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list webhooks in this project, or when the account does not have the Webhooks feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/webhooks/show.yaml b/paths/webhooks/show.yaml index ae304315a..ee2416dec 100644 --- a/paths/webhooks/show.yaml +++ b/paths/webhooks/show.yaml @@ -26,6 +26,11 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this webhook, or when the account does not have the Webhooks feature. '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/webhooks/test.yaml b/paths/webhooks/test.yaml index 2fc4c88cd..d94f3c06d 100644 --- a/paths/webhooks/test.yaml +++ b/paths/webhooks/test.yaml @@ -1,6 +1,7 @@ --- summary: Test a webhook -description: Perform a test request for a webhook. +description: | + Perform a test request for a webhook. Sends a synthetic `test:event` payload to the webhook's `callback_url` and returns the webhook resource. operationId: webhook/test tags: - Webhooks @@ -11,6 +12,10 @@ parameters: responses: '200': description: OK + content: + application/json: + schema: + "$ref": "../../schemas/webhook.yaml#/webhook" headers: X-Rate-Limit-Limit: "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" @@ -22,6 +27,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to test this webhook, or when the account does not have the Webhooks feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/webhooks/update.yaml b/paths/webhooks/update.yaml index 83fa59231..f415434c0 100644 --- a/paths/webhooks/update.yaml +++ b/paths/webhooks/update.yaml @@ -26,6 +26,13 @@ responses: "$ref": "../../responses.yaml#/400" '404': "$ref": "../../responses.yaml#/404" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this webhook, or when the account does not have the Webhooks feature. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/schemas.yaml b/schemas.yaml index 0a05b68e3..95bc21dbb 100644 --- a/schemas.yaml +++ b/schemas.yaml @@ -132,10 +132,10 @@ schemas: "$ref": schemas/job_comment.yaml#/job_comment branch: "$ref": schemas/branch.yaml#/branch - distribution_preview: - "$ref": schemas/distribution_preview.yaml#/distribution_preview distribution: "$ref": schemas/distribution.yaml#/distribution + distribution_details: + "$ref": schemas/distribution_details.yaml#/distribution_details release_preview: "$ref": schemas/release_preview.yaml#/release_preview release: diff --git a/schemas/account_details.yaml b/schemas/account_details.yaml index c19050717..11fb12cd4 100644 --- a/schemas/account_details.yaml +++ b/schemas/account_details.yaml @@ -11,6 +11,8 @@ account_details: type: string roles: type: array + description: | + Roles the requesting user holds in the account. items: type: string example: diff --git a/schemas/automation.yaml b/schemas/automation.yaml index 1cca89c43..5f851a94c 100644 --- a/schemas/automation.yaml +++ b/schemas/automation.yaml @@ -21,8 +21,20 @@ automation: enum: [unverified, untranslated, ready_for_review] project_id: type: string + project_ids: + type: array + description: All project IDs the automation applies to. Returned alongside the singular `project_id` for backwards compatibility. + items: + type: string job_template_id: type: string + job_owner_id: + type: string + description: User ID of the job owner that newly created jobs are assigned to. + nullable: true + include_only_updated_locales: + type: boolean + description: When `true`, the automation only acts on locales that changed since its last run. tags: type: array items: diff --git a/schemas/branch.yaml b/schemas/branch.yaml index 75a1e0c10..1ab08976b 100644 --- a/schemas/branch.yaml +++ b/schemas/branch.yaml @@ -9,10 +9,6 @@ branch: type: string name: type: string - base: - type: string - nullable: true - description: Name of the base branch this branch was created from. Only present for branches created with the newer branching system. created_at: type: string format: date-time @@ -28,14 +24,6 @@ branch: "$ref": "./user_preview.yaml#/user_preview" state: type: string - enum: - - creating_branch - - merging_branch - - syncing_branch - - merged - - success - - branch_error - - merge_conflict child_branches: type: array items: diff --git a/schemas/distribution.yaml b/schemas/distribution.yaml index 92d8b9bdf..1fd756e6f 100644 --- a/schemas/distribution.yaml +++ b/schemas/distribution.yaml @@ -13,20 +13,18 @@ distribution: type: array items: type: string - locales: - type: array - items: - "$ref": "./locale_preview.yaml#/locale_preview" - releases: - type: array - items: - "$ref": "./release_preview.yaml#/release_preview" + release_count: + type: integer created_at: type: string format: date-time + updated_at: + type: string + format: date-time deleted_at: type: string format: date-time + nullable: true example: id: abcd1234cdef1234abcd1234cdef1234 name: Android Distribution @@ -38,23 +36,6 @@ distribution: updated_at: '2015-01-28T09:52:53Z' platforms: - android - releases: - - id: abcd1234cdef1234abcd1234cdef1234 - version: 1 - project: - id: abcd1234cdef1234abcd1234cdef1234 - name: My Android Project - main_format: xml - created_at: '2015-01-28T09:52:53Z' - updated_at: '2015-01-28T09:52:53Z' - platforms: - - android - environments: - - development - locale_codes: - - de - - en - created_at: '2015-01-28T09:52:53Z' - updated_at: '2015-01-28T09:52:53Z' + release_count: 10 created_at: '2015-01-28T09:52:53Z' updated_at: '2015-01-28T09:52:53Z' diff --git a/schemas/distribution_details.yaml b/schemas/distribution_details.yaml new file mode 100644 index 000000000..255b739e8 --- /dev/null +++ b/schemas/distribution_details.yaml @@ -0,0 +1,38 @@ +--- +distribution_details: + allOf: + - "$ref": "./distribution.yaml#/distribution" + - type: object + title: distribution_details + properties: + locales: + type: array + items: + "$ref": "./locale_preview.yaml#/locale_preview" + releases: + type: array + items: + "$ref": "./release_preview.yaml#/release_preview" + example: + locales: + - id: abcd1234cdef1234abcd1234cdef1234 + name: English + code: en-GB + releases: + - id: abcd1234cdef1234abcd1234cdef1234 + version: 1 + project: + id: abcd1234cdef1234abcd1234cdef1234 + name: My Android Project + main_format: xml + created_at: '2015-01-28T09:52:53Z' + updated_at: '2015-01-28T09:52:53Z' + platforms: + - android + environments: + - development + locale_codes: + - de + - en + created_at: '2015-01-28T09:52:53Z' + updated_at: '2015-01-28T09:52:53Z' diff --git a/schemas/distribution_preview.yaml b/schemas/distribution_preview.yaml deleted file mode 100644 index a26b6d5a8..000000000 --- a/schemas/distribution_preview.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -distribution_preview: - type: object - title: distribution_preview - properties: - id: - type: string - name: - type: string - project: - "$ref": "./project_short.yaml#/project_short" - platforms: - type: array - items: - type: string - release_count: - type: integer - created_at: - type: string - format: date-time - deleted_at: - type: string - format: date-time - example: - id: abcd1234cdef1234abcd1234cdef1234 - name: Android Distribution - project: - id: abcd1234cdef1234abcd1234cdef1234 - name: My Android Project - main_format: xml - created_at: '2015-01-28T09:52:53Z' - updated_at: '2015-01-28T09:52:53Z' - platforms: - - android - release_count: 10 - created_at: '2015-01-28T09:52:53Z' - updated_at: '2015-01-28T09:52:53Z' diff --git a/schemas/glossary.yaml b/schemas/glossary.yaml index eead1de2f..03efd9601 100644 --- a/schemas/glossary.yaml +++ b/schemas/glossary.yaml @@ -11,6 +11,10 @@ glossary: type: array items: "$ref": "./project_short.yaml#/project_short" + spaces: + type: array + items: + "$ref": "./space_short.yaml#/space_short" created_at: type: string format: date-time diff --git a/schemas/glossary_term.yaml b/schemas/glossary_term.yaml index 9130673df..ffaaf2936 100644 --- a/schemas/glossary_term.yaml +++ b/schemas/glossary_term.yaml @@ -17,6 +17,14 @@ glossary_term: type: array items: "$ref": "./glossary_term_translation.yaml#/glossary_term_translation" + glossary: + type: object + description: The glossary this term belongs to. + properties: + id: + type: string + name: + type: string created_at: type: string format: date-time diff --git a/schemas/invitation.yaml b/schemas/invitation.yaml index 8f38f4b65..d48d48aa4 100644 --- a/schemas/invitation.yaml +++ b/schemas/invitation.yaml @@ -46,8 +46,10 @@ invitation: type: array items: "$ref": "./space_short.yaml#/space_short" - project_role: + project_roles: type: array + description: | + Per-project roles assigned to the invitee. items: type: object properties: diff --git a/schemas/job_details.yaml b/schemas/job_details.yaml index c804f5d01..c1f1a2a3f 100644 --- a/schemas/job_details.yaml +++ b/schemas/job_details.yaml @@ -25,6 +25,11 @@ job_details: type: array items: "$ref": "./job_annotation_short.yaml#/job_annotation_short" + description: Returned only when `include_annotations=true` is supplied on the request. + locked: + type: boolean + description: | + `true` if the job has been locked by the project's job-locking workflow (translations attached to the job are read-only until the job advances). example: owner: id: abcd1234cdef1234abcd1234cdef1234 diff --git a/schemas/job_template.yaml b/schemas/job_template.yaml index 4479131e6..72e2c44e7 100644 --- a/schemas/job_template.yaml +++ b/schemas/job_template.yaml @@ -13,6 +13,10 @@ job_template: "$ref": "./project_short.yaml#/project_short" branch: "$ref": "./branch_name.yaml#/branch_name" + autotranslate_enabled: + type: boolean + description: | + When `true`, jobs created from this template are auto-translated on creation. created_at: type: string format: date-time diff --git a/schemas/key_preview.yaml b/schemas/key_preview.yaml index 7195a22f3..b49db2fd7 100644 --- a/schemas/key_preview.yaml +++ b/schemas/key_preview.yaml @@ -11,4 +11,4 @@ key_preview: type: boolean use_ordinal_rules: type: boolean - example: + example: diff --git a/schemas/organization_job_template.yaml b/schemas/organization_job_template.yaml index 1650f3104..169fc2187 100644 --- a/schemas/organization_job_template.yaml +++ b/schemas/organization_job_template.yaml @@ -9,6 +9,15 @@ organization_job_template: type: string briefing: type: string + autotranslate_enabled: + type: boolean + description: | + When `true`, jobs created from this template are auto-translated on creation. Maps to the `autotranslate` field on the request body. + source_locale_id: + type: string + description: | + Optional. ID of the source locale used by jobs created from this template. When omitted, the project's default source locale is used. + nullable: true created_at: type: string format: date-time diff --git a/schemas/project_details.yaml b/schemas/project_details.yaml index ef5607a21..e72afd129 100644 --- a/schemas/project_details.yaml +++ b/schemas/project_details.yaml @@ -48,6 +48,12 @@ project_details: autotranslate_use_translation_memory: type: boolean example: true + autotranslate_overwrite_unverified_translations: + type: boolean + example: false + autocomplete_job_enabled: + type: boolean + example: false default_encoding: type: string example: "UTF-8" @@ -64,6 +70,8 @@ project_details: example: - "angular" - "iOS" + branch: + "$ref": "./branch.yaml#/branch" example: slug: my-android-project @@ -81,6 +89,8 @@ project_details: autotranslate_mark_as_unverified: false autotranslate_use_machine_translation: false autotranslate_use_translation_memory: true + autotranslate_overwrite_unverified_translations: false + autocomplete_job_enabled: false default_encoding: "UTF-8" cldr_version: "legacy" job_locking_enabled: false diff --git a/schemas/release.yaml b/schemas/release.yaml index 40f56f626..886a6be60 100644 --- a/schemas/release.yaml +++ b/schemas/release.yaml @@ -29,6 +29,8 @@ release: type: array items: type: string + state: + type: string project: "$ref": "./project_short.yaml#/project_short" created_at: diff --git a/schemas/repo_sync.yaml b/schemas/repo_sync.yaml index 738e03bd6..56f112dad 100644 --- a/schemas/repo_sync.yaml +++ b/schemas/repo_sync.yaml @@ -15,6 +15,11 @@ repo_sync: type: boolean repo_name: type: string + pr_branch: + type: string + description: | + Branch used as the source of exports/PRs. May be `null` when the sync is configured to push directly to `base_branch`. + nullable: true created_at: type: string format: date-time diff --git a/schemas/screenshot_marker.yaml b/schemas/screenshot_marker.yaml index 7aea07e81..9b6adf087 100644 --- a/schemas/screenshot_marker.yaml +++ b/schemas/screenshot_marker.yaml @@ -6,9 +6,22 @@ screenshot_marker: id: type: string presentation: - type: string + type: object + description: | + Coordinates and size of the marker on the screenshot, in pixels. + properties: + x: + type: integer + y: + type: integer + w: + type: integer + h: + type: integer presentation_type: type: string + description: | + Marker presentation style. The default value is `default`. created_at: type: string format: date-time diff --git a/schemas/tag.yaml b/schemas/tag.yaml index f0843f2d6..49e561975 100644 --- a/schemas/tag.yaml +++ b/schemas/tag.yaml @@ -7,6 +7,10 @@ tag: type: string keys_count: type: integer + system_tag: + type: boolean + description: | + `true` when the tag was created automatically by the system (e.g. for jobs, uploads, or Figma attachments) rather than by a user. created_at: type: string format: date-time diff --git a/schemas/translation_order.yaml b/schemas/translation_order.yaml index 16dbf0520..681d358b6 100644 --- a/schemas/translation_order.yaml +++ b/schemas/translation_order.yaml @@ -27,8 +27,9 @@ translation_order: type: array items: "$ref": "./locale_preview.yaml#/locale_preview" - tag: + tag_name: type: string + description: Name of the tag whose keys are included in the order. styleguide: "$ref": "./styleguide_preview.yaml#/styleguide_preview" unverify_translations_upon_delivery: @@ -63,7 +64,7 @@ translation_order: - id: abcd1234cdef1234abcd1234cdef1234 name: fr code: fr-FR - tag: latest-upload + tag_name: latest-upload styleguide: id: abcd1234cdef1234abcd1234cdef1234 title: My Styleguide diff --git a/schemas/upload_batch.yaml b/schemas/upload_batch.yaml index 60314e5d2..7d9abd3f9 100644 --- a/schemas/upload_batch.yaml +++ b/schemas/upload_batch.yaml @@ -3,7 +3,7 @@ upload_batch: type: object title: upload_batch properties: - state: + status: type: string description: Processing state of the upload batch enum: @@ -12,6 +12,9 @@ upload_batch: delete_unmentioned_keys: type: boolean description: Indicates whether unmentioned keys will be deleted after processing all uploads in the batch + uploads_count: + type: integer + description: Number of uploads attached to this batch. created_at: type: string format: date-time From 6d6f97ddb4bc15d0f931d5403bc9162caefbfbae Mon Sep 17 00:00:00 2001 From: sbruhns Date: Wed, 20 May 2026 13:45:40 +0200 Subject: [PATCH 2/8] fix: remove duplicate response-status keys in 3 path files `paths/repo_syncs/create.yaml`, `paths/automations/create.yaml`, and `paths/automations/index.yaml` had duplicate `'422'` / `'403'` response keys that caused swagger-cli to reject the spec with `duplicated mapping key`. Removes the duplicates and reorders the response block so each status code appears once, in ascending order. --- paths/automations/create.yaml | 6 ++---- paths/automations/index.yaml | 6 ++---- paths/repo_syncs/create.yaml | 6 ++---- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/paths/automations/create.yaml b/paths/automations/create.yaml index e9aa74427..c1619eac9 100644 --- a/paths/automations/create.yaml +++ b/paths/automations/create.yaml @@ -94,15 +94,13 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" - '404': - "$ref": "../../responses.yaml#/404" - '422': - "$ref": "../../responses.yaml#/422" '401': "$ref": "../../responses.yaml#/401" '403': "$ref": "../../responses.yaml#/403" description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create automations in this account, or when the account does not have the Automation Job Creation feature. + '404': + "$ref": "../../responses.yaml#/404" '422': "$ref": "../../responses.yaml#/422" '429': diff --git a/paths/automations/index.yaml b/paths/automations/index.yaml index be528379b..ffafbfee2 100644 --- a/paths/automations/index.yaml +++ b/paths/automations/index.yaml @@ -34,15 +34,13 @@ responses: "$ref": "../../headers.yaml#/Pagination" '400': "$ref": "../../responses.yaml#/400" - '403': - "$ref": "../../responses.yaml#/403" - '404': - "$ref": "../../responses.yaml#/404" '401': "$ref": "../../responses.yaml#/401" '403': "$ref": "../../responses.yaml#/403" description: Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list automations in this account, or when the account does not have the Automation Job Creation feature. + '404': + "$ref": "../../responses.yaml#/404" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/repo_syncs/create.yaml b/paths/repo_syncs/create.yaml index 9079bb28b..a5a63b97a 100644 --- a/paths/repo_syncs/create.yaml +++ b/paths/repo_syncs/create.yaml @@ -24,15 +24,13 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" - '404': - "$ref": "../../responses.yaml#/404" - '422': - "$ref": "../../responses.yaml#/422" '401': "$ref": "../../responses.yaml#/401" '403': "$ref": "../../responses.yaml#/403" description: Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage git syncs in this account, or when the account does not have the Repo Sync feature. + '404': + "$ref": "../../responses.yaml#/404" '422': "$ref": "../../responses.yaml#/422" '429': From c8c7977499f9a4c6b3442685d5fe5f4ee20812df Mon Sep 17 00:00:00 2001 From: sbruhns Date: Wed, 20 May 2026 14:10:54 +0200 Subject: [PATCH 3/8] fix: restore locales q param, add uploads skip_automated_job_creation to Java test, regenerate compiled.json - Restore the `q` filter parameter on GET /locales that was inadvertently dropped - Add `skip_automated_job_creation` parameter to the Java uploads test to match the newly documented field - Regenerate doc/compiled.json to reflect all spec changes in this branch Co-Authored-By: Claude Opus 4.7 --- .../com/phrase/client/api/UploadsApiTest.java | 2 +- doc/compiled.json | 2487 +++++++++++++++-- paths/locales/index.yaml | 6 + 3 files changed, 2258 insertions(+), 237 deletions(-) diff --git a/clients/java/src/test/java/com/phrase/client/api/UploadsApiTest.java b/clients/java/src/test/java/com/phrase/client/api/UploadsApiTest.java index a1b0f76fd..57fa33725 100644 --- a/clients/java/src/test/java/com/phrase/client/api/UploadsApiTest.java +++ b/clients/java/src/test/java/com/phrase/client/api/UploadsApiTest.java @@ -126,7 +126,7 @@ public void uploadCreateTest() throws ApiException, IOException, InterruptedExce tags, updateTranslations, updateCustomMetadata, updateTranslationKeys, updateTranslationsOnSourceMatch, sourceLocaleId, updateDescriptions, convertEmoji, skipUploadTags, skipUnverification, fileEncoding, localeMapping, formatOptionsMap, autotranslate, verifyMentionedTranslations, markReviewed, tagOnlyAffectedKeys, - translationKeyPrefix); + translationKeyPrefix, null); Assert.assertEquals("valid id returned", "id_example", response.getId()); Assert.assertEquals("valid creation date returned", OffsetDateTime.parse("2015-01-28T09:52:53Z"), response.getCreatedAt()); diff --git a/doc/compiled.json b/doc/compiled.json index 97848039e..7c4efd84b 100644 --- a/doc/compiled.json +++ b/doc/compiled.json @@ -754,6 +754,7 @@ }, "roles": { "type": "array", + "description": "Roles the requesting user holds in the account.\n", "items": { "type": "string" } @@ -1089,8 +1090,9 @@ "$ref": "#/components/schemas/project/properties/space" } }, - "project_role": { + "project_roles": { "type": "array", + "description": "Per-project roles assigned to the invitee.\n", "items": { "type": "object", "properties": { @@ -1209,6 +1211,12 @@ "$ref": "#/components/schemas/project_short" } }, + "spaces": { + "type": "array", + "items": { + "$ref": "#/components/schemas/project/properties/space" + } + }, "created_at": { "type": "string", "format": "date-time" @@ -1268,6 +1276,18 @@ "$ref": "#/components/schemas/glossary_term_translation" } }, + "glossary": { + "type": "object", + "description": "The glossary this term belongs to.", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, "created_at": { "type": "string", "format": "date-time" @@ -2073,6 +2093,14 @@ "type": "boolean", "example": true }, + "autotranslate_overwrite_unverified_translations": { + "type": "boolean", + "example": false + }, + "autocomplete_job_enabled": { + "type": "boolean", + "example": false + }, "default_encoding": { "type": "string", "example": "UTF-8" @@ -2094,6 +2122,9 @@ "angular", "iOS" ] + }, + "branch": { + "$ref": "#/components/schemas/branch" } }, "example": { @@ -2112,6 +2143,8 @@ "autotranslate_mark_as_unverified": false, "autotranslate_use_machine_translation": false, "autotranslate_use_translation_memory": true, + "autotranslate_overwrite_unverified_translations": false, + "autocomplete_job_enabled": false, "default_encoding": "UTF-8", "cldr_version": "legacy", "job_locking_enabled": false, @@ -2242,6 +2275,10 @@ "keys_count": { "type": "integer" }, + "system_tag": { + "type": "boolean", + "description": "`true` when the tag was created automatically by the system (e.g. for jobs, uploads, or Figma attachments) rather than by a user.\n" + }, "created_at": { "type": "string", "format": "date-time" @@ -2603,8 +2640,9 @@ "$ref": "#/components/schemas/locale_preview" } }, - "tag": { - "type": "string" + "tag_name": { + "type": "string", + "description": "Name of the tag whose keys are included in the order." }, "styleguide": { "$ref": "#/components/schemas/styleguide_preview" @@ -2653,7 +2691,7 @@ "code": "fr-FR" } ], - "tag": "latest-upload", + "tag_name": "latest-upload", "styleguide": { "id": "abcd1234cdef1234abcd1234cdef1234", "title": "My Styleguide" @@ -3291,7 +3329,12 @@ "type": "array", "items": { "$ref": "#/components/schemas/job_annotation_short" - } + }, + "description": "Returned only when `include_annotations=true` is supplied on the request." + }, + "locked": { + "type": "boolean", + "description": "`true` if the job has been locked by the project's job-locking workflow (translations attached to the job are read-only until the job advances).\n" } }, "example": { @@ -3442,6 +3485,10 @@ "branch": { "$ref": "#/components/schemas/job/properties/branch" }, + "autotranslate_enabled": { + "type": "boolean", + "description": "When `true`, jobs created from this template are auto-translated on creation.\n" + }, "created_at": { "type": "string", "format": "date-time" @@ -3631,11 +3678,6 @@ "name": { "type": "string" }, - "base": { - "type": "string", - "nullable": true, - "description": "Name of the base branch this branch was created from. Only present for branches created with the newer branching system." - }, "created_at": { "type": "string", "format": "date-time" @@ -3655,16 +3697,7 @@ "$ref": "#/components/schemas/user_preview" }, "state": { - "type": "string", - "enum": [ - "creating_branch", - "merging_branch", - "syncing_branch", - "merged", - "success", - "branch_error", - "merge_conflict" - ] + "type": "string" }, "child_branches": { "type": "array", @@ -3695,9 +3728,9 @@ ] } }, - "distribution_preview": { + "distribution": { "type": "object", - "title": "distribution_preview", + "title": "distribution", "properties": { "id": { "type": "string" @@ -3721,9 +3754,14 @@ "type": "string", "format": "date-time" }, - "deleted_at": { + "updated_at": { "type": "string", "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true } }, "example": { @@ -3744,87 +3782,64 @@ "updated_at": "2015-01-28T09:52:53Z" } }, - "distribution": { - "type": "object", - "title": "distribution", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "project": { - "$ref": "#/components/schemas/project_short" - }, - "platforms": { - "type": "array", - "items": { - "type": "string" - } - }, - "locales": { - "type": "array", - "items": { - "$ref": "#/components/schemas/locale_preview" - } - }, - "releases": { - "type": "array", - "items": { - "$ref": "#/components/schemas/release_preview" - } - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "deleted_at": { - "type": "string", - "format": "date-time" - } - }, - "example": { - "id": "abcd1234cdef1234abcd1234cdef1234", - "name": "Android Distribution", - "project": { - "id": "abcd1234cdef1234abcd1234cdef1234", - "name": "My Android Project", - "main_format": "xml", - "created_at": "2015-01-28T09:52:53Z", - "updated_at": "2015-01-28T09:52:53Z" + "distribution_details": { + "allOf": [ + { + "$ref": "#/components/schemas/distribution" }, - "platforms": [ - "android" - ], - "releases": [ - { - "id": "abcd1234cdef1234abcd1234cdef1234", - "version": 1, - "project": { - "id": "abcd1234cdef1234abcd1234cdef1234", - "name": "My Android Project", - "main_format": "xml", - "created_at": "2015-01-28T09:52:53Z", - "updated_at": "2015-01-28T09:52:53Z" + { + "type": "object", + "title": "distribution_details", + "properties": { + "locales": { + "type": "array", + "items": { + "$ref": "#/components/schemas/locale_preview" + } }, - "platforms": [ - "android" - ], - "environments": [ - "development" - ], - "locale_codes": [ - "de", - "en" + "releases": { + "type": "array", + "items": { + "$ref": "#/components/schemas/release_preview" + } + } + }, + "example": { + "locales": [ + { + "id": "abcd1234cdef1234abcd1234cdef1234", + "name": "English", + "code": "en-GB" + } ], - "created_at": "2015-01-28T09:52:53Z", - "updated_at": "2015-01-28T09:52:53Z" + "releases": [ + { + "id": "abcd1234cdef1234abcd1234cdef1234", + "version": 1, + "project": { + "id": "abcd1234cdef1234abcd1234cdef1234", + "name": "My Android Project", + "main_format": "xml", + "created_at": "2015-01-28T09:52:53Z", + "updated_at": "2015-01-28T09:52:53Z" + }, + "platforms": [ + "android" + ], + "environments": [ + "development" + ], + "locale_codes": [ + "de", + "en" + ], + "created_at": "2015-01-28T09:52:53Z", + "updated_at": "2015-01-28T09:52:53Z" + } + ] } - ], - "created_at": "2015-01-28T09:52:53Z", - "updated_at": "2015-01-28T09:52:53Z" - } + } + ] }, "release_preview": { "type": "object", @@ -3952,6 +3967,9 @@ "type": "string" } }, + "state": { + "type": "string" + }, "project": { "$ref": "#/components/schemas/project_short" }, @@ -4111,10 +4129,26 @@ "type": "string" }, "presentation": { - "type": "string" + "type": "object", + "description": "Coordinates and size of the marker on the screenshot, in pixels.\n", + "properties": { + "x": { + "type": "integer" + }, + "y": { + "type": "integer" + }, + "w": { + "type": "integer" + }, + "h": { + "type": "integer" + } + } }, "presentation_type": { - "type": "string" + "type": "string", + "description": "Marker presentation style. The default value is `default`.\n" }, "created_at": { "type": "string", @@ -4441,6 +4475,15 @@ "briefing": { "type": "string" }, + "autotranslate_enabled": { + "type": "boolean", + "description": "When `true`, jobs created from this template are auto-translated on creation. Maps to the `autotranslate` field on the request body.\n" + }, + "source_locale_id": { + "type": "string", + "description": "Optional. ID of the source locale used by jobs created from this template. When omitted, the project's default source locale is used.\n", + "nullable": true + }, "created_at": { "type": "string", "format": "date-time" @@ -4562,6 +4605,11 @@ "repo_name": { "type": "string" }, + "pr_branch": { + "type": "string", + "description": "Branch used as the source of exports/PRs. May be `null` when the sync is configured to push directly to `base_branch`.\n", + "nullable": true + }, "created_at": { "type": "string", "format": "date-time" @@ -4686,9 +4734,25 @@ "project_id": { "type": "string" }, + "project_ids": { + "type": "array", + "description": "All project IDs the automation applies to. Returned alongside the singular `project_id` for backwards compatibility.", + "items": { + "type": "string" + } + }, "job_template_id": { "type": "string" }, + "job_owner_id": { + "type": "string", + "description": "User ID of the job owner that newly created jobs are assigned to.", + "nullable": true + }, + "include_only_updated_locales": { + "type": "boolean", + "description": "When `true`, the automation only acts on locales that changed since its last run." + }, "tags": { "type": "array", "items": { @@ -5353,6 +5417,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope." + }, "404": { "$ref": "#/components/responses/404" }, @@ -5379,10 +5450,15 @@ "title": "icu/skeleton/parameters", "properties": { "content": { - "description": "Source content", + "description": "Source content to derive skeletons from. Mutually exclusive with `id`; exactly one of the two must be provided.\n", "type": "string", "example": "{number, plural, one {One} other {%{n}}}" }, + "id": { + "description": "Translation code to source content from. Mutually exclusive with `content`; exactly one of the two must be provided.\n", + "type": "string", + "example": "abcd1234abcd1234abcd1234abcd1234" + }, "locale_codes": { "description": "Locale codes", "type": "array", @@ -5476,6 +5552,15 @@ }, { "$ref": "#/components/parameters/project_id" + }, + { + "description": "Search query. Filters documents by name (case-insensitive substring match).", + "name": "q", + "in": "query", + "example": "invoice", + "schema": { + "type": "string" + } } ], "responses": { @@ -5535,6 +5620,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list documents in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -5581,9 +5673,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this document." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -5654,6 +5756,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to view reports for this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -5742,6 +5851,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to view reports for this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -5827,6 +5943,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list Figma attachments in this project, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -5895,9 +6018,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create Figma attachments in this project, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -5994,6 +6127,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this Figma attachment, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -6065,9 +6205,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this Figma attachment, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -6141,9 +6291,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this Figma attachment, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -6333,6 +6493,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list style guides in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -6392,9 +6559,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create style guides in this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -6431,18 +6608,43 @@ "example": "customer-facing" }, "target_audience": { - "description": "Can be one of: not_specified, children, teenager, young_adults, adults, old_adults.", + "description": "Target audience for the translations.", "type": "string", + "enum": [ + "not_specified", + "children", + "teenager", + "young_adults", + "adults", + "old_adults" + ], "example": "teenager" }, "grammatical_person": { - "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.", + "description": "Preferred grammatical person.", "type": "string", + "enum": [ + "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" + ], "example": "first_person_singular" }, "vocabulary_type": { - "description": "Can be one of: not_specified, popular, technical, fictional.", + "description": "Vocabulary register the translations should use.", "type": "string", + "enum": [ + "not_specified", + "popular", + "technical", + "fictional" + ], "example": "technical" }, "business": { @@ -6537,6 +6739,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this style guide." + }, "404": { "$ref": "#/components/responses/404" }, @@ -6599,9 +6808,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this style guide." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -6635,18 +6854,43 @@ "example": "customer-facing" }, "target_audience": { - "description": "Can be one of: not_specified, children, teenager, young_adults, adults, old_adults.", + "description": "Target audience for the translations.", "type": "string", + "enum": [ + "not_specified", + "children", + "teenager", + "young_adults", + "adults", + "old_adults" + ], "example": "teenager" }, "grammatical_person": { - "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.", + "description": "Preferred grammatical person.", "type": "string", + "enum": [ + "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" + ], "example": "first_person_singular" }, "vocabulary_type": { - "description": "Can be one of: not_specified, popular, technical, fictional.", + "description": "Vocabulary register the translations should use.", "type": "string", + "enum": [ + "not_specified", + "popular", + "technical", + "fictional" + ], "example": "technical" }, "business": { @@ -6721,9 +6965,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this style guide." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -7539,6 +7793,9 @@ "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -7660,6 +7917,9 @@ "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -7730,6 +7990,9 @@ "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -7800,6 +8063,9 @@ "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -7914,6 +8180,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read screenshot markers in this project, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -7990,6 +8263,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this screenshot marker, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -8054,9 +8334,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create screenshot markers in this project, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -8147,9 +8437,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this screenshot marker, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -8228,9 +8528,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this screenshot marker, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -8262,6 +8572,12 @@ }, { "$ref": "#/components/parameters/id" + }, + { + "$ref": "#/components/parameters/page" + }, + { + "$ref": "#/components/parameters/per_page" } ], "responses": { @@ -8311,6 +8627,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this account." + }, "404": { "$ref": "#/components/responses/404" }, @@ -8414,6 +8737,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list locales in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -8473,9 +8803,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create locales in this project, when `unverify_new_translations` / `unverify_updated_translations` is set without the Advanced Workflows feature, or when `main=true` is set without the Verification System feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -8618,6 +8958,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this locale." + }, "404": { "$ref": "#/components/responses/404" }, @@ -8680,9 +9027,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this locale, when `unverify_new_translations` / `unverify_updated_translations` is set without the Advanced Workflows feature, or when `main=true` is set without the Verification System feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -8801,9 +9158,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this locale." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -9266,9 +9633,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create download jobs for this locale." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -9339,9 +9716,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this download." + }, "404": { "$ref": "#/components/responses/404" }, + "410": { + "description": "Gone. The async download has expired (downloads are retained for a limited time after completion) and can no longer be retrieved. Issue a new download request.\n" + }, "429": { "$ref": "#/components/responses/429" } @@ -9389,7 +9776,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/distribution_preview" + "$ref": "#/components/schemas/distribution" } } } @@ -9415,6 +9802,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list distributions in this account, or when the account does not have the Over-the-Air feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -9455,7 +9849,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/distribution" + "$ref": "#/components/schemas/distribution_details" } } }, @@ -9474,9 +9868,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create distributions in this account, or when the account does not have the Over-the-Air feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -9596,7 +10000,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/distribution" + "$ref": "#/components/schemas/distribution_details" } } }, @@ -9615,6 +10019,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this distribution, or when the account does not have the Over-the-Air feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -9658,7 +10069,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/distribution" + "$ref": "#/components/schemas/distribution_details" } } }, @@ -9677,9 +10088,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this distribution, or when the account does not have the Over-the-Air feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -9794,9 +10215,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this distribution, or when the account does not have the Over-the-Air feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -9873,6 +10304,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, or when the requesting user is not allowed to list releases in this distribution." + }, "404": { "$ref": "#/components/responses/404" }, @@ -9935,9 +10373,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, or when the requesting user is not allowed to create releases in this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -10068,6 +10516,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, or when the requesting user is not allowed to read this release." + }, "404": { "$ref": "#/components/responses/404" }, @@ -10133,9 +10588,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, or when the requesting user is not allowed to update this release." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -10224,9 +10689,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, or when the requesting user is not allowed to delete this release." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -10291,9 +10766,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, or when the requesting user is not allowed to publish this release." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -10772,6 +11257,30 @@ { "$ref": "#/components/parameters/job_state" }, + { + "description": "Filter by multiple job states at once. Accepted values are the same as `state`. When supplied, `state` is ignored. Rejected with `400 Bad Request` if any value is unknown.", + "name": "states", + "in": "query", + "example": [ + "in_progress", + "completed" + ], + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "description": "Filter to jobs that include the translation key identified by this code (matches via the job's tags).", + "name": "key_id", + "in": "query", + "example": "abcd1234cdef1234abcd1234cdef1234", + "schema": { + "type": "string" + } + }, { "$ref": "#/components/parameters/job_updated_since" } @@ -10810,6 +11319,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list jobs in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -10869,9 +11385,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create jobs in this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -11045,6 +11571,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list jobs in this account." + }, "404": { "$ref": "#/components/responses/404" }, @@ -11118,6 +11651,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this job." + }, "404": { "$ref": "#/components/responses/404" }, @@ -11180,9 +11720,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this job." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -11288,9 +11838,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this job." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -11352,9 +11912,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to start this job." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -11434,9 +12004,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to complete this job." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -11516,9 +12096,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to reopen this job." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -11583,15 +12173,43 @@ } ], "responses": { - "204": { - "$ref": "#/components/responses/204" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/job_details" + } + } + }, + "headers": { + "X-Rate-Limit-Limit": { + "$ref": "#/components/headers/X-Rate-Limit-Limit" + }, + "X-Rate-Limit-Remaining": { + "$ref": "#/components/headers/X-Rate-Limit-Remaining" + }, + "X-Rate-Limit-Reset": { + "$ref": "#/components/headers/X-Rate-Limit-Reset" + } + } }, "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to lock this job." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -11638,15 +12256,43 @@ } ], "responses": { - "204": { - "$ref": "#/components/responses/204" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/job_details" + } + } + }, + "headers": { + "X-Rate-Limit-Limit": { + "$ref": "#/components/headers/X-Rate-Limit-Limit" + }, + "X-Rate-Limit-Remaining": { + "$ref": "#/components/headers/X-Rate-Limit-Remaining" + }, + "X-Rate-Limit-Reset": { + "$ref": "#/components/headers/X-Rate-Limit-Reset" + } + } }, "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to unlock this job." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -11895,6 +12541,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list job templates in this project, or when the account does not have the Job Templates feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -11954,9 +12607,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create job templates in this project, or when the account does not have the Job Templates feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -12068,6 +12731,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this job template, or when the account does not have the Job Templates feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -12130,9 +12800,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this job template, or when the account does not have the Job Templates feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -12224,9 +12904,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this job template, or when the account does not have the Job Templates feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -12300,6 +12990,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list glossaries in this account, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -12359,9 +13056,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create glossaries in this account, when the account does not have the Glossary feature, or when `space_ids` are supplied without the Spaces feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -12460,6 +13167,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this glossary, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -12522,9 +13236,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this glossary, when the account does not have the Glossary feature, or when `space_ids` are supplied without the Spaces feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -12600,9 +13324,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this glossary, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -12673,6 +13407,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list their authorizations." + }, "404": { "$ref": "#/components/responses/404" }, @@ -12729,9 +13470,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -12766,7 +13517,13 @@ "description": "A list of scopes that the access can be used for.", "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "read", + "write", + "orders.create", + "team.manage" + ] }, "example": [ "read", @@ -12828,6 +13585,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this authorization." + }, "404": { "$ref": "#/components/responses/404" }, @@ -12887,9 +13651,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this authorization." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -12921,7 +13695,13 @@ "description": "A list of scopes that the access can be used for.", "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "read", + "write", + "orders.create", + "team.manage" + ] }, "example": [ "read", @@ -12963,9 +13743,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this authorization." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -13040,7 +13830,7 @@ } }, { - "description": "Specify the filter for the comments", + "description": "Specify the filter for the comments. Supported values are `read` and `unread`. Combine both to return all comments (read + unread) without filtering.", "name": "filters", "in": "query", "schema": { @@ -13050,17 +13840,25 @@ "unread" ], "items": { - "type": "string" + "type": "string", + "enum": [ + "read", + "unread" + ] } } }, { - "description": "Order direction. Can be one of: asc, desc.", + "description": "Order direction. Defaults to `desc`. Values other than `asc` and `desc` fall back to `desc`.", "name": "order", "in": "query", "example": "desc", "schema": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ] } } ], @@ -13098,6 +13896,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list comments on this key." + }, "404": { "$ref": "#/components/responses/404" }, @@ -13160,9 +13965,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create comments on this key." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -13273,6 +14088,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this comment." + }, "404": { "$ref": "#/components/responses/404" }, @@ -13338,9 +14160,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this comment." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -13417,9 +14249,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this comment." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -13466,9 +14308,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to mark this comment as read." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -13540,9 +14392,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to mark this comment as unread." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -13596,6 +14458,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this comment." + }, "404": { "$ref": "#/components/responses/404" }, @@ -14489,6 +15358,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list webhooks in this project, or when the account does not have the Webhooks feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -14548,9 +15424,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create webhooks in this project, or when the account does not have the Webhooks feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -14658,6 +15544,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this webhook, or when the account does not have the Webhooks feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -14720,9 +15613,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this webhook, or when the account does not have the Webhooks feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -14807,9 +15710,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this webhook, or when the account does not have the Webhooks feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -14830,7 +15743,7 @@ "/projects/{project_id}/webhooks/{id}/test": { "post": { "summary": "Test a webhook", - "description": "Perform a test request for a webhook.", + "description": "Perform a test request for a webhook. Sends a synthetic `test:event` payload to the webhook's `callback_url` and returns the webhook resource.\n", "operationId": "webhook/test", "tags": [ "Webhooks" @@ -14849,6 +15762,13 @@ "responses": { "200": { "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/webhook" + } + } + }, "headers": { "X-Rate-Limit-Limit": { "$ref": "#/components/headers/X-Rate-Limit-Limit" @@ -14864,9 +15784,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to test this webhook, or when the account does not have the Webhooks feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -14925,9 +15855,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create uploads in this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -15073,6 +16013,12 @@ "description": "This prefix will be added to all uploaded translation key names to prevent collisions. Use a meaningful prefix related to your project or file to keep key names organized.", "type": "string", "example": "prefix_" + }, + "skip_automated_job_creation": { + "description": "When `true`, the automation rules for the project will not fire for this upload, so no jobs are created as a side effect of importing this file. Defaults to `false`.\n", + "type": "boolean", + "default": false, + "example": false } } } @@ -15145,6 +16091,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list uploads in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -15218,6 +16171,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this upload." + }, "404": { "$ref": "#/components/responses/404" }, @@ -15300,7 +16260,7 @@ "type": "object", "title": "upload_batch", "properties": { - "state": { + "status": { "type": "string", "description": "Processing state of the upload batch", "enum": [ @@ -15312,6 +16272,10 @@ "type": "boolean", "description": "Indicates whether unmentioned keys will be deleted after processing all uploads in the batch" }, + "uploads_count": { + "type": "integer", + "description": "Number of uploads attached to this batch." + }, "created_at": { "type": "string", "format": "date-time" @@ -15354,9 +16318,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create uploads in this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -15451,6 +16425,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list translation versions, or when the account does not have the History feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -15527,6 +16508,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this translation version, or when the account does not have the History feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -15594,9 +16582,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create translations on this glossary term, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -15691,9 +16689,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this glossary term translation, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -15764,9 +16772,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this glossary term translation, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -15787,7 +16805,7 @@ "/projects": { "get": { "summary": "List projects", - "description": "List all projects the current user has access to.", + "description": "List all projects the current user has access to.\n\nWhen the `account_id` query parameter is omitted, the response includes projects across every account the user is a member of. Pass `account_id` to scope the results to a single account.\n", "operationId": "projects/list", "tags": [ "Projects" @@ -15806,25 +16824,44 @@ "$ref": "#/components/parameters/query_account_id" }, { - "description": "Sort projects. Valid options are \"name_asc\", \"name_desc\", \"updated_at_asc\", \"updated_at_desc\", \"space_asc\" and \"space_desc\".", - "example": null, + "description": "Sort projects. Valid values are `name_asc`, `name_desc`, `updated_at_asc`, `updated_at_desc`, `space_asc`, and `space_desc`. The trailing direction segment is optional; if omitted or invalid, projects are sorted ascending. Any other value is ignored and the default ordering is returned.", "name": "sort_by", "in": "query", "schema": { - "type": "string" + "type": "string", + "enum": [ + "name_asc", + "name_desc", + "updated_at_asc", + "updated_at_desc", + "space_asc", + "space_desc" + ] } }, { - "description": "Filter projects. Valid options are [\"favorites\"].", + "description": "Filter projects. The only supported value is `favorites`, which restricts the results to projects the current user has starred.", "example": "favorites", "name": "filters", "in": "query", "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "favorites" + ] } } + }, + { + "description": "Search query. The only supported syntax is `name:` — for example `name:android` returns projects whose name matches `android` (case-insensitive substring). Any value that does not match the `name:` prefix is ignored.", + "name": "q", + "in": "query", + "example": "name:android", + "schema": { + "type": "string" + } } ], "responses": { @@ -15861,6 +16898,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not confirmed." + }, "404": { "$ref": "#/components/responses/404" }, @@ -15882,7 +16926,7 @@ }, "post": { "summary": "Create a project", - "description": "Create a new project.", + "description": "Create a new project in the given account.\n\nWhen `source_project_id` is supplied, the new project is created as a clone of that project. All locales, keys, and translations are copied asynchronously after the response is returned, so they may not be available immediately. Settings from the source project are inherited unless explicitly overridden in the request; in clone mode, the `shares_translation_memory` field is ignored and inherited from the source.\n\n`shares_translation_memory` defaults to `true` when omitted on a non-clone create.\n", "operationId": "project/create", "tags": [ "Projects" @@ -15917,9 +16961,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create projects in the target account." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -16066,6 +17120,53 @@ "type": "boolean", "example": true }, + "autocomplete_job_enabled": { + "description": "(Optional) Enable autocomplete-job behavior so that newly created keys and locales are automatically added to in-progress jobs.", + "type": "boolean", + "example": false + }, + "job_locking_enabled": { + "description": "(Optional) When enabled, translations are locked once a job moves into review.", + "type": "boolean", + "example": false + }, + "smart_suggest_enabled": { + "description": "(Optional) Enable Smart Suggest for the project. Defaults to `true` when omitted.", + "type": "boolean", + "example": true + }, + "smart_suggest_use_glossary": { + "description": "(Optional) Allow Smart Suggest to source suggestions from the project glossary. Defaults to `true` when omitted.", + "type": "boolean", + "example": true + }, + "smart_suggest_use_machine_translation": { + "description": "(Optional) Allow Smart Suggest to source suggestions from machine translation. Defaults to `true` when omitted.", + "type": "boolean", + "example": true + }, + "translation_keys_sort_collation": { + "description": "(Optional) Collation used when sorting translation keys alphabetically. Defaults to `unicode_ci` when omitted.", + "type": "string", + "example": "unicode_ci" + }, + "default_encoding": { + "description": "(Optional) Sets the default encoding for Uploads. If you leave it empty, we will try to guess it automatically for you when you Upload a file. You can still override this value by setting the [`file_encoding`](/en/api/strings/uploads/upload-a-new-file) parameter for Uploads.", + "type": "string", + "example": "UTF-8", + "enum": [ + "UTF-8", + "UTF-16", + "UTF-16BE", + "UTF-16LE", + "ISO-8859-1" + ] + }, + "cldr_version": { + "description": "(Optional) CLDR plural-rule version used by the project.", + "type": "string", + "example": "cldr48" + }, "placeholder_styles": { "description": "(Optional) List of placeholder styles enabled for the project.", "type": "array", @@ -16126,6 +17227,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -16185,9 +17293,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to manage this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -16211,7 +17329,7 @@ "title": "project/update/parameters", "properties": { "account_id": { - "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.", + "description": "(Optional) ID of an account the requesting user belongs to. Used only to disambiguate the request context; the project itself cannot be moved between accounts through this endpoint.\n", "type": "string", "example": "abcd1234" }, @@ -16348,6 +17466,41 @@ "angular", "iOS" ] + }, + "autocomplete_job_enabled": { + "description": "(Optional) Enable autocomplete-job behavior so that newly created keys and locales are automatically added to in-progress jobs.", + "type": "boolean", + "example": false + }, + "job_locking_enabled": { + "description": "(Optional) When enabled, translations are locked once a job moves into review.", + "type": "boolean", + "example": false + }, + "smart_suggest_enabled": { + "description": "(Optional) Enable Smart Suggest for the project.", + "type": "boolean", + "example": true + }, + "smart_suggest_use_glossary": { + "description": "(Optional) Allow Smart Suggest to source suggestions from the project glossary.", + "type": "boolean", + "example": true + }, + "smart_suggest_use_machine_translation": { + "description": "(Optional) Allow Smart Suggest to source suggestions from machine translation.", + "type": "boolean", + "example": true + }, + "translation_keys_sort_collation": { + "description": "(Optional) Collation used when sorting translation keys alphabetically.", + "type": "string", + "example": "unicode_ci" + }, + "cldr_version": { + "description": "(Optional) CLDR plural-rule version used by the project.", + "type": "string", + "example": "legacy" } } } @@ -16358,7 +17511,7 @@ }, "delete": { "summary": "Delete a project", - "description": "Delete an existing project.", + "description": "Delete an existing project. Associated repository syncs and OTA distributions are removed. A `project:delete` event is dispatched.\n", "operationId": "project/delete", "tags": [ "Projects" @@ -16378,9 +17531,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to manage this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -18106,6 +19269,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list variables in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -18165,9 +19335,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create variables in this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -18255,6 +19435,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this variable." + }, "404": { "$ref": "#/components/responses/404" }, @@ -18317,9 +19504,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this variable." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -18384,9 +19581,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this variable." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -18407,7 +19614,7 @@ "/projects/{project_id}/branches": { "get": { "summary": "List branches", - "description": "List all branches of the current project.\n\nRequires the Branching feature to be enabled on the account.\n", + "description": "List all branches the of the current project.", "operationId": "branches/list", "tags": [ "Branches" @@ -18460,13 +19667,6 @@ "400": { "$ref": "#/components/responses/400" }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403", - "description": "Forbidden. Returned when the access token lacks the `read` scope, when the user is not allowed to read branches in this project, or when the Branching feature is not available on the account." - }, "404": { "$ref": "#/components/responses/404" }, @@ -18488,7 +19688,7 @@ }, "post": { "summary": "Create a branch", - "description": "Create a new branch.\n\nBranch project provisioning runs asynchronously, so the newly created branch is returned in a transitional state (typically `creating_branch`) and only reaches `success` once the underlying project has been set up. Poll the branch resource until its `state` becomes `success` before performing further operations on it.\n\nRequires the Branching feature to be enabled on the account.\n\n*Note: Creating a new branch may take several minutes depending on the project size.*\n", + "description": "Create a new branch.\n\n*Note: Creating a new branch may take several minutes depending on the project size.*\n", "operationId": "branch/create", "tags": [ "Branches" @@ -18526,19 +19726,9 @@ "400": { "$ref": "#/components/responses/400" }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403", - "description": "Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to create branches in this project, or when the Branching feature is not available on the account." - }, "404": { "$ref": "#/components/responses/404" }, - "422": { - "$ref": "#/components/responses/422" - }, "429": { "$ref": "#/components/responses/429" } @@ -18568,11 +19758,6 @@ "description": "Name of the branch", "type": "string", "example": "my-branch" - }, - "base": { - "description": "Name of an existing branch to use as the base for the new branch.", - "type": "string", - "example": "parent-branch" } } } @@ -18585,7 +19770,7 @@ "/projects/{project_id}/branches/{name}": { "get": { "summary": "Get a single branch", - "description": "Get details on a single branch for a given project.\n\nRequires the Branching feature to be enabled on the account.\n", + "description": "Get details on a single branch for a given project.", "operationId": "branch/show", "tags": [ "Branches" @@ -18626,13 +19811,6 @@ "400": { "$ref": "#/components/responses/400" }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403", - "description": "Forbidden. Returned when the access token lacks the `read` scope, when the user is not allowed to read this branch, or when the Branching feature is not available on the account." - }, "404": { "$ref": "#/components/responses/404" }, @@ -18654,7 +19832,7 @@ }, "patch": { "summary": "Update a branch", - "description": "Update an existing branch. Only the branch name can be changed.\n\nRequires the Branching feature to be enabled on the account.\n", + "description": "Update an existing branch.", "operationId": "branch/update", "tags": [ "Branches" @@ -18695,19 +19873,9 @@ "400": { "$ref": "#/components/responses/400" }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403", - "description": "Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to update this branch, or when the Branching feature is not available on the account." - }, "404": { "$ref": "#/components/responses/404" }, - "422": { - "$ref": "#/components/responses/422" - }, "429": { "$ref": "#/components/responses/429" } @@ -18744,7 +19912,7 @@ }, "delete": { "summary": "Delete a branch", - "description": "Delete an existing branch.\n\nA branch cannot be deleted while it still has open jobs or open translation orders attached to its branch project — in that case the request is rejected with `409 Conflict`. A branch whose current `state` does not allow deletion (for example, while a merge or sync is in progress) is rejected with `422 Unprocessable Entity`.\n\nRequires the Branching feature to be enabled on the account.\n", + "description": "Delete an existing branch.", "operationId": "branch/delete", "tags": [ "Branches" @@ -18767,23 +19935,9 @@ "400": { "$ref": "#/components/responses/400" }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403", - "description": "Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to delete this branch, or when the Branching feature is not available on the account." - }, "404": { "$ref": "#/components/responses/404" }, - "409": { - "$ref": "#/components/responses/409", - "description": "Conflict. The branch has open jobs or open translation orders. The response body lists the blockers, for example `{\"errors\":[\"open_jobs\",\"open_orders\"]}`. Close or complete the listed resources before retrying." - }, - "422": { - "$ref": "#/components/responses/422" - }, "429": { "$ref": "#/components/responses/429" } @@ -18804,7 +19958,7 @@ "/projects/{project_id}/branches/{name}/merge": { "patch": { "summary": "Merge a branch", - "description": "Merge an existing branch back into its base branch.\n\nThe merge runs asynchronously. The branch transitions to `merging_branch` and settles in `merged`, `merge_error`, or `merge_conflict` once the background job completes; the response body for this request is empty. Poll the branch resource to observe the final state.\n\nA branch cannot be merged while it still has open jobs or open translation orders attached to its branch project — in that case the request is rejected with `409 Conflict`. A branch whose current `state` does not allow a merge is rejected with `422 Unprocessable Entity`.\n\nRequires the Branching feature to be enabled on the account.\n\n*Note: Merging a branch may take several minutes depending on diff size.*\n", + "description": "Merge an existing branch.\n\n*Note: Merging a branch may take several minutes depending on diff size.*\n", "operationId": "branch/merge", "tags": [ "Branches" @@ -18822,7 +19976,7 @@ ], "responses": { "200": { - "description": "OK. The merge has been scheduled. The response body is empty; observe progress by polling the branch resource.", + "description": "OK", "headers": { "X-Rate-Limit-Limit": { "$ref": "#/components/headers/X-Rate-Limit-Limit" @@ -18838,23 +19992,9 @@ "400": { "$ref": "#/components/responses/400" }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403", - "description": "Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to merge this branch, or when the Branching feature is not available on the account." - }, "404": { "$ref": "#/components/responses/404" }, - "409": { - "$ref": "#/components/responses/409", - "description": "Conflict. The branch has open jobs or open translation orders. The response body lists the blockers, for example `{\"errors\":[\"open_jobs\",\"open_orders\"]}`. Close or complete the listed resources before retrying." - }, - "422": { - "$ref": "#/components/responses/422" - }, "429": { "$ref": "#/components/responses/429" } @@ -18878,12 +20018,8 @@ "title": "branch/merge/parameters", "properties": { "strategy": { - "description": "Conflict resolution strategy applied when the branch and its base have diverged. `use_main` keeps the values from the base branch; `use_branch` keeps the values from the branch being merged.\n", + "description": "strategy used for merge conflicts, use_main or use_branch", "type": "string", - "enum": [ - "use_main", - "use_branch" - ], "example": "use_main" } } @@ -18896,7 +20032,7 @@ "/projects/{project_id}/branches/{name}/sync": { "patch": { "summary": "Sync a branch", - "description": "Pull changes from the base branch into this branch, applying the chosen conflict-resolution strategy.\n\nThe sync runs asynchronously. The branch transitions to `syncing_branch` and settles back into `success` (or `merge_conflict` / `branch_error`) once the background job completes; the response body for this request is empty. Poll the branch resource to observe the final state.\n\nOnly branches created with the newer branching system can be synced. Requests against branches from the older system, or against branches whose current state does not allow a sync, are rejected with `422 Unprocessable Entity` and an empty body.\n\nRequires the Branching feature to be enabled on the account.\n", + "description": "Sync an existing branch.\n\n*Note: Only available for branches created with new branching.*\n", "operationId": "branch/sync", "tags": [ "Branches" @@ -18914,7 +20050,7 @@ ], "responses": { "200": { - "description": "OK. The sync has been scheduled. The response body is empty; observe progress by polling the branch resource.", + "description": "OK", "headers": { "X-Rate-Limit-Limit": { "$ref": "#/components/headers/X-Rate-Limit-Limit" @@ -18930,19 +20066,9 @@ "400": { "$ref": "#/components/responses/400" }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403", - "description": "Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to sync this branch, or when the Branching feature is not available on the account." - }, "404": { "$ref": "#/components/responses/404" }, - "422": { - "$ref": "#/components/responses/422" - }, "429": { "$ref": "#/components/responses/429" } @@ -18966,12 +20092,8 @@ "title": "branch/sync/parameters", "properties": { "strategy": { - "description": "Conflict resolution strategy applied when the branch and its base have diverged. `use_main` keeps the values from the base branch; `use_branch` keeps the values from this branch.\n", + "description": "strategy used for conflicts, use_main or use_branch", "type": "string", - "enum": [ - "use_main", - "use_branch" - ], "example": "use_main" } } @@ -19170,6 +20292,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list accounts." + }, "404": { "$ref": "#/components/responses/404" }, @@ -19228,8 +20357,15 @@ } } }, - "400": { - "$ref": "#/components/responses/400" + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this account." }, "404": { "$ref": "#/components/responses/404" @@ -19289,6 +20425,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope." + }, "404": { "$ref": "#/components/responses/404" }, @@ -19512,6 +20655,9 @@ "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -19628,6 +20774,9 @@ "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -19698,6 +20847,9 @@ "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -19818,6 +20970,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list screenshots in this project, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -19877,9 +21036,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create screenshots in this project, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -19984,6 +21153,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this screenshot, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -20046,9 +21222,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this screenshot, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -20133,9 +21319,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this screenshot, or when the account does not have the Attachable Screenshots feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -20212,6 +21408,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list glossary terms in this glossary, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -20274,9 +21477,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create glossary terms in this glossary, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -20377,6 +21590,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this glossary term, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -20442,9 +21662,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this glossary term, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -20522,9 +21752,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this glossary term, or when the account does not have the Glossary feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -20564,7 +21804,7 @@ "$ref": "#/components/parameters/per_page" }, { - "description": "excludes tags generated by the system, e.g. job, upload or figma tags", + "description": "Excludes tags generated by the system, e.g. job, upload or figma tags. Mutually exclusive with `only_system_tags`.", "name": "exclude_system_tags", "example": true, "in": "query", @@ -20572,6 +21812,15 @@ "type": "boolean" } }, + { + "description": "Returns only system-generated tags (e.g. job, upload, figma) and excludes user-defined tags. Mutually exclusive with `exclude_system_tags`.", + "name": "only_system_tags", + "example": false, + "in": "query", + "schema": { + "type": "boolean" + } + }, { "description": "specify the branch to use", "example": "my-feature-branch", @@ -20625,6 +21874,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list tags in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -20684,9 +21940,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create tags in this project, or when the project is protected." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -20792,6 +22058,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this tag." + }, "404": { "$ref": "#/components/responses/404" }, @@ -20845,9 +22118,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this tag." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -20930,6 +22213,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list blocked keys in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -20989,9 +22279,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create blocked keys in this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -21074,6 +22374,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this blocked key." + }, "404": { "$ref": "#/components/responses/404" }, @@ -21136,9 +22443,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this blocked key." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -21198,9 +22515,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this blocked key." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -21313,6 +22640,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list keys in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -21372,9 +22706,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to create keys in this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -21500,6 +22844,22 @@ "fruit": "Apple", "vegetable": "Tomato" } + }, + "excluded_in_locales": { + "description": "Public codes of locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions.\n", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "de", + "fr" + ] + }, + "format_value_type": { + "description": "Override of the value type for the key in the export. Most useful for formats like Android XML that distinguish string vs. plural resources.\n", + "type": "string", + "example": "string" } } } @@ -21569,6 +22929,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to manage keys in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -21642,6 +23009,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list keys in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -21753,6 +23127,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this key." + }, "404": { "$ref": "#/components/responses/404" }, @@ -21815,9 +23196,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to update this key." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -21930,6 +23321,22 @@ "fruit": "Apple", "vegetable": "Tomato" } + }, + "excluded_in_locales": { + "description": "Public codes of locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions.\n", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "de", + "fr" + ] + }, + "format_value_type": { + "description": "Override of the value type for the key in the export. Most useful for formats like Android XML that distinguish string vs. plural resources.\n", + "type": "string", + "example": "string" } } } @@ -21972,9 +23379,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this key." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -22033,9 +23450,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to tag keys in this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -22127,6 +23554,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to tag keys in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -22221,6 +23655,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage exclusions in this project, or when the account does not have the Batch Actions feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -22315,6 +23756,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage exclusions in this project, or when the account does not have the Batch Actions feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -22397,6 +23845,15 @@ "schema": { "type": "string" } + }, + { + "description": "Filter the result to orders that include the given translation. When supplied with a translation code that does not exist, an empty list is returned.", + "name": "translation_id", + "in": "query", + "example": "abcd1234cdef1234abcd1234cdef1234", + "schema": { + "type": "string" + } } ], "responses": { @@ -22433,6 +23890,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to list translation orders in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -22492,9 +23956,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `orders.create` scope or when the requesting user is not allowed to create translation orders in this project." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -22663,6 +24137,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this translation order." + }, "404": { "$ref": "#/components/responses/404" }, @@ -22716,9 +24197,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to delete this translation order." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -22780,9 +24271,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `orders.create` scope or when the requesting user is not allowed to confirm this translation order." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -23043,6 +24544,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read git syncs in this account, or when the account does not have the Repo Sync feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -23102,6 +24610,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage git syncs in this account, or when the account does not have the Repo Sync feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -23243,6 +24758,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read git syncs in this account, or when the account does not have the Repo Sync feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -23330,9 +24852,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to export to the synced repository, or when the account does not have the Repo Sync feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -23416,9 +24948,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to import from the synced repository, or when the account does not have the Repo Sync feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -23619,9 +25161,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage git syncs in this account, or when the account does not have the Repo Sync feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -23683,9 +25235,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to manage git syncs in this account, or when the account does not have the Repo Sync feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -25012,6 +26574,24 @@ "type": "string" } }, + { + "description": "Filter translations to those attached to the key identified by this code. Equivalent to calling `GET /projects/{project_id}/keys/{key_id}/translations`.", + "name": "key_id", + "in": "query", + "example": "abcd1234cdef1234abcd1234cdef1234", + "schema": { + "type": "string" + } + }, + { + "description": "Filter translations to those for the given locale (locale code or id). Equivalent to calling `GET /projects/{project_id}/locales/{locale_id}/translations`.", + "name": "locale_id", + "in": "query", + "example": "abcd1234cdef1234abcd1234cdef1234", + "schema": { + "type": "string" + } + }, { "description": "Sort criteria. Can be one of: key_name, created_at, updated_at.", "example": "updated_at", @@ -25074,6 +26654,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read translations in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -25133,9 +26720,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to translate this locale, or (when `unverified` is `true`) when the account does not have the Verification System or Advanced Workflows feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -25197,6 +26794,16 @@ "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.", "type": "boolean", "example": null + }, + "minor_change": { + "description": "When `true`, the translation is marked as a minor edit and does not trigger downstream re-verification on the linked locales' translations.\n", + "type": "boolean", + "example": false + }, + "reviewed": { + "description": "When `true` and the project's review workflow is enabled, the translation is created in the `reviewed` state.\n", + "type": "boolean", + "example": false } } } @@ -25301,6 +26908,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read translations in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -25416,6 +27030,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read translations for this key." + }, "404": { "$ref": "#/components/responses/404" }, @@ -25489,6 +27110,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read translations in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -25595,6 +27223,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read this translation." + }, "404": { "$ref": "#/components/responses/404" }, @@ -25657,9 +27292,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this translation, or (when `unverified` is `true`) when the account does not have the Verification System or Advanced Workflows feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -25716,6 +27361,11 @@ "description": "When set to `true`, the translation will be marked as reviewed.", "type": "boolean", "example": true + }, + "minor_change": { + "description": "When `true`, the update is treated as a minor edit and does not trigger downstream re-verification on the linked locales' translations.\n", + "type": "boolean", + "example": false } } } @@ -25769,9 +27419,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to verify this translation, or when the account does not have the Verification System or Advanced Workflows feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -25851,9 +27511,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to unverify this translation, or when the account does not have the Verification System or Advanced Workflows feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -25933,9 +27603,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to review this translation, or when the account does not have the Workflow feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -26015,9 +27695,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to unreview this translation, or when the account does not have the Workflow feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -26097,9 +27787,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to exclude this translation from export." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -26179,9 +27879,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to include this translation in export." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -26258,9 +27968,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, when the account does not have the Verification System or Advanced Workflows feature, or when the requesting user is not allowed to verify the matched translations." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -26344,12 +28064,22 @@ } } }, - "400": { - "$ref": "#/components/responses/400" + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, when the account does not have the Verification System or Advanced Workflows feature, or when the requesting user is not allowed to unverify the matched translations." }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -26441,9 +28171,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, when the account does not have the Workflow feature, or when the requesting user is not allowed to review the matched translations." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -26525,9 +28265,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, when the account does not have the Workflow feature, or when the requesting user is not allowed to unreview the matched translations." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -26609,6 +28359,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, or when the requesting user is not allowed to exclude translations from export in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -26703,6 +28460,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the account does not have the Batch Actions feature, or when the requesting user is not allowed to include translations in export in this project." + }, "404": { "$ref": "#/components/responses/404" }, @@ -26782,6 +28546,15 @@ "schema": { "type": "boolean" } + }, + { + "description": "Restrict the results to notifications created within the last N days. Coerced to integer; non-numeric values resolve to 0 (returning nothing).", + "example": 7, + "name": "last_days", + "in": "query", + "schema": { + "type": "integer" + } } ], "responses": { @@ -26818,6 +28591,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not the recipient of the listed notifications." + }, "404": { "$ref": "#/components/responses/404" }, @@ -26879,6 +28659,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not the recipient of the listed notifications." + }, "404": { "$ref": "#/components/responses/404" }, @@ -27019,6 +28806,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not the recipient of the listed notification groups." + }, "404": { "$ref": "#/components/responses/404" }, @@ -27080,6 +28874,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not the recipient of the listed notification groups." + }, "404": { "$ref": "#/components/responses/404" }, @@ -27141,6 +28942,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not the recipient of the notification group." + }, "404": { "$ref": "#/components/responses/404" }, @@ -27331,6 +29139,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope or when the requesting user is not allowed to read the account's translation keys." + }, "404": { "$ref": "#/components/responses/404" }, @@ -27375,6 +29190,16 @@ "description": "Number of results per page", "type": "integer", "example": 25 + }, + "project_ids": { + "description": "Limit the search to the given project codes. When omitted, the search spans every project the user can access in this account.\n", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "abcd1234abcd1234abcd1234abcd1234" + ] } } } @@ -28037,6 +29862,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list organization job templates in this account, or when the account does not have the Job Templates feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -28096,9 +29928,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create organization job templates, or when the account does not have the Job Templates feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -28191,6 +30033,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this organization job template, or when the account does not have the Job Templates feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -28253,9 +30102,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this organization job template, or when the account does not have the Job Templates feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -28328,9 +30187,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this organization job template, or when the account does not have the Job Templates feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -28853,8 +30722,24 @@ "200": { "description": "OK" }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to unlink keys for this parent." + }, + "404": { + "$ref": "#/components/responses/404" + }, "422": { "$ref": "#/components/responses/422" + }, + "429": { + "$ref": "#/components/responses/429" } } }, @@ -28904,6 +30789,19 @@ } } } + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to read key links for this key." + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" } } }, @@ -28963,8 +30861,24 @@ } } }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to link this key." + }, + "404": { + "$ref": "#/components/responses/404" + }, "422": { "$ref": "#/components/responses/422" + }, + "429": { + "$ref": "#/components/responses/429" } } } @@ -29001,8 +30915,24 @@ "200": { "description": "OK" }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope or when the requesting user is not allowed to unlink this key." + }, + "404": { + "$ref": "#/components/responses/404" + }, "422": { "$ref": "#/components/responses/422" + }, + "429": { + "$ref": "#/components/responses/429" } } } @@ -29063,8 +30993,12 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, "403": { - "$ref": "#/components/responses/403" + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to list automations in this account, or when the account does not have the Automation Job Creation feature." }, "404": { "$ref": "#/components/responses/404" @@ -29171,6 +31105,16 @@ "description": "along with cron_schedule, specifies when the scheduled automation is supposed to run", "type": "string", "example": "GMT" + }, + "job_owner_id": { + "description": "User ID of the job owner that newly created jobs are assigned to.\n", + "type": "string", + "example": "abcd1234abcd1234abcd1234abcd1234" + }, + "include_only_updated_locales": { + "description": "When `true`, the automation only acts on locales that changed since its last run. Defaults to `false`.\n", + "type": "boolean", + "example": false } } } @@ -29202,6 +31146,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to create automations in this account, or when the account does not have the Automation Job Creation feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -29268,6 +31219,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the requesting user is not allowed to read this automation, or when the account does not have the Automation Job Creation feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -29376,6 +31334,16 @@ "description": "along with cron_schedule, specifies when the scheduled automation is supposed to run", "type": "string", "example": "GMT" + }, + "job_owner_id": { + "description": "User ID of the job owner that newly created jobs are assigned to.\n", + "type": "string", + "example": "abcd1234abcd1234abcd1234abcd1234" + }, + "include_only_updated_locales": { + "description": "When `true`, the automation only acts on locales that changed since its last run.\n", + "type": "boolean", + "example": false } } } @@ -29407,9 +31375,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to update this automation, or when the account does not have the Automation Job Creation feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -29450,6 +31428,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to delete this automation, or when the account does not have the Automation Job Creation feature." + }, "404": { "$ref": "#/components/responses/404" }, @@ -29513,9 +31498,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to activate this automation, or when the account does not have the Automation Job Creation feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -29576,9 +31571,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to deactivate this automation, or when the account does not have the Automation Job Creation feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -29621,9 +31626,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the requesting user is not allowed to trigger this automation, or when the account does not have the Automation Job Creation feature." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } diff --git a/paths/locales/index.yaml b/paths/locales/index.yaml index 12fe8104d..675062915 100644 --- a/paths/locales/index.yaml +++ b/paths/locales/index.yaml @@ -21,6 +21,12 @@ parameters: in: query schema: type: string +- description: Specify a query to filter locales. Currently supports `name` argument, filtering only locales with names starting with the given string. + example: name:en + name: q + in: query + schema: + type: string responses: '200': description: OK From cc452f4ad2d526f8b9494ce98eb3db1aae6e7d58 Mon Sep 17 00:00:00 2001 From: sbruhns Date: Wed, 20 May 2026 14:13:30 +0200 Subject: [PATCH 4/8] revert: restore branches paths and schema to main state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removes the branch-related spec changes from this PR — those files will be handled separately. Co-Authored-By: Claude Opus 4.7 --- doc/compiled.json | 123 ++++++++++++++++++++++++++++++++---- paths/branches/create.yaml | 17 ++++- paths/branches/destroy.yaml | 17 ++++- paths/branches/index.yaml | 10 ++- paths/branches/merge.yaml | 26 +++++++- paths/branches/show.yaml | 10 ++- paths/branches/sync.yaml | 23 +++++-- paths/branches/update.yaml | 12 +++- schemas/branch.yaml | 12 ++++ 9 files changed, 226 insertions(+), 24 deletions(-) diff --git a/doc/compiled.json b/doc/compiled.json index 7c4efd84b..9130b35b5 100644 --- a/doc/compiled.json +++ b/doc/compiled.json @@ -3678,6 +3678,11 @@ "name": { "type": "string" }, + "base": { + "type": "string", + "nullable": true, + "description": "Name of the base branch this branch was created from. Only present for branches created with the newer branching system." + }, "created_at": { "type": "string", "format": "date-time" @@ -3697,7 +3702,16 @@ "$ref": "#/components/schemas/user_preview" }, "state": { - "type": "string" + "type": "string", + "enum": [ + "creating_branch", + "merging_branch", + "syncing_branch", + "merged", + "success", + "branch_error", + "merge_conflict" + ] }, "child_branches": { "type": "array", @@ -19614,7 +19628,7 @@ "/projects/{project_id}/branches": { "get": { "summary": "List branches", - "description": "List all branches the of the current project.", + "description": "List all branches of the current project.\n\nRequires the Branching feature to be enabled on the account.\n", "operationId": "branches/list", "tags": [ "Branches" @@ -19667,6 +19681,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the user is not allowed to read branches in this project, or when the Branching feature is not available on the account." + }, "404": { "$ref": "#/components/responses/404" }, @@ -19688,7 +19709,7 @@ }, "post": { "summary": "Create a branch", - "description": "Create a new branch.\n\n*Note: Creating a new branch may take several minutes depending on the project size.*\n", + "description": "Create a new branch.\n\nBranch project provisioning runs asynchronously, so the newly created branch is returned in a transitional state (typically `creating_branch`) and only reaches `success` once the underlying project has been set up. Poll the branch resource until its `state` becomes `success` before performing further operations on it.\n\nRequires the Branching feature to be enabled on the account.\n\n*Note: Creating a new branch may take several minutes depending on the project size.*\n", "operationId": "branch/create", "tags": [ "Branches" @@ -19726,9 +19747,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to create branches in this project, or when the Branching feature is not available on the account." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -19758,6 +19789,11 @@ "description": "Name of the branch", "type": "string", "example": "my-branch" + }, + "base": { + "description": "Name of an existing branch to use as the base for the new branch.", + "type": "string", + "example": "parent-branch" } } } @@ -19770,7 +19806,7 @@ "/projects/{project_id}/branches/{name}": { "get": { "summary": "Get a single branch", - "description": "Get details on a single branch for a given project.", + "description": "Get details on a single branch for a given project.\n\nRequires the Branching feature to be enabled on the account.\n", "operationId": "branch/show", "tags": [ "Branches" @@ -19811,6 +19847,13 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `read` scope, when the user is not allowed to read this branch, or when the Branching feature is not available on the account." + }, "404": { "$ref": "#/components/responses/404" }, @@ -19832,7 +19875,7 @@ }, "patch": { "summary": "Update a branch", - "description": "Update an existing branch.", + "description": "Update an existing branch. Only the branch name can be changed.\n\nRequires the Branching feature to be enabled on the account.\n", "operationId": "branch/update", "tags": [ "Branches" @@ -19873,9 +19916,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to update this branch, or when the Branching feature is not available on the account." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -19912,7 +19965,7 @@ }, "delete": { "summary": "Delete a branch", - "description": "Delete an existing branch.", + "description": "Delete an existing branch.\n\nA branch cannot be deleted while it still has open jobs or open translation orders attached to its branch project — in that case the request is rejected with `409 Conflict`. A branch whose current `state` does not allow deletion (for example, while a merge or sync is in progress) is rejected with `422 Unprocessable Entity`.\n\nRequires the Branching feature to be enabled on the account.\n", "operationId": "branch/delete", "tags": [ "Branches" @@ -19935,9 +19988,23 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to delete this branch, or when the Branching feature is not available on the account." + }, "404": { "$ref": "#/components/responses/404" }, + "409": { + "$ref": "#/components/responses/409", + "description": "Conflict. The branch has open jobs or open translation orders. The response body lists the blockers, for example `{\"errors\":[\"open_jobs\",\"open_orders\"]}`. Close or complete the listed resources before retrying." + }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -19958,7 +20025,7 @@ "/projects/{project_id}/branches/{name}/merge": { "patch": { "summary": "Merge a branch", - "description": "Merge an existing branch.\n\n*Note: Merging a branch may take several minutes depending on diff size.*\n", + "description": "Merge an existing branch back into its base branch.\n\nThe merge runs asynchronously. The branch transitions to `merging_branch` and settles in `merged`, `merge_error`, or `merge_conflict` once the background job completes; the response body for this request is empty. Poll the branch resource to observe the final state.\n\nA branch cannot be merged while it still has open jobs or open translation orders attached to its branch project — in that case the request is rejected with `409 Conflict`. A branch whose current `state` does not allow a merge is rejected with `422 Unprocessable Entity`.\n\nRequires the Branching feature to be enabled on the account.\n\n*Note: Merging a branch may take several minutes depending on diff size.*\n", "operationId": "branch/merge", "tags": [ "Branches" @@ -19976,7 +20043,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK. The merge has been scheduled. The response body is empty; observe progress by polling the branch resource.", "headers": { "X-Rate-Limit-Limit": { "$ref": "#/components/headers/X-Rate-Limit-Limit" @@ -19992,9 +20059,23 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to merge this branch, or when the Branching feature is not available on the account." + }, "404": { "$ref": "#/components/responses/404" }, + "409": { + "$ref": "#/components/responses/409", + "description": "Conflict. The branch has open jobs or open translation orders. The response body lists the blockers, for example `{\"errors\":[\"open_jobs\",\"open_orders\"]}`. Close or complete the listed resources before retrying." + }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -20018,8 +20099,12 @@ "title": "branch/merge/parameters", "properties": { "strategy": { - "description": "strategy used for merge conflicts, use_main or use_branch", + "description": "Conflict resolution strategy applied when the branch and its base have diverged. `use_main` keeps the values from the base branch; `use_branch` keeps the values from the branch being merged.\n", "type": "string", + "enum": [ + "use_main", + "use_branch" + ], "example": "use_main" } } @@ -20032,7 +20117,7 @@ "/projects/{project_id}/branches/{name}/sync": { "patch": { "summary": "Sync a branch", - "description": "Sync an existing branch.\n\n*Note: Only available for branches created with new branching.*\n", + "description": "Pull changes from the base branch into this branch, applying the chosen conflict-resolution strategy.\n\nThe sync runs asynchronously. The branch transitions to `syncing_branch` and settles back into `success` (or `merge_conflict` / `branch_error`) once the background job completes; the response body for this request is empty. Poll the branch resource to observe the final state.\n\nOnly branches created with the newer branching system can be synced. Requests against branches from the older system, or against branches whose current state does not allow a sync, are rejected with `422 Unprocessable Entity` and an empty body.\n\nRequires the Branching feature to be enabled on the account.\n", "operationId": "branch/sync", "tags": [ "Branches" @@ -20050,7 +20135,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK. The sync has been scheduled. The response body is empty; observe progress by polling the branch resource.", "headers": { "X-Rate-Limit-Limit": { "$ref": "#/components/headers/X-Rate-Limit-Limit" @@ -20066,9 +20151,19 @@ "400": { "$ref": "#/components/responses/400" }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403", + "description": "Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to sync this branch, or when the Branching feature is not available on the account." + }, "404": { "$ref": "#/components/responses/404" }, + "422": { + "$ref": "#/components/responses/422" + }, "429": { "$ref": "#/components/responses/429" } @@ -20092,8 +20187,12 @@ "title": "branch/sync/parameters", "properties": { "strategy": { - "description": "strategy used for conflicts, use_main or use_branch", + "description": "Conflict resolution strategy applied when the branch and its base have diverged. `use_main` keeps the values from the base branch; `use_branch` keeps the values from this branch.\n", "type": "string", + "enum": [ + "use_main", + "use_branch" + ], "example": "use_main" } } diff --git a/paths/branches/create.yaml b/paths/branches/create.yaml index 6cc27b9a1..950748745 100644 --- a/paths/branches/create.yaml +++ b/paths/branches/create.yaml @@ -2,7 +2,11 @@ summary: Create a branch description: | Create a new branch. - + + Branch project provisioning runs asynchronously, so the newly created branch is returned in a transitional state (typically `creating_branch`) and only reaches `success` once the underlying project has been set up. Poll the branch resource until its `state` becomes `success` before performing further operations on it. + + Requires the Branching feature to be enabled on the account. + *Note: Creating a new branch may take several minutes depending on the project size.* operationId: branch/create tags: @@ -26,8 +30,15 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to create branches in this project, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -58,4 +69,8 @@ requestBody: description: Name of the branch type: string example: my-branch + base: + description: Name of an existing branch to use as the base for the new branch. + type: string + example: parent-branch x-cli-version: '2.5' diff --git a/paths/branches/destroy.yaml b/paths/branches/destroy.yaml index 8ceefe0a7..a2d165be2 100644 --- a/paths/branches/destroy.yaml +++ b/paths/branches/destroy.yaml @@ -1,6 +1,11 @@ --- summary: Delete a branch -description: Delete an existing branch. +description: | + Delete an existing branch. + + A branch cannot be deleted while it still has open jobs or open translation orders attached to its branch project — in that case the request is rejected with `409 Conflict`. A branch whose current `state` does not allow deletion (for example, while a merge or sync is in progress) is rejected with `422 Unprocessable Entity`. + + Requires the Branching feature to be enabled on the account. operationId: branch/delete tags: - Branches @@ -13,8 +18,18 @@ responses: "$ref": "../../responses.yaml#/204" '400': "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to delete this branch, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" + '409': + "$ref": "../../responses.yaml#/409" + description: Conflict. The branch has open jobs or open translation orders. The response body lists the blockers, for example `{"errors":["open_jobs","open_orders"]}`. Close or complete the listed resources before retrying. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/paths/branches/index.yaml b/paths/branches/index.yaml index b80656d64..08836350e 100644 --- a/paths/branches/index.yaml +++ b/paths/branches/index.yaml @@ -1,6 +1,9 @@ --- summary: List branches -description: List all branches the of the current project. +description: | + List all branches of the current project. + + Requires the Branching feature to be enabled on the account. operationId: branches/list tags: - Branches @@ -31,6 +34,11 @@ responses: "$ref": "../../headers.yaml#/Pagination" '400': "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the user is not allowed to read branches in this project, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" '429': diff --git a/paths/branches/merge.yaml b/paths/branches/merge.yaml index 53a73d0ce..a09b5be48 100644 --- a/paths/branches/merge.yaml +++ b/paths/branches/merge.yaml @@ -1,7 +1,13 @@ --- summary: Merge a branch description: | - Merge an existing branch. + Merge an existing branch back into its base branch. + + The merge runs asynchronously. The branch transitions to `merging_branch` and settles in `merged`, `merge_error`, or `merge_conflict` once the background job completes; the response body for this request is empty. Poll the branch resource to observe the final state. + + A branch cannot be merged while it still has open jobs or open translation orders attached to its branch project — in that case the request is rejected with `409 Conflict`. A branch whose current `state` does not allow a merge is rejected with `422 Unprocessable Entity`. + + Requires the Branching feature to be enabled on the account. *Note: Merging a branch may take several minutes depending on diff size.* operationId: branch/merge @@ -13,7 +19,7 @@ parameters: - "$ref": "../../parameters.yaml#/name" responses: '200': - description: OK + description: OK. The merge has been scheduled. The response body is empty; observe progress by polling the branch resource. headers: X-Rate-Limit-Limit: "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" @@ -23,8 +29,18 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to merge this branch, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" + '409': + "$ref": "../../responses.yaml#/409" + description: Conflict. The branch has open jobs or open translation orders. The response body lists the blockers, for example `{"errors":["open_jobs","open_orders"]}`. Close or complete the listed resources before retrying. + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -51,6 +67,10 @@ requestBody: title: branch/merge/parameters properties: strategy: - description: strategy used for merge conflicts, use_main or use_branch + description: | + Conflict resolution strategy applied when the branch and its base have diverged. `use_main` keeps the values from the base branch; `use_branch` keeps the values from the branch being merged. type: string + enum: + - use_main + - use_branch example: use_main diff --git a/paths/branches/show.yaml b/paths/branches/show.yaml index 715bf6dbf..06dd80be9 100644 --- a/paths/branches/show.yaml +++ b/paths/branches/show.yaml @@ -1,6 +1,9 @@ --- summary: Get a single branch -description: Get details on a single branch for a given project. +description: | + Get details on a single branch for a given project. + + Requires the Branching feature to be enabled on the account. operationId: branch/show tags: - Branches @@ -24,6 +27,11 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `read` scope, when the user is not allowed to read this branch, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" '429': diff --git a/paths/branches/sync.yaml b/paths/branches/sync.yaml index 0b8c3e8a1..9317f0bb9 100644 --- a/paths/branches/sync.yaml +++ b/paths/branches/sync.yaml @@ -1,9 +1,13 @@ --- summary: Sync a branch description: | - Sync an existing branch. + Pull changes from the base branch into this branch, applying the chosen conflict-resolution strategy. - *Note: Only available for branches created with new branching.* + The sync runs asynchronously. The branch transitions to `syncing_branch` and settles back into `success` (or `merge_conflict` / `branch_error`) once the background job completes; the response body for this request is empty. Poll the branch resource to observe the final state. + + Only branches created with the newer branching system can be synced. Requests against branches from the older system, or against branches whose current state does not allow a sync, are rejected with `422 Unprocessable Entity` and an empty body. + + Requires the Branching feature to be enabled on the account. operationId: branch/sync tags: - Branches @@ -13,7 +17,7 @@ parameters: - "$ref": "../../parameters.yaml#/name" responses: '200': - description: OK + description: OK. The sync has been scheduled. The response body is empty; observe progress by polling the branch resource. headers: X-Rate-Limit-Limit: "$ref": "../../headers.yaml#/X-Rate-Limit-Limit" @@ -23,8 +27,15 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to sync this branch, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: @@ -51,6 +62,10 @@ requestBody: title: branch/sync/parameters properties: strategy: - description: strategy used for conflicts, use_main or use_branch + description: | + Conflict resolution strategy applied when the branch and its base have diverged. `use_main` keeps the values from the base branch; `use_branch` keeps the values from this branch. type: string + enum: + - use_main + - use_branch example: use_main diff --git a/paths/branches/update.yaml b/paths/branches/update.yaml index 12de76646..5e4dd58c0 100644 --- a/paths/branches/update.yaml +++ b/paths/branches/update.yaml @@ -1,6 +1,9 @@ --- summary: Update a branch -description: Update an existing branch. +description: | + Update an existing branch. Only the branch name can be changed. + + Requires the Branching feature to be enabled on the account. operationId: branch/update tags: - Branches @@ -24,8 +27,15 @@ responses: "$ref": "../../headers.yaml#/X-Rate-Limit-Reset" '400': "$ref": "../../responses.yaml#/400" + '401': + "$ref": "../../responses.yaml#/401" + '403': + "$ref": "../../responses.yaml#/403" + description: Forbidden. Returned when the access token lacks the `write` scope, when the user is not allowed to update this branch, or when the Branching feature is not available on the account. '404': "$ref": "../../responses.yaml#/404" + '422': + "$ref": "../../responses.yaml#/422" '429': "$ref": "../../responses.yaml#/429" x-code-samples: diff --git a/schemas/branch.yaml b/schemas/branch.yaml index 1ab08976b..75a1e0c10 100644 --- a/schemas/branch.yaml +++ b/schemas/branch.yaml @@ -9,6 +9,10 @@ branch: type: string name: type: string + base: + type: string + nullable: true + description: Name of the base branch this branch was created from. Only present for branches created with the newer branching system. created_at: type: string format: date-time @@ -24,6 +28,14 @@ branch: "$ref": "./user_preview.yaml#/user_preview" state: type: string + enum: + - creating_branch + - merging_branch + - syncing_branch + - merged + - success + - branch_error + - merge_conflict child_branches: type: array items: From 68d9ec652df3ce7e2f13805711da62d07da5bf34 Mon Sep 17 00:00:00 2001 From: Stefan Bruhns <5496983+sbruhns@users.noreply.github.com> Date: Thu, 21 May 2026 09:09:18 +0200 Subject: [PATCH 5/8] Update paths/keys/create.yaml Co-authored-by: Sven Dunemann --- paths/keys/create.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paths/keys/create.yaml b/paths/keys/create.yaml index 00f278c98..e2e451283 100644 --- a/paths/keys/create.yaml +++ b/paths/keys/create.yaml @@ -148,7 +148,7 @@ requestBody: vegetable: Tomato excluded_in_locales: description: | - Public codes of locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions. + Locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions. type: array items: type: string From cac93265dc2f4c91fb6301703a2ec80cfcce1e9e Mon Sep 17 00:00:00 2001 From: Stefan Bruhns <5496983+sbruhns@users.noreply.github.com> Date: Thu, 21 May 2026 09:09:29 +0200 Subject: [PATCH 6/8] Update paths/keys/update.yaml Co-authored-by: Sven Dunemann --- paths/keys/update.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paths/keys/update.yaml b/paths/keys/update.yaml index 6809ab6a0..90646b165 100644 --- a/paths/keys/update.yaml +++ b/paths/keys/update.yaml @@ -140,7 +140,7 @@ requestBody: vegetable: Tomato excluded_in_locales: description: | - Public codes of locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions. + Locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions. type: array items: type: string From f69b625841ac11bff6096038041ea373bb0be221 Mon Sep 17 00:00:00 2001 From: sbruhns Date: Thu, 21 May 2026 09:15:57 +0200 Subject: [PATCH 7/8] chore: regenerate compiled.json Co-Authored-By: Claude Opus 4.7 (1M context) --- doc/compiled.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/compiled.json b/doc/compiled.json index 9130b35b5..540c491b0 100644 --- a/doc/compiled.json +++ b/doc/compiled.json @@ -22945,7 +22945,7 @@ } }, "excluded_in_locales": { - "description": "Public codes of locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions.\n", + "description": "Locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions.\n", "type": "array", "items": { "type": "string" @@ -23422,7 +23422,7 @@ } }, "excluded_in_locales": { - "description": "Public codes of locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions.\n", + "description": "Locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions.\n", "type": "array", "items": { "type": "string" From c26558c681c45f4a4a74b99376b24e66822532f7 Mon Sep 17 00:00:00 2001 From: sbruhns Date: Thu, 21 May 2026 09:23:19 +0200 Subject: [PATCH 8/8] fix: use named variable for skipAutomatedJobCreation in Java test Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/test/java/com/phrase/client/api/UploadsApiTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clients/java/src/test/java/com/phrase/client/api/UploadsApiTest.java b/clients/java/src/test/java/com/phrase/client/api/UploadsApiTest.java index 57fa33725..8590a7441 100644 --- a/clients/java/src/test/java/com/phrase/client/api/UploadsApiTest.java +++ b/clients/java/src/test/java/com/phrase/client/api/UploadsApiTest.java @@ -113,6 +113,7 @@ public void uploadCreateTest() throws ApiException, IOException, InterruptedExce Boolean markReviewed = null; Boolean tagOnlyAffectedKeys = null; String translationKeyPrefix = null; + Boolean skipAutomatedJobCreation = null; Map nestedFormatOptionsMap = new HashMap<>(); nestedFormatOptionsMap.put("nested_option", "sub_option"); @@ -126,7 +127,7 @@ public void uploadCreateTest() throws ApiException, IOException, InterruptedExce tags, updateTranslations, updateCustomMetadata, updateTranslationKeys, updateTranslationsOnSourceMatch, sourceLocaleId, updateDescriptions, convertEmoji, skipUploadTags, skipUnverification, fileEncoding, localeMapping, formatOptionsMap, autotranslate, verifyMentionedTranslations, markReviewed, tagOnlyAffectedKeys, - translationKeyPrefix, null); + translationKeyPrefix, skipAutomatedJobCreation); Assert.assertEquals("valid id returned", "id_example", response.getId()); Assert.assertEquals("valid creation date returned", OffsetDateTime.parse("2015-01-28T09:52:53Z"), response.getCreatedAt());