naftiko: 1.0.0-alpha2 info: label: Etsy Open API v3 — ShopListing Image description: 'Etsy Open API v3 — ShopListing Image. 4 operations. Lead operation: Delete Listing Image. Self-contained Naftiko capability covering one Etsy business surface.' tags: - Etsy - Open API v3 - ShopListing Image 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-image baseUri: https://openapi.etsy.com description: Etsy Open API v3 — ShopListing Image 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-images path: /v3/application/shops/{shop_id}/listings/{listing_id}/images/{listing_image_id} operations: - name: deleteListingImage method: DELETE description: Delete Listing Image 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: listing_image_id in: path type: integer required: true description: The numeric ID of the primary [listing image](/documentation/reference#tag/ShopListing-Image) for this transaction. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: listings-images path: /v3/application/listings/{listing_id}/images/{listing_image_id} operations: - name: getListingImage method: GET description: Get Listing Image inputParameters: - 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: listing_image_id in: path type: integer required: true description: The numeric ID of the primary [listing image](/documentation/reference#tag/ShopListing-Image) for this transaction. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: listings-images path: /v3/application/listings/{listing_id}/images operations: - name: getListingImages method: GET description: Get Listing Images inputParameters: - name: listing_id in: path type: integer required: true description: The numeric ID for the [listing](/documentation/reference#tag/ShopListing) associated to this transaction. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: shops-listings-images path: /v3/application/shops/{shop_id}/listings/{listing_id}/images operations: - name: uploadListingImage method: POST description: Upload Listing Image 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: 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-image-rest port: 8080 description: REST adapter for Etsy Open API v3 — ShopListing Image. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/shops/{shop_id}/listings/{listing_id}/images/{listing_image_id} name: shops-listings-images description: REST surface for shops-listings-images. operations: - method: DELETE name: deleteListingImage description: Delete Listing Image call: open-api-v3-shop-listing-image.deleteListingImage with: shop_id: rest.shop_id listing_id: rest.listing_id listing_image_id: rest.listing_image_id outputParameters: - type: object mapping: $. - path: /v1/listings/{listing_id}/images/{listing_image_id} name: listings-images description: REST surface for listings-images. operations: - method: GET name: getListingImage description: Get Listing Image call: open-api-v3-shop-listing-image.getListingImage with: listing_id: rest.listing_id listing_image_id: rest.listing_image_id outputParameters: - type: object mapping: $. - path: /v1/listings/{listing_id}/images name: listings-images description: REST surface for listings-images. operations: - method: GET name: getListingImages description: Get Listing Images call: open-api-v3-shop-listing-image.getListingImages with: listing_id: rest.listing_id outputParameters: - type: object mapping: $. - path: /v1/shops/{shop_id}/listings/{listing_id}/images name: shops-listings-images description: REST surface for shops-listings-images. operations: - method: POST name: uploadListingImage description: Upload Listing Image call: open-api-v3-shop-listing-image.uploadListingImage with: shop_id: rest.shop_id listing_id: rest.listing_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: open-api-v3-shop-listing-image-mcp port: 9090 transport: http description: MCP adapter for Etsy Open API v3 — ShopListing Image. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: delete-listing-image description: Delete Listing Image hints: readOnly: false destructive: true idempotent: true call: open-api-v3-shop-listing-image.deleteListingImage with: shop_id: tools.shop_id listing_id: tools.listing_id listing_image_id: tools.listing_image_id outputParameters: - type: object mapping: $. - name: get-listing-image description: Get Listing Image hints: readOnly: true destructive: false idempotent: true call: open-api-v3-shop-listing-image.getListingImage with: listing_id: tools.listing_id listing_image_id: tools.listing_image_id outputParameters: - type: object mapping: $. - name: get-listing-images description: Get Listing Images hints: readOnly: true destructive: false idempotent: true call: open-api-v3-shop-listing-image.getListingImages with: listing_id: tools.listing_id outputParameters: - type: object mapping: $. - name: upload-listing-image description: Upload Listing Image hints: readOnly: false destructive: false idempotent: false call: open-api-v3-shop-listing-image.uploadListingImage with: shop_id: tools.shop_id listing_id: tools.listing_id body: tools.body outputParameters: - type: object mapping: $.