openapi: 3.0.3 info: title: Phrase Strings API Reference Accounts Jobs API version: 2.0.0 description: Phrase Strings is a translation management platform for software projects. You can collaborate on language file translation with your team or order translations through our platform. The API allows you to import locale files, download locale files, tag keys or interact in other ways with the localization data stored in Phrase Strings for your account. contact: name: Phrase Support url: https://developers.phrase.com/api/ email: support@phrase.com x-logo: url: https://developers.phrase.com/images/phrase-logo.svg backgroundColor: '#03eab3' altText: Phrase Strings termsOfService: https://phrase.com/terms/ license: name: MIT url: https://choosealicense.com/licenses/mit/ servers: - url: https://api.phrase.com/v2 description: EU production server - url: https://api.us.app.phrase.com/v2 description: US production server security: - Token: [] - Basic: [] tags: - name: Jobs paths: /projects/{project_id}/jobs: get: summary: List jobs description: List all jobs for the given project. operationId: jobs/list tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/branch' - $ref: '#/components/parameters/job_owner' - $ref: '#/components/parameters/job_assignee' - $ref: '#/components/parameters/job_state' - $ref: '#/components/parameters/job_updated_since' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/job' 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' Link: $ref: '#/components/headers/Link' Pagination: $ref: '#/components/headers/Pagination' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs?branch=my-feature-branch&owned_by=abcd1234cdef1234abcd1234cdef1234&assigned_to=abcd1234cdef1234abcd1234cdef1234&state=completed\" \\\n -u USERNAME_OR_ACCESS_TOKEN" - lang: CLI v2 source: 'phrase jobs list \ --project_id \ --branch my-feature-branch \ --owned_by abcd1234cdef1234abcd1234cdef1234 \ --assigned_to abcd1234cdef1234abcd1234cdef1234 \ --state completed \ --access_token ' x-cli-version: '2.5' post: summary: Create a job description: Create a new job. operationId: job/create tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' responses: '201': description: Created 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' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X POST \\\n -d '{\"branch\":\"my-feature-branch\",\"name\":\"de\",\"briefing\":\"de-DE\",\"due_date\":\"2017-08-15\",\"ticket_url\":\"https://example.atlassian.net/browse/FOO\",\"tags\":[\"myUploadTag\"],\"translation_key_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n -H 'Content-Type: application/json'" - lang: CLI v2 source: 'phrase jobs create \ --project_id \ --data ''{"branch":"my-feature-branch", "name":"de", "briefing":"de-DE", "due_date":"2017-08-15", "ticket_url":"https://example.atlassian.net/browse/FOO", "tags": ["myUploadTag"], "translation_key_ids": ["abcd1234cdef1234abcd1234cdef1234"]}'' \ --access_token ' requestBody: required: true content: application/json: schema: type: object title: job/create/parameters required: - name properties: branch: description: specify the branch to use type: string example: my-feature-branch name: description: Job name type: string example: de source_locale_id: description: The API id of the source language type: string example: abcd1234cdef1234abcd1234cdef1234 briefing: description: Briefing for the translators type: string example: de-DE due_date: description: Date the job should be finished type: string format: date-time example: '2017-08-15' nullable: true ticket_url: description: URL to a ticket for this job (e.g. Jira, Trello) type: string example: https://example.atlassian.net/browse/FOO tags: description: tags of keys that should be included within the job type: array items: type: string example: - myUploadTag translation_key_ids: description: ids of keys that should be included within the job type: array items: type: string example: - abcd1234cdef1234abcd1234cdef1234 target_locale_ids: description: List of target locales for the job. Mutually exclusive with `job_template_id`. type: array items: type: string example: - abcd1234cdef1234abcd1234cdef1234 job_template_id: description: id of a job template you would like to model the created job after. Any manually added parameters will take preference over template attributes. Mutually exclusive with `target_locale_ids`. type: string example: abcd1234cdef1234abcd1234cdef1234 autotranslate: description: Automatically translate the job using machine translation. type: boolean example: true x-cli-version: '2.5' /accounts/{account_id}/jobs: get: summary: List account jobs description: List all jobs for the given account. operationId: jobs/by_account tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/account_id' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/job_owner' - $ref: '#/components/parameters/job_assignee' - $ref: '#/components/parameters/job_state' - $ref: '#/components/parameters/job_updated_since' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/job' 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' Link: $ref: '#/components/headers/Link' Pagination: $ref: '#/components/headers/Pagination' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/accounts/:account_id/jobs?owned_by=abcd1234cdef1234abcd1234cdef1234&assigned_to=abcd1234cdef1234abcd1234cdef1234&state=completed\" \\\n -u USERNAME_OR_ACCESS_TOKEN" - lang: CLI v2 source: 'phrase jobs by_account \ --account_id \ --owned_by abcd1234cdef1234abcd1234cdef1234 \ --assigned_to abcd1234cdef1234abcd1234cdef1234 \ --state completed \ --access_token ' x-cli-version: '2.5' /projects/{project_id}/jobs/{id}: get: summary: Get a single job description: Get details on a single job for a given project. operationId: job/show tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/branch' - $ref: '#/components/parameters/include_annotations' - $ref: '#/components/parameters/omit_translation_keys' responses: '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' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id?branch=my-feature-branch\" \\\n -u USERNAME_OR_ACCESS_TOKEN" - lang: CLI v2 source: 'phrase jobs show \ --project_id \ --id \ --branch my-feature-branch \ --access_token ' x-cli-version: '2.5' patch: summary: Update a job description: Update an existing job. operationId: job/update tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/id' responses: '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' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X PATCH \\\n -d '{\"branch\":\"my-feature-branch\",\"name\":\"de\",\"briefing\":\"de-DE\",\"due_date\":\"2017-08-15\",\"ticket_url\":\"https://example.atlassian.net/browse/FOO\"}' \\\n -H 'Content-Type: application/json'" - lang: CLI v2 source: 'phrase jobs update \ --project_id \ --id \ --data ''{"branch":"my-feature-branch", "name":"de", "briefing":"de-DE", "due_date":"2017-08-15", "ticket_url":"https://example.atlassian.net/browse/FOO"}'' \ --access_token ' requestBody: required: true content: application/json: schema: type: object title: job/update/parameters properties: branch: description: specify the branch to use type: string example: my-feature-branch name: description: Job name type: string example: de briefing: description: Briefing for the translators type: string example: de-DE due_date: description: Date the job should be finished type: string format: date-time example: '2017-08-15' nullable: true ticket_url: description: URL to a ticket for this job (e.g. Jira, Trello) type: string example: https://example.atlassian.net/browse/FOO target_locale_ids: description: List of target locales for the job. type: array items: type: string example: - abcd1234cdef1234abcd1234cdef1234 autotranslate: description: Automatically translate the job using machine translation type: boolean example: true x-cli-version: '2.5' delete: summary: Delete a job description: Delete an existing job. operationId: job/delete tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/id' - description: specify the branch to use example: my-feature-branch name: branch in: query schema: type: string responses: '204': $ref: '#/components/responses/204' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X DELETE \\\n -d '{\"branch\":\"my-feature-branch\"}' \\\n -H 'Content-Type: application/json'" - lang: CLI v2 source: 'phrase jobs delete \ --project_id \ --id \ --branch my-feature-branch \ --access_token ' x-cli-version: '2.5' /projects/{project_id}/jobs/{id}/start: post: summary: Start a job description: Starts an existing job in state draft. operationId: job/start tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/id' responses: '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' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/start\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X POST \\\n -d '{\"branch\":\"my-feature-branch\"}' \\\n -H 'Content-Type: application/json'" - lang: CLI v2 source: 'phrase jobs start \ --project_id \ --id \ --data ''{"branch":"my-feature-branch"}'' \ --access_token ' requestBody: required: true content: application/json: schema: type: object title: job/start/parameters properties: branch: description: specify the branch to use type: string example: my-feature-branch x-cli-version: '2.5' /projects/{project_id}/jobs/{id}/complete: post: summary: Complete a job description: Mark a job as completed. operationId: job/complete tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/id' responses: '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' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/complete\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X POST \\\n -d '{\"branch\":\"my-feature-branch\"}' \\\n -H 'Content-Type: application/json'" - lang: CLI v2 source: 'phrase jobs complete \ --project_id \ --id \ --data ''{"branch":"my-feature-branch"}'' \ --access_token ' requestBody: required: true content: application/json: schema: type: object title: job/complete/parameters properties: branch: description: specify the branch to use type: string example: my-feature-branch x-cli-version: '2.5' /projects/{project_id}/jobs/{id}/reopen: post: summary: Reopen a job description: Mark a job as uncompleted. operationId: job/reopen tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/id' responses: '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' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/reopen\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X POST \\\n -d '{\"branch\":\"my-feature-branch\"}' \\\n -H 'Content-Type: application/json'" - lang: CLI v2 source: 'phrase jobs reopen \ --project_id \ --id \ --data ''{"branch":"my-feature-branch"}'' \ --access_token ' requestBody: required: true content: application/json: schema: type: object title: job/reopen/parameters properties: branch: description: specify the branch to use type: string example: my-feature-branch x-cli-version: '2.5' /projects/{project_id}/jobs/{id}/lock: post: summary: Lock a job description: If you are the job owner, you may lock a job using this API request. operationId: job/lock tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/id' - description: specify the branch to use example: my-feature-branch name: branch in: query schema: type: string responses: '204': $ref: '#/components/responses/204' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/lock\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X POST \\\n -d '{\"branch\":\"my-feature-branch\"' \\\n -H 'Content-Type: application/json'" - lang: CLI v2 source: 'phrase jobs lock \ --project_id \ --id \ --branch my-feature-branch \ --access_token ' x-cli-version: '2.5' /projects/{project_id}/jobs/{id}/unlock: post: summary: Unlock a job description: If you are the job owner, you may unlock a locked job using this API request. operationId: job/unlock tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/id' - description: specify the branch to use example: my-feature-branch name: branch in: query schema: type: string responses: '204': $ref: '#/components/responses/204' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/unlock\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X POST \\\n -d '{\"branch\":\"my-feature-branch\"' \\\n -H 'Content-Type: application/json'" - lang: CLI v2 source: 'phrase jobs unlock \ --project_id \ --id \ --branch my-feature-branch \ --access_token ' x-cli-version: '2.5' /projects/{project_id}/jobs/{id}/keys: post: summary: Add keys to job description: Add multiple keys to a existing job. operationId: job/keys/create tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/id' responses: '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' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/keys\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X POST \\\n -d '{\"branch\":\"my-feature-branch\",\"translation_key_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n -H 'Content-Type: application/json'" - lang: CLI v2 source: 'phrase jobs keys_create \ --project_id \ --id \ --data ''{"branch":"my-feature-branch", "translation_key_ids": "abcd1234cdef1234abcd1234cdef1234"}'' \ --access_token ' requestBody: required: true content: application/json: schema: type: object title: job/keys/create/parameters properties: branch: description: specify the branch to use type: string example: my-feature-branch translation_key_ids: description: ids of keys that should added to the job type: array items: type: string example: - abcd1234cdef1234abcd1234cdef1234 x-cli-version: '2.5' delete: summary: Remove keys from job description: Remove multiple keys from existing job. operationId: job/keys/delete tags: - Jobs parameters: - $ref: '#/components/parameters/X-PhraseApp-OTP' - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/id' responses: '204': $ref: '#/components/responses/204' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' x-code-samples: - lang: Curl source: "curl \"https://api.phrase.com/v2/projects/:project_id/jobs/:id/keys\" \\\n -u USERNAME_OR_ACCESS_TOKEN \\\n -X DELETE \\\n -d '{\"branch\":\"my-feature-branch\",\"translation_key_ids\":[\"abcd1234cdef1234abcd1234cdef1234\"]}' \\\n -H 'Content-Type: application/json'" - lang: CLI v2 source: 'phrase jobs keys_delete \ --project_id \ --id \ --branch my-feature-branch \ --data ''{"branch": "my-feature-branch", "translation_key_ids": ["abcd1234cdef1234abcd1234cdef1234"]}'' \ --access_token ' requestBody: required: true content: application/json: schema: type: object title: job/keys/delete/parameters required: - translation_key_ids properties: branch: description: specify the branch to use type: string example: my-feature-branch translation_key_ids: description: ids of keys that should be deleted from the job type: array items: type: string example: - abcd1234cdef1234abcd1234cdef1234 components: parameters: job_state: description: 'filter by state of job; valid states are: `draft`, `in_progress`, `completed`' example: completed name: state in: query schema: type: string job_owner: description: filter by user owning job example: abcd1234cdef1234abcd1234cdef1234 name: owned_by in: query schema: type: string omit_translation_keys: in: query name: omit_translation_keys description: Omit translation keys in the response to reduce payload size for bigger jobs required: false schema: type: boolean default: false job_assignee: description: filter by user assigned to job example: abcd1234cdef1234abcd1234cdef1234 name: assigned_to in: query schema: type: string X-PhraseApp-OTP: in: header name: X-PhraseApp-OTP description: Two-Factor-Authentication token (optional) required: false allowEmptyValue: false schema: type: string job_updated_since: description: filter by jobs updated since given date example: '2013-02-21T00:00:00Z' name: updated_since in: query schema: type: string branch: name: branch in: query description: Branch to use schema: type: string example: my-feature-branch per_page: in: query name: per_page description: Limit on the number of objects to be returned, between 1 and 100. 25 by default required: false allowEmptyValue: false schema: type: integer example: 25 id: in: path name: id description: ID required: true schema: type: string include_annotations: in: query name: include_annotations description: Include job-locale annotations in the response required: false schema: type: boolean default: false account_id: in: path name: account_id description: Account ID required: true schema: type: string project_id: in: path name: project_id description: Project ID required: true schema: type: string page: in: query name: page description: Page number required: false allowEmptyValue: false schema: type: integer example: 1 schemas: job: type: object title: job properties: id: type: string name: type: string briefing: type: string due_date: type: string format: date-time nullable: true state: type: string ticket_url: type: string project: $ref: '#/components/schemas/project_short' branch: $ref: '#/components/schemas/branch_name' created_at: type: string format: date-time updated_at: type: string format: date-time example: id: 626ea67628690c73ac86ac81eec2d185 name: Translations for new Feature briefing: Some instructions for the translators due_date: '2017-02-28T09:52:53Z' state: completed ticket_url: https://example.atlassian.net/browse/FOO created_at: '2017-01-28T09:52:53Z' updated_at: '2017-01-28T09:52:53Z' project: id: abcd1234cdef1234abcd1234cdef1234 name: My Android Project main_format: xml created_at: '2015-01-28T09:52:53Z' updated_at: '2015-01-28T09:52:53Z' key_preview: type: object title: key_preview properties: id: type: string name: type: string plural: type: boolean use_ordinal_rules: type: boolean example: null project_short: type: object title: project_short properties: id: type: string name: type: string main_format: type: string created_at: type: string format: date-time updated_at: type: string format: date-time example: id: abcd1234cdef1234abcd1234cdef1234 name: My Android Project main_format: xml created_at: '2015-01-28T09:52:53Z' updated_at: '2015-01-28T09:52:53Z' job_annotation_short: type: object title: job_annotation properties: name: type: string value: type: string required: - name - value example: name: priority value: high branch_name: type: object title: branch_name properties: name: type: string example: name: new-branch locale_preview: type: object title: locale_preview properties: id: type: string name: type: string code: type: string example: id: abcd1234cdef1234abcd1234cdef1234 name: English code: en-GB job_details: allOf: - $ref: '#/components/schemas/job' - type: object title: job_details properties: owner: $ref: '#/components/schemas/user_preview' job_tag_name: type: string source_translations_updated_at: type: string format: date-time source_locale: $ref: '#/components/schemas/locale_preview' locales: type: array items: $ref: '#/components/schemas/locale_preview' keys: type: array items: $ref: '#/components/schemas/key_preview' annotations: type: array items: $ref: '#/components/schemas/job_annotation_short' example: owner: id: abcd1234cdef1234abcd1234cdef1234 username: joe.doe name: Joe Doe job_tag_name: Job_123 source_translations_updated_at: '2020-01-01T00:00:00Z' source_locale: id: abcd1234cdef1234abcd1234cdef1235 name: de-DE code: de-DE locales: - id: abcd1234cdef1234abcd1234cdef1234 name: English code: en-GB keys: - id: dbcd1234cdef1234abcd1234cdef1234 name: greeting.hello user_preview: type: object title: user_preview properties: id: type: string username: type: string name: type: string gravatar_uid: type: string example: id: abcd1234cdef1234abcd1234cdef1234 username: johndoe name: John Doe gravatar_uid: 205e460b479e2e5b48aec07710c08d50 headers: Pagination: description: Pagination details for navigating through a collection of resources, provided in JSON format. schema: type: object properties: total_count: description: Total count of items in the collection. type: integer example: 10 total_pages_count: description: Total number of pages available for the collection. type: integer example: 2 current_page: description: The current page number. type: integer example: 1 current_per_page: description: Number of items currently displayed per page. type: integer example: 5 previous_page: description: Page number of the previous page, if available. type: integer next_page: description: Page number of the next page, if available. type: integer example: 2 X-Rate-Limit-Reset: description: Timestamp of end of current time period as UNIX timestamp, see [Rate Limiting](/en/api/strings/pagination#rate-limiting) schema: type: integer X-Rate-Limit-Limit: description: The number of allowed requests in the current period schema: type: integer X-Rate-Limit-Remaining: description: The number of remaining requests in the current period schema: type: integer Link: description: 'Links to related resources, in the format defined by [RFC 5988](https://tools.ietf.org/html/rfc5988#section-5). This will include a link with relation type `next` to the next page, if there is a next page.' schema: type: string responses: '429': description: Rate Limiting 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': description: Bad request 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' '204': description: The resource was deleted successfully. 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' '404': description: Not Found 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' securitySchemes: Token: type: apiKey in: header name: Authorization description: Enter your token in the format `token TOKEN` Basic: type: http scheme: basic x-tagGroups: - name: Core Resources tags: - Projects - Locales - Keys - Translations - Uploads - Tags - Custom Metadata Properties - Blacklisted Keys - Versions / History - name: Workflows tags: - Spaces - Jobs - Job Comments - Job Locales - Job Templates - Job Template Locales - Organization Job Templates - Organization Job Template Locales - Comments - Comment Reactions - Comment Replies - Branches - name: Quality tags: - Glossaries - Glossary Terms - Glossary Term Translations - name: Integrations tags: - Webhooks - Distributions - Releases - Release Triggers - name: Ordering tags: - Orders - Style guides - name: User management tags: - Authorizations - Users - Accounts - Members - Invitations - name: Screenshots tags: - Screenshots - Screenshot Markers - name: Misc tags: - Formats - name: Figma Attachments tags: - Figma attachments - Key's Figma attachments