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.
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
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: $.