Etsy
List Etsy Integration Instances
Returns every Etsy integration instance in the account, ordered by ID. Not paginated.
Create Etsy Integration Instance
Creates a new, not-yet-connected Etsy integration instance. After creating it, call **Get Etsy Authorization URL** and send the shop owner to the returned URL to connect the Etsy shop.
Get Etsy Integration Instance
Returns one Etsy integration instance with its connection state, shop details, and all settings (order import, listing import, tracking, and inventory).
Update Etsy Integration Instance
Partially updates an Etsy integration instance. Every field is optional — send only the fields you want to change. The nested `tracking` and `inventory` objects are merged into the stored values, so sending part of a block keeps the rest.
Delete Etsy Integration Instance
Permanently deletes the Etsy integration instance and its mirrored Etsy data.
List Etsy Activity Log
Lists the change history of the Etsy orders mirrored for this instance, newest first. Each row is one recorded change to an Etsy order (for example, its status or shipping state updating after an import).
Get Etsy OAuth Configuration
Returns the OAuth scopes SKU.io requests from Etsy, the redirect URL registered with Etsy, the Etsy authorize URL, and whether the Etsy app credentials are configured on this account's environment.
Get Etsy Authorization URL
Starts the Etsy OAuth 2.0 + PKCE flow for this instance and returns the Etsy consent URL. Send the shop owner to `authorization_url`; after they approve, Etsy redirects back to SKU.io, which exchanges the code, stores the tokens, identifies the shop, and starts a full listing import.
Revoke Etsy Connection
Disconnects the Etsy shop: discards the stored OAuth tokens so SKU.io stops syncing with Etsy. The instance and its mirrored data are kept so the shop can be reconnected later. The shop owner can also remove the app from their Etsy account settings.
Check Etsy Shipping Data Access
Re-checks whether Etsy withholds buyer shipping addresses for this shop (Etsy restricts address data for some shop regions to approved shipping partners). Updates `shipping_data_restricted` on the instance.
Get Etsy Dashboard
Returns an overview of one Etsy instance: connection state, record counts, revenue summary, per-entity sync health, the automatic sync schedule (orders every 15 minutes, listings daily, inventory every minute, tracking on fulfillment), the latest order and listing, and order/listing/inventory KPIs.
List Etsy Orders
Lists Etsy orders (receipts) mirrored for this instance, with their line items and linked SKU.io sales order. Archived orders are excluded. Newest Etsy order first by default.
Get Etsy Order
Returns one mirrored Etsy order with buyer, shipping address (null when Etsy withholds it), totals, gift details, tracking state, line items with their mapped SKU.io products, and the linked SKU.io sales order.
Get Raw Etsy Order
Fetches the order live from Etsy and returns Etsy's receipt payload unchanged. Nothing is saved.
List Etsy Order Activity Log
Change history of one Etsy order (created / updated events with the changed fields), newest first. Paginated (per_page default 15). Supports the same filter[search], filter[event], filter[source] and filter[batch_uuid] filters as the shop-wide activity log. Returns 404 when the order belongs to another Etsy shop.
Refresh Etsy Orders
Imports new and updated orders from Etsy. Runs in the background. The response returns a `tracked_job_log_id` you can use to follow progress, cancel, or review the completion summary.
Refetch Etsy Order
Re-imports this one order from Etsy immediately and returns the updated order.
Create SKU.io Sales Order from Etsy Order
Creates the SKU.io sales order for this Etsy order. Only paid, non-canceled Etsy orders without an existing sales order qualify.
Update SKU.io Sales Order from Etsy Order
Re-applies the Etsy order to its linked SKU.io sales order (address, lines, totals). If the Etsy order was canceled, the sales order is canceled to match.
Delete SKU.io Sales Order for Etsy Order
Deletes the SKU.io sales order linked to this Etsy order. The Etsy order itself is kept and can be turned into a sales order again.
Submit Etsy Order Tracking
Sends the tracking number from the latest fulfillment of the linked SKU.io sales order to Etsy now, marking the Etsy order shipped. Runs in the background; check `tracking_submission_status` on the order for the result.
Archive Etsy Order
Archives the Etsy order. Archived orders are hidden from lists and are not turned into sales orders.
Unarchive Etsy Order
Restores an archived Etsy order.
Bulk Create SKU.io Sales Orders from Etsy Orders
Creates SKU.io sales orders for the selected Etsy orders (ineligible or already-linked orders are skipped). Runs in the background. The response returns a `tracked_job_log_id` you can use to follow progress, cancel, or review the completion summary.
Bulk Update SKU.io Sales Orders from Etsy Orders
Re-applies the selected Etsy orders to their linked SKU.io sales orders. Runs in the background. The response returns a `tracked_job_log_id` you can use to follow progress, cancel, or review the completion summary.
Bulk Archive Etsy Orders
Archives the selected Etsy orders. `processed` is the number archived.
Bulk Unarchive Etsy Orders
Restores the selected archived Etsy orders. To target archived orders by filter, include an `archived` key in `selection.filters`.
Bulk Delete SKU.io Sales Orders for Etsy Orders
Deletes the SKU.io sales orders linked to the selected Etsy orders, keeping the Etsy orders. `processed` is the number of sales orders deleted.
Bulk Delete Etsy Orders
Deletes the selected mirrored Etsy orders **and** their linked SKU.io sales orders. Orders still inside the import window are re-imported on the next sync. `processed` is the number of Etsy orders deleted.
Query Pre-Start-Date Etsy Orders
Queries Etsy live for orders created before the order import start date and reports which are eligible to import. Requires an order import start date on the instance.
Import Pre-Start-Date Etsy Orders
Imports the given Etsy orders from before the start date. Imported orders are flagged `pre_start_date_import: true`. Runs in the background. The response returns a `tracked_job_log_id` you can use to follow progress, cancel, or review the completion summary.
List Etsy Listings
Lists Etsy listings for this instance — **one row per variation** (a listing without variations has one row). Each row includes its parent listing (state, push status, images) and the SKU.io product, subscription offering, or revenue line it is mapped to. Archived rows are excluded.
Get Etsy Listing
Returns one listing variation with its parent listing (including the full listing `description`) and its mapping, plus `siblings` — the other variations of the same Etsy listing.
Get Raw Etsy Listing
Fetches the parent listing and its inventory live from Etsy and returns Etsy's payloads unchanged. Nothing is saved.
Export Etsy Listings
Downloads the shop's Etsy listing variations as a CSV or XLSX file. Accepts the same filters and sort as List Etsy Listings (including advanced `filter[<column>.<operator>]` filters and `filter_groups`), plus `filter[ids]` to export a selection and `included` to choose columns.
List Orders for Etsy Listing
Lists the Etsy orders (receipts) that bought this listing variation, newest first. `quantity` is the number of units of this variation on the order; `sales_order` is the SKU.io sales order created from it, or null.
Refresh Etsy Listings
Imports listings from Etsy. Runs in the background. The response returns a `tracked_job_log_id` you can use to follow progress, cancel, or review the completion summary.
Refresh Etsy Listing
Re-imports this variation's parent listing from Etsy now and returns the updated variation.
Enable Etsy Listing Inventory Sync
Turns inventory push back on for this variation's parent listing, so SKU.io updates its Etsy quantities.
Disable Etsy Listing Inventory Sync
Turns inventory push off for this variation's parent listing; SKU.io will no longer change its Etsy quantities.
Map Etsy Listing
Maps the variation to an existing SKU.io product or subscription offering. Send exactly one of the two IDs.
Unmap Etsy Listing
Removes the variation's mapping. `unmapped` is `false` when it was not mapped.
Smart Match Etsy Listing
Suggests SKU.io products for the variation: `exact_match` (same SKU, or `null`) and `similar_matches` (fuzzy matches). Nothing is changed.
Create SKU.io Product from Etsy Listing
Creates a SKU.io product from the variation and maps it. If a SKU.io product with the same SKU already exists, the variation is linked to it instead (`linked_existing: true`). The variation must not already be mapped.
Set Etsy Listing Revenue Mapping
Maps the variation to a revenue line instead of a SKU.io product (for non-inventory items such as custom work or digital downloads), or clears it.
Bulk Update Etsy Listings
Runs one action on many variations. A `selected` set of 50 or fewer runs immediately and returns the result; larger sets, `filtered` selections, and the `map` / `create_products` actions run in the background and return a `tracked_job_log_id`.
Get Etsy Field Mappings
Returns the field mappings used when creating SKU.io products from Etsy listings: the built-in defaults, this instance's custom mappings, the effective result (a custom mapping replaces the default that targets the same SKU.io field), and the available Etsy and SKU.io fields.
Update Etsy Field Mappings
Replaces this instance's custom field mappings. Send an empty array to fall back to the defaults.
List Etsy Inventory
Lists each mapped Etsy variation with the SKU.io quantity that should be on Etsy (`sku_quantity`) and the quantity last pushed to Etsy (`sales_channel_quantity`).
Get Etsy Inventory Summary
Returns inventory sync totals for the instance and whether automatic inventory push is active.
Fetch Etsy Inventory
Reads the live quantity of every mapped, non-archived Etsy listing variation from Etsy and stores it as the observed Etsy quantity (`sales_channel_quantity`) on the inventory comparison, so the comparison reflects what the shop actually holds rather than only what SKU.io last pushed. Read-only on Etsy — nothing is written to the shop, and the SKU.io quantity is never changed. Listings are read up to 100 at a time; if Etsy rejects a batch because one listing no longer exists, each listing in that batch is read individually and deleted listings are counted as missing.
Push Etsy Inventory
Pushes SKU.io quantities to Etsy now for listings whose quantities differ. Listings with inventory sync disabled, unmapped variations, and stale quantities are skipped. Runs in the background. The response returns a `tracked_job_log_id` you can use to follow progress, cancel, or review the completion summary.
Recalculate Etsy Inventory
Recalculates SKU.io quantities for rows flagged `needs_recalc` (a bounded batch per call). Does not contact Etsy. `recached` is the number of rows recalculated.
List Etsy Webhook Events
Lists order notifications received from Etsy for this instance, newest first. Each event triggers a re-import of the referenced order.
Get Etsy Webhook Event Summary
Returns webhook event totals for the instance plus the receiver configuration.
Receive Etsy Webhook
Receives an order notification from Etsy. One endpoint serves every connected Etsy shop; the shop is identified by `shop_id` in the payload. No bearer token — requests are authenticated with a Standard Webhooks HMAC signature.