naftiko: 1.0.0-alpha2 info: label: Etsy Open API v3 — ShopListing Translation description: 'Etsy Open API v3 — ShopListing Translation. 3 operations. Lead operation: Create Listing Translation. Self-contained Naftiko capability covering one Etsy business surface.' tags: - Etsy - Open API v3 - ShopListing Translation created: '2026-05-30' modified: '2026-05-30' binds: - namespace: env keys: ETSY_API_KEY: ETSY_API_KEY ETSY_OAUTH_TOKEN: ETSY_OAUTH_TOKEN capability: consumes: - type: http namespace: open-api-v3-shop-listing-translation baseUri: https://openapi.etsy.com description: Etsy Open API v3 — ShopListing Translation business capability. Self-contained, no shared references. authentication: type: apikey key: x-api-key value: '{{env.ETSY_API_KEY}}' placement: header resources: - name: shops-listings-translations path: /v3/application/shops/{shop_id}/listings/{listing_id}/translations/{language} operations: - name: createListingTranslation method: POST description: Create Listing Translation inputParameters: - name: shop_id in: path type: integer required: true description: The unique positive non-zero numeric ID for an Etsy Shop. - name: listing_id in: path type: integer required: true description: The numeric ID for the [listing](/documentation/reference#tag/ShopListing) associated to this transaction. - name: language in: path type: string required: true description: 'The IETF language tag for the language of this translation. Ex: `de`, `en`, `es`, `fr`, `it`, `ja`, `nl`, `pl`, `pt`.' - name: body in: body type: object required: false description: JSON request body. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getListingTranslation method: GET description: Get Listing Translation inputParameters: - name: shop_id in: path type: integer required: true description: The unique positive non-zero numeric ID for an Etsy Shop. - name: listing_id in: path type: integer required: true description: The numeric ID for the [listing](/documentation/reference#tag/ShopListing) associated to this transaction. - name: language in: path type: string required: true description: 'The IETF language tag for the language of this translation. Ex: `de`, `en`, `es`, `fr`, `it`, `ja`, `nl`, `pl`, `pt`.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateListingTranslation method: PUT description: Update Listing Translation inputParameters: - name: shop_id in: path type: integer required: true description: The unique positive non-zero numeric ID for an Etsy Shop. - name: listing_id in: path type: integer required: true description: The numeric ID for the [listing](/documentation/reference#tag/ShopListing) associated to this transaction. - name: language in: path type: string required: true description: 'The IETF language tag for the language of this translation. Ex: `de`, `en`, `es`, `fr`, `it`, `ja`, `nl`, `pl`, `pt`.' - name: body in: body type: object required: false description: JSON request body. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: open-api-v3-shop-listing-translation-rest port: 8080 description: REST adapter for Etsy Open API v3 — ShopListing Translation. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/shops/{shop_id}/listings/{listing_id}/translations/{language} name: shops-listings-translations description: REST surface for shops-listings-translations. operations: - method: POST name: createListingTranslation description: Create Listing Translation call: open-api-v3-shop-listing-translation.createListingTranslation with: shop_id: rest.shop_id listing_id: rest.listing_id language: rest.language body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getListingTranslation description: Get Listing Translation call: open-api-v3-shop-listing-translation.getListingTranslation with: shop_id: rest.shop_id listing_id: rest.listing_id language: rest.language outputParameters: - type: object mapping: $. - method: PUT name: updateListingTranslation description: Update Listing Translation call: open-api-v3-shop-listing-translation.updateListingTranslation with: shop_id: rest.shop_id listing_id: rest.listing_id language: rest.language body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: open-api-v3-shop-listing-translation-mcp port: 9090 transport: http description: MCP adapter for Etsy Open API v3 — ShopListing Translation. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-listing-translation description: Create Listing Translation hints: readOnly: false destructive: false idempotent: false call: open-api-v3-shop-listing-translation.createListingTranslation with: shop_id: tools.shop_id listing_id: tools.listing_id language: tools.language body: tools.body outputParameters: - type: object mapping: $. - name: get-listing-translation description: Get Listing Translation hints: readOnly: true destructive: false idempotent: true call: open-api-v3-shop-listing-translation.getListingTranslation with: shop_id: tools.shop_id listing_id: tools.listing_id language: tools.language outputParameters: - type: object mapping: $. - name: update-listing-translation description: Update Listing Translation hints: readOnly: false destructive: false idempotent: true call: open-api-v3-shop-listing-translation.updateListingTranslation with: shop_id: tools.shop_id listing_id: tools.listing_id language: tools.language body: tools.body outputParameters: - type: object mapping: $.