Phrase · Capability

Phrase Strings API Reference

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.

Run with Naftiko PhraseAPI

What You Can Do

POST
Icu skeleton — Build ICU skeletons
/icu/skeleton
GET
Formats list — List formats
/formats
GET
Documents list — List documents
/projects/{project_id}/documents
DELETE
Document delete — Delete document
/projects/{project_id}/documents/{id}
GET
Report show — Get Project Report
/projects/{project_id}/report
GET
Report locales list — List Locale Reports
/projects/{project_id}/report/locales
GET
Figma attachments list — List Figma attachments
/projects/{project_id}/figma_attachments
POST
Figma attachment create — Create a Figma attachment
/projects/{project_id}/figma_attachments
GET
Figma attachment show — Get a single Figma attachment
/projects/{project_id}/figma_attachments/{id}
PATCH
Figma attachment update — Update a Figma attachment
/projects/{project_id}/figma_attachments/{id}
DELETE
Figma attachment delete — Delete a Figma attachment
/projects/{project_id}/figma_attachments/{id}
POST
Figma attachment attach to key — Attach the Figma attachment to a key
/projects/{project_id}/figma_attachments/{figma_attachment_id}/keys
DELETE
Figma attachment detach from key — Detach the Figma attachment from a key
/projects/{project_id}/figma_attachments/{figma_attachment_id}/keys/{id}
GET
Styleguides list — List style guides
/projects/{project_id}/styleguides
POST
Styleguide create — Create a style guide
/projects/{project_id}/styleguides
GET
Styleguide show — Get a single style guide
/projects/{project_id}/styleguides/{id}
PATCH
Styleguide update — Update a style guide
/projects/{project_id}/styleguides/{id}
DELETE
Styleguide delete — Delete a style guide
/projects/{project_id}/styleguides/{id}
GET
Custom metadata properties list — List properties
/accounts/{account_id}/custom_metadata/properties
POST
Custom metadata property create — Create a property
/accounts/{account_id}/custom_metadata/properties
GET
Custom metadata property show — Get a single property
/accounts/{account_id}/custom_metadata/properties/{id}
PATCH
Custom metadata property update — Update a property
/accounts/{account_id}/custom_metadata/properties/{id}
DELETE
Custom metadata properties delete — Destroy property
/accounts/{account_id}/custom_metadata/properties/{id}
GET
Invitations list — List invitations
/accounts/{account_id}/invitations
POST
Invitation create — Create a new invitation
/accounts/{account_id}/invitations
GET
Invitation show — Get a single invitation
/accounts/{account_id}/invitations/{id}
PATCH
Invitation update — Update an invitation
/accounts/{account_id}/invitations/{id}
DELETE
Invitation delete — Delete an invitation
/accounts/{account_id}/invitations/{id}
POST
Invitation resend — Resend an invitation
/accounts/{account_id}/invitations/{id}/resend
PATCH
Invitation update settings — Update a member's invitation access
/projects/{project_id}/invitations/{id}
GET
Screenshot markers list — List screenshot markers
/projects/{project_id}/screenshots/{id}/markers
GET
Screenshot marker show — Get a single screenshot marker
/projects/{project_id}/screenshots/{screenshot_id}/markers/{id}
POST
Screenshot marker create — Create a screenshot marker
/projects/{project_id}/screenshots/{screenshot_id}/markers
PATCH
Screenshot marker update — Update a screenshot marker
/projects/{project_id}/screenshots/{screenshot_id}/markers
DELETE
Screenshot marker delete — Delete a screenshot marker
/projects/{project_id}/screenshots/{screenshot_id}/markers
GET
Account locales — List locales used in account
/accounts/{id}/locales
GET
Locales list — List locales
/projects/{project_id}/locales
POST
Locale create — Create a locale
/projects/{project_id}/locales
GET
Locale show — Get a single locale
/projects/{project_id}/locales/{id}
PATCH
Locale update — Update a locale
/projects/{project_id}/locales/{id}
DELETE
Locale delete — Delete a locale
/projects/{project_id}/locales/{id}
GET
Locale download — Download a locale
/projects/{project_id}/locales/{id}/download
POST
Locale download create — Initiate async download of a locale
/projects/{project_id}/locales/{locale_id}/downloads
GET
Locale download show — Show status of an async locale download
/projects/{project_id}/locales/{locale_id}/downloads/{id}
GET
Distributions list — List distributions
/accounts/{account_id}/distributions
POST
Distribution create — Create a distribution
/accounts/{account_id}/distributions
GET
Distribution show — Get a single distribution
/accounts/{account_id}/distributions/{id}
PATCH
Distribution update — Update a distribution
/accounts/{account_id}/distributions/{id}
DELETE
Distribution delete — Delete a distribution
/accounts/{account_id}/distributions/{id}
GET
Releases list — List releases
/accounts/{account_id}/distributions/{distribution_id}/releases
POST
Release create — Create a release
/accounts/{account_id}/distributions/{distribution_id}/releases
GET
Release show — Get a single release
/accounts/{account_id}/distributions/{distribution_id}/releases/{id}
PATCH
Release update — Update a release
/accounts/{account_id}/distributions/{distribution_id}/releases/{id}
DELETE
Release delete — Delete a release
/accounts/{account_id}/distributions/{distribution_id}/releases/{id}
POST
Release publish — Publish a release
/accounts/{account_id}/distributions/{distribution_id}/releases/{id}/publish
GET
Release triggers list — List release triggers
/accounts/{account_id}/distributions/{distribution_id}/release_triggers
POST
Release triggers create — Create a release trigger
/accounts/{account_id}/distributions/{distribution_id}/release_triggers
GET
Release triggers show — Get a single release trigger
/accounts/{account_id}/distributions/{distribution_id}/release_triggers/{id}
PATCH
Release triggers update — Update a release trigger
/accounts/{account_id}/distributions/{distribution_id}/release_triggers/{id}
DELETE
Release triggers destroy — Delete a single release trigger
/accounts/{account_id}/distributions/{distribution_id}/release_triggers/{id}

MCP Tools

icu-skeleton

Build ICU skeletons

formats-list

List formats

read-only idempotent
documents-list

List documents

read-only idempotent
document-delete

Delete document

idempotent
report-show

Get Project Report

read-only idempotent
report-locales-list

List Locale Reports

read-only idempotent
figma-attachments-list

List Figma attachments

read-only idempotent
figma-attachment-create

Create a Figma attachment

figma-attachment-show

Get a single Figma attachment

read-only idempotent
figma-attachment-update

Update a Figma attachment

figma-attachment-delete

Delete a Figma attachment

idempotent
figma-attachment-attach-to-key

Attach the Figma attachment to a key

figma-attachment-detach-from-key

Detach the Figma attachment from a key

idempotent
styleguides-list

List style guides

read-only idempotent
styleguide-create

Create a style guide

styleguide-show

Get a single style guide

read-only idempotent
styleguide-update

Update a style guide

styleguide-delete

Delete a style guide

idempotent
custom-metadata-properties-list

List properties

read-only idempotent
custom-metadata-property-create

Create a property

custom-metadata-property-show

Get a single property

read-only idempotent
custom-metadata-property-update

Update a property

custom-metadata-properties-delete

Destroy property

idempotent
invitations-list

List invitations

read-only idempotent
invitation-create

Create a new invitation

invitation-show

Get a single invitation

read-only idempotent
invitation-update

Update an invitation

invitation-delete

Delete an invitation

idempotent
invitation-resend

Resend an invitation

invitation-update-settings

Update a member's invitation access

screenshot-markers-list

List screenshot markers

read-only idempotent
screenshot-marker-show

Get a single screenshot marker

read-only idempotent
screenshot-marker-create

Create a screenshot marker

screenshot-marker-update

Update a screenshot marker

screenshot-marker-delete

Delete a screenshot marker

idempotent
account-locales

List locales used in account

read-only idempotent
locales-list

List locales

read-only idempotent
locale-create

Create a locale

locale-show

Get a single locale

read-only idempotent
locale-update

Update a locale

locale-delete

Delete a locale

idempotent
locale-download

Download a locale

read-only idempotent
locale-download-create

Initiate async download of a locale

locale-download-show

Show status of an async locale download

read-only idempotent
distributions-list

List distributions

read-only idempotent
distribution-create

Create a distribution

distribution-show

Get a single distribution

read-only idempotent
distribution-update

Update a distribution

distribution-delete

Delete a distribution

idempotent
releases-list

List releases

read-only idempotent
release-create

Create a release

release-show

Get a single release

read-only idempotent
release-update

Update a release

release-delete

Delete a release

idempotent
release-publish

Publish a release

release-triggers-list

List release triggers

read-only idempotent
release-triggers-create

Create a release trigger

release-triggers-show

Get a single release trigger

read-only idempotent
release-triggers-update

Update a release trigger

release-triggers-destroy

Delete a single release trigger

idempotent

Capability Spec

phrase-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Phrase Strings API Reference
  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.
  tags:
  - Phrase
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: phrase
    baseUri: https://api.phrase.com/v2
    description: Phrase Strings API Reference HTTP API.
    authentication:
      type: apikey
      in: header
      name: Authorization
      value: '{{PHRASE_TOKEN}}'
    resources:
    - name: icu-skeleton
      path: /icu/skeleton
      operations:
      - name: icu-skeleton
        method: POST
        description: Build ICU skeletons
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: formats
      path: /formats
      operations:
      - name: formats-list
        method: GET
        description: List formats
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-documents
      path: /projects/{project_id}/documents
      operations:
      - name: documents-list
        method: GET
        description: List documents
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-documents-id
      path: /projects/{project_id}/documents/{id}
      operations:
      - name: document-delete
        method: DELETE
        description: Delete document
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-report
      path: /projects/{project_id}/report
      operations:
      - name: report-show
        method: GET
        description: Get Project Report
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-report-locales
      path: /projects/{project_id}/report/locales
      operations:
      - name: report-locales-list
        method: GET
        description: List Locale Reports
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-figma-attachments
      path: /projects/{project_id}/figma_attachments
      operations:
      - name: figma-attachments-list
        method: GET
        description: List Figma attachments
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: figma-attachment-create
        method: POST
        description: Create a Figma attachment
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-figma-attachments-id
      path: /projects/{project_id}/figma_attachments/{id}
      operations:
      - name: figma-attachment-show
        method: GET
        description: Get a single Figma attachment
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: figma-attachment-update
        method: PATCH
        description: Update a Figma attachment
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: figma-attachment-delete
        method: DELETE
        description: Delete a Figma attachment
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-figma-attachments-figma-atta
      path: /projects/{project_id}/figma_attachments/{figma_attachment_id}/keys
      operations:
      - name: figma-attachment-attach-to-key
        method: POST
        description: Attach the Figma attachment to a key
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-figma-attachments-figma-atta
      path: /projects/{project_id}/figma_attachments/{figma_attachment_id}/keys/{id}
      operations:
      - name: figma-attachment-detach-from-key
        method: DELETE
        description: Detach the Figma attachment from a key
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-styleguides
      path: /projects/{project_id}/styleguides
      operations:
      - name: styleguides-list
        method: GET
        description: List style guides
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: styleguide-create
        method: POST
        description: Create a style guide
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-styleguides-id
      path: /projects/{project_id}/styleguides/{id}
      operations:
      - name: styleguide-show
        method: GET
        description: Get a single style guide
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: styleguide-update
        method: PATCH
        description: Update a style guide
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: styleguide-delete
        method: DELETE
        description: Delete a style guide
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-custom-metadata-properties
      path: /accounts/{account_id}/custom_metadata/properties
      operations:
      - name: custom-metadata-properties-list
        method: GET
        description: List properties
        inputParameters:
        - name: project_id
          in: query
          type: string
          description: id of project that the properties belong to
        - name: q
          in: query
          type: string
          description: query to find a property by name
        - name: sort
          in: query
          type: string
          description: 'Sort criteria. Can be one of: name, data_type, created_at.'
        - name: order
          in: query
          type: string
          description: 'Order direction. Can be one of: asc, desc.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: custom-metadata-property-create
        method: POST
        description: Create a property
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-custom-metadata-properties-i
      path: /accounts/{account_id}/custom_metadata/properties/{id}
      operations:
      - name: custom-metadata-property-show
        method: GET
        description: Get a single property
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: custom-metadata-property-update
        method: PATCH
        description: Update a property
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: custom-metadata-properties-delete
        method: DELETE
        description: Destroy property
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-invitations
      path: /accounts/{account_id}/invitations
      operations:
      - name: invitations-list
        method: GET
        description: List invitations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: invitation-create
        method: POST
        description: Create a new invitation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-invitations-id
      path: /accounts/{account_id}/invitations/{id}
      operations:
      - name: invitation-show
        method: GET
        description: Get a single invitation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: invitation-update
        method: PATCH
        description: Update an invitation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: invitation-delete
        method: DELETE
        description: Delete an invitation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-invitations-id-resend
      path: /accounts/{account_id}/invitations/{id}/resend
      operations:
      - name: invitation-resend
        method: POST
        description: Resend an invitation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-invitations-id
      path: /projects/{project_id}/invitations/{id}
      operations:
      - name: invitation-update-settings
        method: PATCH
        description: Update a member's invitation access
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-screenshots-id-markers
      path: /projects/{project_id}/screenshots/{id}/markers
      operations:
      - name: screenshot-markers-list
        method: GET
        description: List screenshot markers
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-screenshots-screenshot-id-ma
      path: /projects/{project_id}/screenshots/{screenshot_id}/markers/{id}
      operations:
      - name: screenshot-marker-show
        method: GET
        description: Get a single screenshot marker
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-screenshots-screenshot-id-ma
      path: /projects/{project_id}/screenshots/{screenshot_id}/markers
      operations:
      - name: screenshot-marker-create
        method: POST
        description: Create a screenshot marker
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: screenshot-marker-update
        method: PATCH
        description: Update a screenshot marker
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: screenshot-marker-delete
        method: DELETE
        description: Delete a screenshot marker
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-id-locales
      path: /accounts/{id}/locales
      operations:
      - name: account-locales
        method: GET
        description: List locales used in account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-locales
      path: /projects/{project_id}/locales
      operations:
      - name: locales-list
        method: GET
        description: List locales
        inputParameters:
        - name: sort_by
          in: query
          type: string
          description: Sort locales. Valid options are "name_asc", "name_desc", "default_asc", "default_desc".
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: locale-create
        method: POST
        description: Create a locale
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-locales-id
      path: /projects/{project_id}/locales/{id}
      operations:
      - name: locale-show
        method: GET
        description: Get a single locale
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: locale-update
        method: PATCH
        description: Update a locale
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: locale-delete
        method: DELETE
        description: Delete a locale
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-locales-id-download
      path: /projects/{project_id}/locales/{id}/download
      operations:
      - name: locale-download
        method: GET
        description: Download a locale
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        - name: file_format
          in: query
          type: string
          description: File format name. See the [format guide](https://support.phrase.com/hc/en-us/sections/6111343326364)
            for all supported file formats.
        - name: tags
          in: query
          type: string
          description: Limit results to keys tagged with a list of comma separated tag names.
        - name: tag
          in: query
          type: string
          description: Limit download to tagged keys. This parameter is deprecated. Please use the "tags" parameter instead
        - name: include_empty_translations
          in: query
          type: boolean
          description: Indicates whether keys without translations should be included in the output as well.
        - name: exclude_empty_zero_forms
          in: query
          type: boolean
          description: Indicates whether zero forms should be included when empty in pluralized keys.
        - name: include_translated_keys
          in: query
          type: boolean
          description: Include translated keys in the locale file. Use in combination with include_empty_translations to obtain
            only untranslated keys.
        - name: keep_notranslate_tags
          in: query
          type: boolean
          description: Indicates whether [NOTRANSLATE] tags should be kept.
        - name: convert_emoji
          in: query
          type: boolean
          description: 'This option is obsolete. Projects that were created on or after Nov 29th 2019 or that did not contain
            emoji by then will not require this flag any longer since '
        - name: format_options
          in: query
          type: object
          description: Additional formatting and render options. See the [format guide](https://support.phrase.com/hc/en-us/sections/6111343326364)
            for a list of options available for
        - name: encoding
          in: query
          type: string
          description: Enforces a specific encoding on the file contents. Valid options are "UTF-8", "UTF-16" and "ISO-8859-1".
        - name: skip_unverified_translations
          in: query
          type: boolean
          description: Indicates whether the locale file should skip all unverified translations. This parameter is deprecated
            and should be replaced with `include_unverified_translat
        - name: include_unverified_translations
          in: query
          type: boolean
          description: if set to false unverified translations are excluded
        - name: use_last_reviewed_version
          in: query
          type: boolean
          description: If set to true the last reviewed version of a translation is used. This is only available if the review
            workflow is enabled for the project.
        - name: fallback_locale_id
          in: query
          type: string
          description: If a key has no translation in the locale being downloaded, the translation in the fallback locale
            will be used. Provide the ID of the locale that should be use
        - name: use_locale_fallback
          in: query
          type: boolean
          description: If a key has no translation in the locale being downloaded, the translation in the fallback locale
            will be used. Fallback locale is defined in [locale's setting
        - name: source_locale_id
          in: query
          type: string
          description: Provides the source language of a corresponding job as the source language of the generated locale
            file. This parameter will be ignored unless used in combinati
        - name: translation_key_prefix
          in: query
          type: string
          description: 'Download all translation keys, and remove the specified prefix where possible. Warning: this may create
            duplicate key names if other keys share the same name af'
        - name: filter_by_prefix
          in: query
          type: boolean
          description: Only download translation keys containing the specified prefix, and remove the prefix from the generated
            file.
        - name: custom_metadata_filters
          in: query
          type: object
          description: Custom metadata filters. Provide the name of the metadata field and the value to filter by. Only keys
            with matching metadata will be included in the download.
        - name: locale_ids
          in: query
          type: array
          description: Locale IDs or locale names
        - name: updated_since
          in: query
          type: string
          description: Only include translations and keys that have been updated since the given date. The date must be in
            ISO 8601 format (e.g., `2023-01-01T00:00:00Z`).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-locales-locale-id-downloads
      path: /projects/{project_id}/locales/{locale_id}/downloads
      operations:
      - name: locale-download-create
        method: POST
        description: Initiate async download of a locale
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project-id-locales-locale-id-downloads-
      path: /projects/{project_id}/locales/{locale_id}/downloads/{id}
      operations:
      - name: locale-download-show
        method: GET
        description: Show status of an async locale download
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-distributions
      path: /accounts/{account_id}/distributions
      operations:
      - name: distributions-list
        method: GET
        description: List distributions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: distribution-create
        method: POST
        description: Create a distribution
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-distributions-id
      path: /accounts/{account_id}/distributions/{id}
      operations:
      - name: distribution-show
        method: GET
        description: Get a single distribution
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: distribution-update
        method: PATCH
        description: Update a distribution
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: distribution-delete
        method: DELETE
        description: Delete a distribution
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-distributions-distribution-i
      path: /accounts/{account_id}/distributions/{distribution_id}/releases
      operations:
      - name: releases-list
        method: GET
        description: List releases
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: release-create
        method: POST
        description: Create a release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-distributions-distribution-i
      path: /accounts/{account_id}/distributions/{distribution_id}/releases/{id}
      operations:
      - name: release-show
        method: GET
        description: Get a single release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: release-update
        method: PATCH
        description: Update a release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: release-delete
        method: DELETE
        description: Delete a release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-distributions-distribution-i
      path: /accounts/{account_id}/distributions/{distribution_id}/releases/{id}/publish
      operations:
      - name: release-publish
        method: POST
        description: Publish a release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-distributions-distribution-i
      path: /accounts/{account_id}/distributions/{distribution_id}/release_triggers
      operations:
      - name: release-triggers-list
        method: GET
        description: List release triggers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: release-triggers-create
        method: POST
        description: Create a release trigger
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-account-id-distributions-distribution-i
      path: /accounts/{account_id}/distributions/{distribution_id}/release_triggers/{id}
      operations:
      - name: release-triggers-show
        method: GET
        description: Get a single release trigger
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: release-triggers-update
        method: PATCH
        description: Update a release trigger
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: release-triggers-destroy
        method: DELETE
        description: Delete a single release trigger
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: phrase-rest
    description: REST adapter for Phrase Strings API Reference.
    resources:
    - path: /icu/skeleton
      name: icu-skeleton
      operations:
      - method: POST
        name: icu-skeleton
        description: Build ICU skeletons
        call: phrase.icu-skeleton
        outputParameters:
        - type: object
          mapping: $.
    - path: /formats
      name: formats-list
      operations:
      - method: GET
        name: formats-list
        description: List formats
        call: phrase.formats-list
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/documents
      name: documents-list
      operations:
      - method: GET
        name: documents-list
        description: List documents
        call: phrase.documents-list
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/documents/{id}
      name: document-delete
      operations:
      - method: DELETE
        name: document-delete
        description: Delete document
        call: phrase.document-delete
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/report
      name: report-show
      operations:
      - method: GET
        name: report-show
        description: Get Project Report
        call: phrase.report-show
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/report/locales
      name: report-locales-list
      operations:
      - method: GET
        name: report-locales-list
        description: List Locale Reports
        call: phrase.report-locales-list
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/figma_attachments
      name: figma-attachments-list
      operations:
      - method: GET
        name: figma-attachments-list
        description: List Figma attachments
        call: phrase.figma-attachments-list
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/figma_attachments
      name: figma-attachment-create
      operations:
      - method: POST
        name: figma-attachment-create
        description: Create a Figma attachment
        call: phrase.figma-attachment-create
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/figma_attachments/{id}
      name: figma-attachment-show
      operations:
      - method: GET
        name: figma-attachment-show
        description: Get a single Figma attachment
        call: phrase.figma-attachment-show
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/figma_attachments/{id}
      name: figma-attachment-update
      operations:
      - method: PATCH
        name: figma-attachment-update
        description: Update a Figma attachment
        call: phrase.figma-attachment-update
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/figma_attachments/{id}
      name: figma-attachment-delete
      operations:
      - method: DELETE
        name: figma-attachment-delete
        description: Delete a Figma attachment
        call: phrase.figma-attachment-delete
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/figma_attachments/{figma_attachment_id}/keys
      name: figma-attachment-attach-to-key
      operations:
      - method: POST
        name: figma-attachment-attach-to-key
        description: Attach the Figma attachment to a key
        call: phrase.figma-attachment-attach-to-key
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/figma_attachments/{figma_attachment_id}/keys/{id}
      name: figma-attachment-detach-from-key
      operations:
      - method: DELETE
        name: figma-attachment-detach-from-key
        description: Detach the Figma attachment from a key
        call: phrase.figma-attachment-detach-from-key
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/styleguides
      name: styleguides-list
      operations:
      - method: GET
        name: styleguides-list
        description: List style guides
        call: phrase.styleguides-list
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/styleguides
      name: styleguide-create
      operations:
      - method: POST
        name: styleguide-create
        description: Create a style guide
        call: phrase.styleguide-create
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/styleguides/{id}
      name: styleguide-show
      operations:
      - method: GET
        name: styleguide-show
        description: Get a single style guide
        call: phrase.styleguide-show
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/styleguides/{id}
      name: styleguide-update
      operations:
      - method: PATCH
        name: styleguide-update
        description: Update a style guide
        call: phrase.styleguide-update
        outputParameters:
        - type: object
          mapping: $.
    - path: /projects/{project_id}/styleguides/{id}
      name: styleguide-delete
      operations:
      - method: DELETE
        name: styleguide-delete
        description: Delete a style guide
        call: phrase.styleguide-delete
        outputParameters:
        - type: object
          mapping: $.
    - path: /accounts/{account_id}/custom_metadata/properties
      name: custom-metadata-properties-list
      operations:
      - method: GET
        name: custom-metadata-properties-list
        description: List properties
        call: phrase.custom-metadata-properties-list
        outputParameters:
        - type: object
          mapping: $.
    - path: /accounts/{account_id}/custom_metadata/properties
      name: custom-metadata-property-create
      operations:
      - method: POST
        name: custom-metadata-property-create
        description: Create a property
        call: phrase.custom-metadata-property-create
        outputParameters:
        - type: object
          mapping: $.
    - path: /accounts/{account_id}/custom_metadata/properties/{id}
      name: custom-metadata-property-show
      operations

# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/phrase/refs/heads/main/capabilities/phrase-capability.yaml