Etsy · Capability

Etsy Open API v3 — ShopListing Image

Etsy Open API v3 — ShopListing Image. 4 operations. Lead operation: Delete Listing Image. Self-contained Naftiko capability covering one Etsy business surface.

Run with Naftiko EtsyOpen API v3ShopListing Image

What You Can Do

DELETE
Deletelistingimage — Delete Listing Image
/v1/shops/{shop_id}/listings/{listing_id}/images/{listing_image_id}
GET
Getlistingimage — Get Listing Image
/v1/listings/{listing_id}/images/{listing_image_id}
GET
Getlistingimages — Get Listing Images
/v1/listings/{listing_id}/images
POST
Uploadlistingimage — Upload Listing Image
/v1/shops/{shop_id}/listings/{listing_id}/images

MCP Tools

delete-listing-image

Delete Listing Image

idempotent
get-listing-image

Get Listing Image

read-only idempotent
get-listing-images

Get Listing Images

read-only idempotent
upload-listing-image

Upload Listing Image

Capability Spec

open-api-v3-shop-listing-image.yaml Raw ↑
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: $.