Phrase · Capability

Phrase Strings API Reference — Translations

Phrase Strings API Reference — Translations. 19 operations. Lead operation: List translations by key. Self-contained Naftiko capability covering one Phrase business surface.

Run with Naftiko PhraseTranslations

What You Can Do

GET
Translationsbykey — List translations by key
/v1/projects/{project-id}/keys/{key-id}/translations
GET
Translationsbylocale — List translations by locale
/v1/projects/{project-id}/locales/{locale-id}/translations
GET
Translationslist — List all translations
/v1/projects/{project-id}/translations
POST
Translationcreate — Create a translation
/v1/projects/{project-id}/translations
PATCH
Translationsexcludecollection — Exclude translations by query
/v1/projects/{project-id}/translations/exclude
PATCH
Translationsincludecollection — Include translations by query
/v1/projects/{project-id}/translations/include
PATCH
Translationsreviewcollection — Review translations selected by query
/v1/projects/{project-id}/translations/review
POST
Translationssearch — Search translations
/v1/projects/{project-id}/translations/search
PATCH
Translationsunreviewcollection — Unreview translations selected by query
/v1/projects/{project-id}/translations/unreview
PATCH
Translationsunverifycollection — Unverify translations by query
/v1/projects/{project-id}/translations/unverify
PATCH
Translationsverifycollection — Verify translations by query
/v1/projects/{project-id}/translations/verify
GET
Translationshow — Get a single translation
/v1/projects/{project-id}/translations/{id}
PATCH
Translationupdate — Update a translation
/v1/projects/{project-id}/translations/{id}
PATCH
Translationexclude — Exclude a translation from export
/v1/projects/{project-id}/translations/{id}/exclude
PATCH
Translationinclude — Include a translation
/v1/projects/{project-id}/translations/{id}/include
PATCH
Translationreview — Review a translation
/v1/projects/{project-id}/translations/{id}/review
PATCH
Translationunreview — Unreview a translation
/v1/projects/{project-id}/translations/{id}/unreview
PATCH
Translationunverify — Mark a translation as unverified
/v1/projects/{project-id}/translations/{id}/unverify
PATCH
Translationverify — Verify a translation
/v1/projects/{project-id}/translations/{id}/verify

MCP Tools

list-translations-key

List translations by key

read-only idempotent
list-translations-locale

List translations by locale

read-only idempotent
list-all-translations

List all translations

read-only idempotent
create-translation

Create a translation

exclude-translations-query

Exclude translations by query

idempotent
include-translations-query

Include translations by query

idempotent
review-translations-selected-query

Review translations selected by query

idempotent
search-translations

Search translations

read-only
unreview-translations-selected-query

Unreview translations selected by query

idempotent
unverify-translations-query

Unverify translations by query

idempotent
verify-translations-query

Verify translations by query

idempotent
get-single-translation

Get a single translation

read-only idempotent
update-translation

Update a translation

idempotent
exclude-translation-export

Exclude a translation from export

idempotent
include-translation

Include a translation

idempotent
review-translation

Review a translation

idempotent
unreview-translation

Unreview a translation

idempotent
mark-translation-unverified

Mark a translation as unverified

idempotent
verify-translation

Verify a translation

idempotent

Capability Spec

strings-translations.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Phrase Strings API Reference — Translations
  description: 'Phrase Strings API Reference — Translations. 19 operations. Lead operation: List translations by key. Self-contained
    Naftiko capability covering one Phrase business surface.'
  tags:
  - Phrase
  - Translations
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PHRASE_API_KEY: PHRASE_API_KEY
capability:
  consumes:
  - type: http
    namespace: strings-translations
    baseUri: https://api.phrase.com/v2
    description: Phrase Strings API Reference — Translations business capability. Self-contained, no shared references.
    resources:
    - name: projects-project_id-keys-key_id-translations
      path: /projects/{project_id}/keys/{key_id}/translations
      operations:
      - name: translationsbykey
        method: GET
        description: List translations by key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        - name: sort
          in: query
          type: string
          description: 'Sort criteria. Can be one of: key_name, created_at, updated_at.'
        - name: order
          in: query
          type: string
          description: 'Order direction. Can be one of: asc, desc.'
        - name: q
          in: query
          type: string
          description: Specify a query to find translations by content (including wildcards).
    - name: projects-project_id-locales-locale_id-translations
      path: /projects/{project_id}/locales/{locale_id}/translations
      operations:
      - name: translationsbylocale
        method: GET
        description: List translations by locale
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        - name: sort
          in: query
          type: string
          description: 'Sort criteria. Can be one of: key_name, created_at, updated_at.'
        - name: order
          in: query
          type: string
          description: 'Order direction. Can be one of: asc, desc.'
        - name: q
          in: query
          type: string
          description: Specify a query to find translations by content (including wildcards).
    - name: projects-project_id-translations
      path: /projects/{project_id}/translations
      operations:
      - name: translationslist
        method: GET
        description: List all translations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
        - name: sort
          in: query
          type: string
          description: 'Sort criteria. Can be one of: key_name, created_at, updated_at.'
        - name: order
          in: query
          type: string
          description: 'Order direction. Can be one of: asc, desc.'
        - name: q
          in: query
          type: string
          description: Specify a query to find translations by content (including wildcards).
      - name: translationcreate
        method: POST
        description: Create a translation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-exclude
      path: /projects/{project_id}/translations/exclude
      operations:
      - name: translationsexcludecollection
        method: PATCH
        description: Exclude translations by query
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-include
      path: /projects/{project_id}/translations/include
      operations:
      - name: translationsincludecollection
        method: PATCH
        description: Include translations by query
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-review
      path: /projects/{project_id}/translations/review
      operations:
      - name: translationsreviewcollection
        method: PATCH
        description: Review translations selected by query
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-search
      path: /projects/{project_id}/translations/search
      operations:
      - name: translationssearch
        method: POST
        description: Search translations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-unreview
      path: /projects/{project_id}/translations/unreview
      operations:
      - name: translationsunreviewcollection
        method: PATCH
        description: Unreview translations selected by query
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-unverify
      path: /projects/{project_id}/translations/unverify
      operations:
      - name: translationsunverifycollection
        method: PATCH
        description: Unverify translations by query
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-verify
      path: /projects/{project_id}/translations/verify
      operations:
      - name: translationsverifycollection
        method: PATCH
        description: Verify translations by query
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-id
      path: /projects/{project_id}/translations/{id}
      operations:
      - name: translationshow
        method: GET
        description: Get a single translation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: branch
          in: query
          type: string
          description: specify the branch to use
      - name: translationupdate
        method: PATCH
        description: Update a translation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-id-exclude
      path: /projects/{project_id}/translations/{id}/exclude
      operations:
      - name: translationexclude
        method: PATCH
        description: Exclude a translation from export
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-id-include
      path: /projects/{project_id}/translations/{id}/include
      operations:
      - name: translationinclude
        method: PATCH
        description: Include a translation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-id-review
      path: /projects/{project_id}/translations/{id}/review
      operations:
      - name: translationreview
        method: PATCH
        description: Review a translation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-id-unreview
      path: /projects/{project_id}/translations/{id}/unreview
      operations:
      - name: translationunreview
        method: PATCH
        description: Unreview a translation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-id-unverify
      path: /projects/{project_id}/translations/{id}/unverify
      operations:
      - name: translationunverify
        method: PATCH
        description: Mark a translation as unverified
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-translations-id-verify
      path: /projects/{project_id}/translations/{id}/verify
      operations:
      - name: translationverify
        method: PATCH
        description: Verify a translation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.PHRASE_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: strings-translations-rest
    port: 8080
    description: REST adapter for Phrase Strings API Reference — Translations. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/projects/{project-id}/keys/{key-id}/translations
      name: projects-project-id-keys-key-id-translations
      description: REST surface for projects-project_id-keys-key_id-translations.
      operations:
      - method: GET
        name: translationsbykey
        description: List translations by key
        call: strings-translations.translationsbykey
        with:
          branch: rest.branch
          sort: rest.sort
          order: rest.order
          q: rest.q
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/locales/{locale-id}/translations
      name: projects-project-id-locales-locale-id-translations
      description: REST surface for projects-project_id-locales-locale_id-translations.
      operations:
      - method: GET
        name: translationsbylocale
        description: List translations by locale
        call: strings-translations.translationsbylocale
        with:
          branch: rest.branch
          sort: rest.sort
          order: rest.order
          q: rest.q
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations
      name: projects-project-id-translations
      description: REST surface for projects-project_id-translations.
      operations:
      - method: GET
        name: translationslist
        description: List all translations
        call: strings-translations.translationslist
        with:
          branch: rest.branch
          sort: rest.sort
          order: rest.order
          q: rest.q
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: translationcreate
        description: Create a translation
        call: strings-translations.translationcreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/exclude
      name: projects-project-id-translations-exclude
      description: REST surface for projects-project_id-translations-exclude.
      operations:
      - method: PATCH
        name: translationsexcludecollection
        description: Exclude translations by query
        call: strings-translations.translationsexcludecollection
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/include
      name: projects-project-id-translations-include
      description: REST surface for projects-project_id-translations-include.
      operations:
      - method: PATCH
        name: translationsincludecollection
        description: Include translations by query
        call: strings-translations.translationsincludecollection
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/review
      name: projects-project-id-translations-review
      description: REST surface for projects-project_id-translations-review.
      operations:
      - method: PATCH
        name: translationsreviewcollection
        description: Review translations selected by query
        call: strings-translations.translationsreviewcollection
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/search
      name: projects-project-id-translations-search
      description: REST surface for projects-project_id-translations-search.
      operations:
      - method: POST
        name: translationssearch
        description: Search translations
        call: strings-translations.translationssearch
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/unreview
      name: projects-project-id-translations-unreview
      description: REST surface for projects-project_id-translations-unreview.
      operations:
      - method: PATCH
        name: translationsunreviewcollection
        description: Unreview translations selected by query
        call: strings-translations.translationsunreviewcollection
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/unverify
      name: projects-project-id-translations-unverify
      description: REST surface for projects-project_id-translations-unverify.
      operations:
      - method: PATCH
        name: translationsunverifycollection
        description: Unverify translations by query
        call: strings-translations.translationsunverifycollection
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/verify
      name: projects-project-id-translations-verify
      description: REST surface for projects-project_id-translations-verify.
      operations:
      - method: PATCH
        name: translationsverifycollection
        description: Verify translations by query
        call: strings-translations.translationsverifycollection
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/{id}
      name: projects-project-id-translations-id
      description: REST surface for projects-project_id-translations-id.
      operations:
      - method: GET
        name: translationshow
        description: Get a single translation
        call: strings-translations.translationshow
        with:
          branch: rest.branch
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: translationupdate
        description: Update a translation
        call: strings-translations.translationupdate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/{id}/exclude
      name: projects-project-id-translations-id-exclude
      description: REST surface for projects-project_id-translations-id-exclude.
      operations:
      - method: PATCH
        name: translationexclude
        description: Exclude a translation from export
        call: strings-translations.translationexclude
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/{id}/include
      name: projects-project-id-translations-id-include
      description: REST surface for projects-project_id-translations-id-include.
      operations:
      - method: PATCH
        name: translationinclude
        description: Include a translation
        call: strings-translations.translationinclude
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/{id}/review
      name: projects-project-id-translations-id-review
      description: REST surface for projects-project_id-translations-id-review.
      operations:
      - method: PATCH
        name: translationreview
        description: Review a translation
        call: strings-translations.translationreview
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/{id}/unreview
      name: projects-project-id-translations-id-unreview
      description: REST surface for projects-project_id-translations-id-unreview.
      operations:
      - method: PATCH
        name: translationunreview
        description: Unreview a translation
        call: strings-translations.translationunreview
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/{id}/unverify
      name: projects-project-id-translations-id-unverify
      description: REST surface for projects-project_id-translations-id-unverify.
      operations:
      - method: PATCH
        name: translationunverify
        description: Mark a translation as unverified
        call: strings-translations.translationunverify
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/translations/{id}/verify
      name: projects-project-id-translations-id-verify
      description: REST surface for projects-project_id-translations-id-verify.
      operations:
      - method: PATCH
        name: translationverify
        description: Verify a translation
        call: strings-translations.translationverify
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: strings-translations-mcp
    port: 9090
    transport: http
    description: MCP adapter for Phrase Strings API Reference — Translations. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: list-translations-key
      description: List translations by key
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: strings-translations.translationsbykey
      with:
        branch: tools.branch
        sort: tools.sort
        order: tools.order
        q: tools.q
      outputParameters:
      - type: object
        mapping: $.
    - name: list-translations-locale
      description: List translations by locale
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: strings-translations.translationsbylocale
      with:
        branch: tools.branch
        sort: tools.sort
        order: tools.order
        q: tools.q
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-translations
      description: List all translations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: strings-translations.translationslist
      with:
        branch: tools.branch
        sort: tools.sort
        order: tools.order
        q: tools.q
      outputParameters:
      - type: object
        mapping: $.
    - name: create-translation
      description: Create a translation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: strings-translations.translationcreate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: exclude-translations-query
      description: Exclude translations by query
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationsexcludecollection
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: include-translations-query
      description: Include translations by query
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationsincludecollection
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: review-translations-selected-query
      description: Review translations selected by query
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationsreviewcollection
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: search-translations
      description: Search translations
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: strings-translations.translationssearch
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: unreview-translations-selected-query
      description: Unreview translations selected by query
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationsunreviewcollection
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: unverify-translations-query
      description: Unverify translations by query
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationsunverifycollection
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: verify-translations-query
      description: Verify translations by query
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationsverifycollection
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-single-translation
      description: Get a single translation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: strings-translations.translationshow
      with:
        branch: tools.branch
      outputParameters:
      - type: object
        mapping: $.
    - name: update-translation
      description: Update a translation
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationupdate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: exclude-translation-export
      description: Exclude a translation from export
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationexclude
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: include-translation
      description: Include a translation
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationinclude
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: review-translation
      description: Review a translation
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationreview
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: unreview-translation
      description: Unreview a translation
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationunreview
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: mark-translation-unverified
      description: Mark a translation as unverified
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationunverify
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: verify-translation
      description: Verify a translation
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: strings-translations.translationverify
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.