KosmoKrator

productivity

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.

Etsy CLI Setup

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

Install, configure, and verify
# 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 reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.

KeyEnv varTypeRequiredLabel
access_token ETSY_ACCESS_TOKEN Secret secret yes OAuth Access Token
api_key ETSY_API_KEY Secret secret no App API Key
shop_id ETSY_SHOP_ID Text string yes Shop ID
base_url ETSY_BASE_URL URL url no Base URL

Command Patterns

The generic command is stable across every integration. The provider shortcut is shorter for humans.

Generic CLI call
kosmo integrations:call etsy.etsy_get_shop '{}' --json
Provider shortcut
kosmo integrations:etsy etsy_get_shop '{}' --json

Discovery

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

Discovery commands
kosmo integrations:docs etsy --json
kosmo integrations:docs etsy.etsy_get_shop --json
kosmo integrations:schema etsy.etsy_get_shop --json
kosmo integrations:search "Etsy" --json
kosmo integrations:list --json

Automation Contexts

The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.

CLI Functions

Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.

etsy.etsy_get_shop

Get configured Etsy shop profile.

Read read
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_get_shop '{}' --json
Shortcut
kosmo integrations:etsy etsy_get_shop '{}' --json

etsy.etsy_list_listings

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

Read read
Parameters
state, limit, offset
Generic call
kosmo integrations:call etsy.etsy_list_listings '{"state":"example_state","limit":1,"offset":1}' --json
Shortcut
kosmo integrations:etsy etsy_list_listings '{"state":"example_state","limit":1,"offset":1}' --json

etsy.etsy_get_listing

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

Read read
Parameters
listing_id
Generic call
kosmo integrations:call etsy.etsy_get_listing '{"listing_id":1}' --json
Shortcut
kosmo integrations:etsy etsy_get_listing '{"listing_id":1}' --json

etsy.etsy_create_listing

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

Write write
Parameters
title, description, price, quantity, shipping_profile_id, taxonomy_id, tags, who_made, when_made, is_supply
Generic 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
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_update_listing

Update a listing.

Write write
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_update_listing '{}' --json
Shortcut
kosmo integrations:etsy etsy_update_listing '{}' --json

etsy.etsy_delete_listing

Delete a listing.

Write write
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_delete_listing '{}' --json
Shortcut
kosmo integrations:etsy etsy_delete_listing '{}' --json

etsy.etsy_list_listing_images

List listing images.

Read read
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_list_listing_images '{}' --json
Shortcut
kosmo integrations:etsy etsy_list_listing_images '{}' --json

etsy.etsy_upload_listing_image

Upload a listing image.

Write write
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_upload_listing_image '{}' --json
Shortcut
kosmo integrations:etsy etsy_upload_listing_image '{}' --json

etsy.etsy_get_listing_inventory

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

Read read
Parameters
listing_id
Generic call
kosmo integrations:call etsy.etsy_get_listing_inventory '{"listing_id":1}' --json
Shortcut
kosmo integrations:etsy etsy_get_listing_inventory '{"listing_id":1}' --json

etsy.etsy_update_listing_inventory

Update listing inventory.

Write write
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_update_listing_inventory '{}' --json
Shortcut
kosmo integrations:etsy etsy_update_listing_inventory '{}' --json

etsy.etsy_list_orders

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

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

etsy.etsy_get_receipt

Get one receipt/order.

Read read
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_get_receipt '{}' --json
Shortcut
kosmo integrations:etsy etsy_get_receipt '{}' --json

etsy.etsy_list_receipt_transactions

List receipt line items.

Read read
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_list_receipt_transactions '{}' --json
Shortcut
kosmo integrations:etsy etsy_list_receipt_transactions '{}' --json

etsy.etsy_list_shop_sections

List shop sections.

Read read
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_list_shop_sections '{}' --json
Shortcut
kosmo integrations:etsy etsy_list_shop_sections '{}' --json

etsy.etsy_list_shipping_profiles

List shop shipping profiles.

Read read
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_list_shipping_profiles '{}' --json
Shortcut
kosmo integrations:etsy etsy_list_shipping_profiles '{}' --json

etsy.etsy_list_seller_taxonomy_nodes

List seller taxonomy nodes.

Read read
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_list_seller_taxonomy_nodes '{}' --json
Shortcut
kosmo integrations:etsy etsy_list_seller_taxonomy_nodes '{}' --json

etsy.etsy_get_current_user

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

Read read
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_get_current_user '{}' --json
Shortcut
kosmo integrations:etsy etsy_get_current_user '{}' --json

etsy.etsy_api_get

Call an Etsy GET endpoint.

Read read
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_api_get '{}' --json
Shortcut
kosmo integrations:etsy etsy_api_get '{}' --json

etsy.etsy_api_post

Call an Etsy POST endpoint.

Write write
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_api_post '{}' --json
Shortcut
kosmo integrations:etsy etsy_api_post '{}' --json

etsy.etsy_api_put

Call an Etsy PUT endpoint.

Write write
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_api_put '{}' --json
Shortcut
kosmo integrations:etsy etsy_api_put '{}' --json

etsy.etsy_api_delete

Call an Etsy DELETE endpoint.

Write write
Parameters
none
Generic call
kosmo integrations:call etsy.etsy_api_delete '{}' --json
Shortcut
kosmo integrations:etsy etsy_api_delete '{}' --json

Function Schemas

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

etsy.etsy_get_shop 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_get_shop --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_list_listings 3 parameters
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 1 parameters
Schema command
kosmo integrations:schema etsy.etsy_get_listing --json
ParameterTypeRequiredDescription
listing_id integer yes The Etsy listing ID.
etsy.etsy_create_listing 10 parameters
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_update_listing 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_update_listing --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_delete_listing 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_delete_listing --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_list_listing_images 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_list_listing_images --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_upload_listing_image 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_upload_listing_image --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_get_listing_inventory 1 parameters
Schema command
kosmo integrations:schema etsy.etsy_get_listing_inventory --json
ParameterTypeRequiredDescription
listing_id integer yes The Etsy listing ID.
etsy.etsy_update_listing_inventory 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_update_listing_inventory --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_list_orders 4 parameters
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_receipt 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_get_receipt --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_list_receipt_transactions 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_list_receipt_transactions --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_list_shop_sections 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_list_shop_sections --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_list_shipping_profiles 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_list_shipping_profiles --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_list_seller_taxonomy_nodes 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_list_seller_taxonomy_nodes --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_get_current_user 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_get_current_user --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_api_get 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_api_get --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_api_post 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_api_post --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_api_put 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_api_put --json
ParameterTypeRequiredDescription
No parameters.
etsy.etsy_api_delete 0 parameters
Schema command
kosmo integrations:schema etsy.etsy_api_delete --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.