KosmoKrator

ecommerce

Etsy CLI for AI Agents

Use the Etsy CLI from KosmoKrator to call Etsy tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.

6 functions 5 read 1 write Manual OAuth token auth

Etsy CLI Setup

Etsy can be configured headlessly with `kosmokrator integrations:configure etsy`.

# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash

# Configure and verify this integration.
kosmokrator integrations:configure etsy --set access_token="$ETSY_ACCESS_TOKEN" --set shop_id="$ETSY_SHOP_ID" --enable --read allow --write ask --json
kosmokrator integrations:doctor etsy --json
kosmokrator integrations:status --json

Credentials

Authentication type: Manual OAuth token oauth2_manual_token. Configure credentials once, then use the same stored profile from scripts, coding CLIs, Lua code mode, and the MCP gateway.

KeyEnv varTypeRequiredLabel
access_token ETSY_ACCESS_TOKEN Secret secret yes Access Token
shop_id ETSY_SHOP_ID Text string yes Shop ID
base_url ETSY_BASE_URL URL url no Base URL

Call Etsy Headlessly

Use the generic call form when another coding CLI or script needs a stable universal interface.

kosmo integrations:call etsy.etsy_list_listings '{
  "state": "example_state",
  "limit": 1,
  "offset": 1
}' --json

Use the provider shortcut form for shorter human-facing commands.

kosmo integrations:etsy etsy_list_listings '{
  "state": "example_state",
  "limit": 1,
  "offset": 1
}' --json

Agent Discovery Commands

These commands return structured output for coding agents that need to inspect capabilities before choosing a function.

kosmo integrations:docs etsy --json
kosmo integrations:docs etsy.etsy_list_listings --json
kosmo integrations:schema etsy.etsy_list_listings --json
kosmo integrations:search "Etsy" --json
kosmo integrations:list --json

All CLI Functions

Every function below can be called headlessly. The generic form is stable across all integrations; the provider shortcut is shorter but specific to Etsy.

etsy.etsy_list_listings

Read read

List all listings in the Etsy shop. Returns paginated results with optional state filtering (active, draft, inactive, expired).

Parameters
state, limit, offset

Generic CLI call

kosmo integrations:call etsy.etsy_list_listings '{"state":"example_state","limit":1,"offset":1}' --json

Provider shortcut

kosmo integrations:etsy etsy_list_listings '{"state":"example_state","limit":1,"offset":1}' --json

etsy.etsy_get_listing

Read read

Get full details for a specific Etsy listing, including title, description, price, images, and state.

Parameters
listing_id

Generic CLI call

kosmo integrations:call etsy.etsy_get_listing '{"listing_id":1}' --json

Provider shortcut

kosmo integrations:etsy etsy_get_listing '{"listing_id":1}' --json

etsy.etsy_create_listing

Write write

Create a new listing in the Etsy shop. Requires a title, description, price, quantity, and shipping profile ID.

Parameters
title, description, price, quantity, shipping_profile_id, taxonomy_id, tags, who_made, when_made, is_supply

Generic CLI call

kosmo integrations:call etsy.etsy_create_listing '{"title":"example_title","description":"example_description","price":1,"quantity":1,"shipping_profile_id":1,"taxonomy_id":1,"tags":"example_tags","who_made":"example_who_made"}' --json

Provider shortcut

kosmo integrations:etsy etsy_create_listing '{"title":"example_title","description":"example_description","price":1,"quantity":1,"shipping_profile_id":1,"taxonomy_id":1,"tags":"example_tags","who_made":"example_who_made"}' --json

etsy.etsy_list_orders

Read read

List orders (receipts) for the Etsy shop. Returns paginated order data including buyer info, items, and totals.

Parameters
limit, offset, was_paid, was_shipped

Generic CLI call

kosmo integrations:call etsy.etsy_list_orders '{"limit":1,"offset":1,"was_paid":true,"was_shipped":true}' --json

Provider shortcut

kosmo integrations:etsy etsy_list_orders '{"limit":1,"offset":1,"was_paid":true,"was_shipped":true}' --json

etsy.etsy_get_listing_inventory

Read read

Get the inventory (products, offerings, and pricing) for a specific Etsy listing.

Parameters
listing_id

Generic CLI call

kosmo integrations:call etsy.etsy_get_listing_inventory '{"listing_id":1}' --json

Provider shortcut

kosmo integrations:etsy etsy_get_listing_inventory '{"listing_id":1}' --json

etsy.etsy_get_current_user

Read read

Get the profile of the currently authenticated Etsy user, including user ID and primary shop info.

Parameters
none

Generic CLI call

kosmo integrations:call etsy.etsy_get_current_user '{}' --json

Provider shortcut

kosmo integrations:etsy etsy_get_current_user '{}' --json

Function Schemas

Use these parameter tables when building CLI payloads without calling integrations:schema first.

etsy.etsy_list_listings

List all listings in the Etsy shop. Returns paginated results with optional state filtering (active, draft, inactive, expired).

Operation
Read read
Schema command
kosmo integrations:schema etsy.etsy_list_listings --json
ParameterTypeRequiredDescription
state string no Filter listings by state. Defaults to "active" if not provided.
limit integer no Number of listings to return per page (1–100, default: 25).
offset integer no Offset for pagination — pass the offset from a previous response to get the next page.

etsy.etsy_get_listing

Get full details for a specific Etsy listing, including title, description, price, images, and state.

Operation
Read read
Schema command
kosmo integrations:schema etsy.etsy_get_listing --json
ParameterTypeRequiredDescription
listing_id integer yes The Etsy listing ID.

etsy.etsy_create_listing

Create a new listing in the Etsy shop. Requires a title, description, price, quantity, and shipping profile ID.

Operation
Write write
Schema command
kosmo integrations:schema etsy.etsy_create_listing --json
ParameterTypeRequiredDescription
title string yes Listing title (max 140 characters).
description string yes Listing description (max 500 characters for initial draft).
price number yes Listing price (must be greater than 0).
quantity integer yes Stock quantity (must be at least 1).
shipping_profile_id integer yes ID of the shipping profile to assign to this listing.
taxonomy_id integer no Etsy taxonomy (category) ID for the listing.
tags array no Tags for the listing (up to 13 tags, max 20 characters each).
who_made string no Who made this item. Defaults to "i_did" if not specified.
when_made string no When the item was made (e.g., "made_to_order", "2020_2024"). Defaults to "made_to_order".
is_supply boolean no Whether this listing is a supply (true) or a finished product (false).

etsy.etsy_list_orders

List orders (receipts) for the Etsy shop. Returns paginated order data including buyer info, items, and totals.

Operation
Read read
Schema command
kosmo integrations:schema etsy.etsy_list_orders --json
ParameterTypeRequiredDescription
limit integer no Number of receipts to return per page (1–100, default: 25).
offset integer no Offset for pagination — pass the offset from a previous response to get the next page.
was_paid boolean no Filter to only paid receipts (true) or unpaid (false).
was_shipped boolean no Filter to only shipped receipts (true) or unshipped (false).

etsy.etsy_get_listing_inventory

Get the inventory (products, offerings, and pricing) for a specific Etsy listing.

Operation
Read read
Schema command
kosmo integrations:schema etsy.etsy_get_listing_inventory --json
ParameterTypeRequiredDescription
listing_id integer yes The Etsy listing ID.

etsy.etsy_get_current_user

Get the profile of the currently authenticated Etsy user, including user ID and primary shop info.

Operation
Read read
Schema command
kosmo integrations:schema etsy.etsy_get_current_user --json
ParameterTypeRequiredDescription
No parameters.

Permissions

Headless calls still follow the integration read/write permission policy. Configure read/write defaults with integrations:configure. Add --force only for trusted automation that should bypass that policy.