naftiko: 1.0.0-alpha2 info: label: Phrase Strings API Reference — Keys description: 'Phrase Strings API Reference — Keys. 11 operations. Lead operation: List keys. Self-contained Naftiko capability covering one Phrase business surface.' tags: - Phrase - Keys created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PHRASE_API_KEY: PHRASE_API_KEY capability: consumes: - type: http namespace: strings-keys baseUri: https://api.phrase.com/v2 description: Phrase Strings API Reference — Keys business capability. Self-contained, no shared references. resources: - name: projects-project_id-keys path: /projects/{project_id}/keys operations: - name: keyslist method: GET description: List keys 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 by field. Can be one of: name, created_at, updated_at.' - name: order in: query type: string description: 'Order direction. Can be one of: asc, desc.' - name: locale_id in: query type: string description: Locale used to determine the translation state of a key when filtering for untranslated or translated keys. - name: keycreate method: POST description: Create a key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: keysdeletecollection method: DELETE description: Delete collection of keys outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: branch in: query type: string description: specify the branch to use - name: locale_id in: query type: string description: Locale used to determine the translation state of a key when filtering for untranslated or translated keys. - name: projects-project_id-keys-exclude path: /projects/{project_id}/keys/exclude operations: - name: keysexclude method: PATCH description: Exclude a locale on a collection of keys 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-keys-include path: /projects/{project_id}/keys/include operations: - name: keysinclude method: PATCH description: Include a locale on a collection of keys 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-keys-search path: /projects/{project_id}/keys/search operations: - name: keyssearch method: POST description: Search keys 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-keys-tag path: /projects/{project_id}/keys/tag operations: - name: keystag method: PATCH description: Add tags to collection of keys 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-keys-untag path: /projects/{project_id}/keys/untag operations: - name: keysuntag method: PATCH description: Remove tags from collection of keys 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-keys-id path: /projects/{project_id}/keys/{id} operations: - name: keyshow method: GET description: Get a single key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: branch in: query type: string description: specify the branch to use - name: keyupdate method: PATCH description: Update a key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: keydelete method: DELETE description: Delete a key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: branch in: query type: string description: specify the branch to use authentication: type: apikey key: Authorization value: '{{env.PHRASE_API_KEY}}' placement: header exposes: - type: rest namespace: strings-keys-rest port: 8080 description: REST adapter for Phrase Strings API Reference — Keys. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/projects/{project-id}/keys name: projects-project-id-keys description: REST surface for projects-project_id-keys. operations: - method: GET name: keyslist description: List keys call: strings-keys.keyslist with: branch: rest.branch sort: rest.sort order: rest.order locale_id: rest.locale_id outputParameters: - type: object mapping: $. - method: POST name: keycreate description: Create a key call: strings-keys.keycreate with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: keysdeletecollection description: Delete collection of keys call: strings-keys.keysdeletecollection with: branch: rest.branch locale_id: rest.locale_id outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/keys/exclude name: projects-project-id-keys-exclude description: REST surface for projects-project_id-keys-exclude. operations: - method: PATCH name: keysexclude description: Exclude a locale on a collection of keys call: strings-keys.keysexclude with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/keys/include name: projects-project-id-keys-include description: REST surface for projects-project_id-keys-include. operations: - method: PATCH name: keysinclude description: Include a locale on a collection of keys call: strings-keys.keysinclude with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/keys/search name: projects-project-id-keys-search description: REST surface for projects-project_id-keys-search. operations: - method: POST name: keyssearch description: Search keys call: strings-keys.keyssearch with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/keys/tag name: projects-project-id-keys-tag description: REST surface for projects-project_id-keys-tag. operations: - method: PATCH name: keystag description: Add tags to collection of keys call: strings-keys.keystag with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/keys/untag name: projects-project-id-keys-untag description: REST surface for projects-project_id-keys-untag. operations: - method: PATCH name: keysuntag description: Remove tags from collection of keys call: strings-keys.keysuntag with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/keys/{id} name: projects-project-id-keys-id description: REST surface for projects-project_id-keys-id. operations: - method: GET name: keyshow description: Get a single key call: strings-keys.keyshow with: branch: rest.branch outputParameters: - type: object mapping: $. - method: PATCH name: keyupdate description: Update a key call: strings-keys.keyupdate with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: keydelete description: Delete a key call: strings-keys.keydelete with: branch: rest.branch outputParameters: - type: object mapping: $. - type: mcp namespace: strings-keys-mcp port: 9090 transport: http description: MCP adapter for Phrase Strings API Reference — Keys. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-keys description: List keys hints: readOnly: true destructive: false idempotent: true call: strings-keys.keyslist with: branch: tools.branch sort: tools.sort order: tools.order locale_id: tools.locale_id outputParameters: - type: object mapping: $. - name: create-key description: Create a key hints: readOnly: false destructive: false idempotent: false call: strings-keys.keycreate with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-collection-keys description: Delete collection of keys hints: readOnly: false destructive: true idempotent: true call: strings-keys.keysdeletecollection with: branch: tools.branch locale_id: tools.locale_id outputParameters: - type: object mapping: $. - name: exclude-locale-collection-keys description: Exclude a locale on a collection of keys hints: readOnly: false destructive: false idempotent: true call: strings-keys.keysexclude with: body: tools.body outputParameters: - type: object mapping: $. - name: include-locale-collection-keys description: Include a locale on a collection of keys hints: readOnly: false destructive: false idempotent: true call: strings-keys.keysinclude with: body: tools.body outputParameters: - type: object mapping: $. - name: search-keys description: Search keys hints: readOnly: true destructive: false idempotent: false call: strings-keys.keyssearch with: body: tools.body outputParameters: - type: object mapping: $. - name: add-tags-collection-keys description: Add tags to collection of keys hints: readOnly: false destructive: false idempotent: true call: strings-keys.keystag with: body: tools.body outputParameters: - type: object mapping: $. - name: remove-tags-collection-keys description: Remove tags from collection of keys hints: readOnly: false destructive: false idempotent: true call: strings-keys.keysuntag with: body: tools.body outputParameters: - type: object mapping: $. - name: get-single-key description: Get a single key hints: readOnly: true destructive: false idempotent: true call: strings-keys.keyshow with: branch: tools.branch outputParameters: - type: object mapping: $. - name: update-key description: Update a key hints: readOnly: false destructive: false idempotent: true call: strings-keys.keyupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-key description: Delete a key hints: readOnly: false destructive: true idempotent: true call: strings-keys.keydelete with: branch: tools.branch outputParameters: - type: object mapping: $.