{
  "name": "Eto feature map",
  "description": "Every page of the Eto app, every section of every page, and every feature with the exact path to reach it in the interface.",
  "docs": "https://eto.tools/dev/docs/#where-everything-is",
  "markdown": "https://eto.tools/dev/docs/where-everything-is.md",
  "page_count": 16,
  "feature_count": 1104,
  "path_separator": " > ",
  "pages": [
    {
      "slug": "dashboard",
      "name": "Dashboard",
      "url": "https://eto.tools/dashboard/",
      "summary": "The account home page: a store header, four tabs, a live order feed, a money statement with a chart, and boards for out-of-stock listings and listing performance.",
      "anchor": "https://eto.tools/dev/docs/#where-dashboard",
      "markdown": "https://eto.tools/dev/docs/where/dashboard.md",
      "sections": [
        {
          "slug": "dashboard-store-header",
          "name": "Store header",
          "features": [
            {
              "slug": "store-switcher",
              "name": "Store switcher",
              "what": "Opens a menu to pick which connected store the whole page reports on.",
              "path": "Dashboard > store name",
              "steps": [
                "Dashboard",
                "store name"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-switcher"
            },
            {
              "slug": "switch-store",
              "name": "Switch store",
              "what": "The menu heading over the store list, with the line \"Pick a store to load its numbers\".",
              "path": "Dashboard > store name",
              "steps": [
                "Dashboard",
                "store name"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-switch-store"
            },
            {
              "slug": "search-stores",
              "name": "Search stores",
              "what": "Filters the store menu by name as you type.",
              "path": "Dashboard > store name > Search stores",
              "steps": [
                "Dashboard",
                "store name",
                "Search stores"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-stores"
            },
            {
              "slug": "most-sales",
              "name": "Most sales",
              "what": "Sorts the store menu by lifetime sales, highest first.",
              "path": "Dashboard > store name > Most sales",
              "steps": [
                "Dashboard",
                "store name",
                "Most sales"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-most-sales"
            },
            {
              "slug": "least-sales",
              "name": "Least sales",
              "what": "Sorts the store menu by lifetime sales, lowest first.",
              "path": "Dashboard > store name > Most sales > Least sales",
              "steps": [
                "Dashboard",
                "store name",
                "Most sales",
                "Least sales"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-least-sales"
            },
            {
              "slug": "a-to-z",
              "name": "A to Z",
              "what": "Sorts the store menu alphabetically by shop name.",
              "path": "Dashboard > store name > Most sales > A to Z",
              "steps": [
                "Dashboard",
                "store name",
                "Most sales",
                "A to Z"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-a-to-z"
            },
            {
              "slug": "store-stats-line",
              "name": "Store stats line",
              "what": "Shows the selected store lifetime sales, its active listing count and a link out to the shop on Etsy.",
              "path": "Dashboard > store header",
              "steps": [
                "Dashboard",
                "store header"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-stats-line"
            },
            {
              "slug": "refresh-indicator",
              "name": "Refresh indicator",
              "what": "A spinner and label in the stats line saying that the store numbers are being re-synced right now.",
              "path": "Dashboard > store header",
              "steps": [
                "Dashboard",
                "store header"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-indicator"
            },
            {
              "slug": "all-stores",
              "name": "All stores",
              "what": "Switches the page to a combined view of every connected store instead of one.",
              "path": "Dashboard > All stores",
              "steps": [
                "Dashboard",
                "All stores"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-stores"
            },
            {
              "slug": "all-stores-currency-settings",
              "name": "All stores currency settings",
              "what": "Opens the setup modal for the common currency and the per-store conversion rates.",
              "path": "Dashboard > All stores currency settings",
              "steps": [
                "Dashboard",
                "All stores currency settings"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-stores-currency-settings"
            },
            {
              "slug": "connect-a-store",
              "name": "Connect a store",
              "what": "The empty state shown when no store is connected, linking to the Stores page.",
              "path": "Dashboard > Connect a store",
              "steps": [
                "Dashboard",
                "Connect a store"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-connect-a-store"
            }
          ]
        },
        {
          "slug": "dashboard-all-stores-setup-modal",
          "name": "All Stores Setup modal",
          "features": [
            {
              "slug": "convert-all-to",
              "name": "Convert all to",
              "what": "Sets the three-letter currency every store is converted into for the combined view.",
              "path": "Dashboard > All stores currency settings > Convert all to",
              "steps": [
                "Dashboard",
                "All stores currency settings",
                "Convert all to"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-convert-all-to"
            },
            {
              "slug": "auto-fill-rates",
              "name": "Auto-fill rates",
              "what": "Fetches a conversion rate for each store currency into the common currency.",
              "path": "Dashboard > All stores currency settings > Auto-fill rates",
              "steps": [
                "Dashboard",
                "All stores currency settings",
                "Auto-fill rates"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-auto-fill-rates"
            },
            {
              "slug": "per-store-rate-list",
              "name": "Per-store rate list",
              "what": "Lists every store with its own rate field, and notes that stores without a rate are left out.",
              "path": "Dashboard > All stores currency settings",
              "steps": [
                "Dashboard",
                "All stores currency settings"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-per-store-rate-list"
            },
            {
              "slug": "save-and-view-all-stores",
              "name": "Save & View All Stores",
              "what": "Saves the currency and rates and switches the page into the combined all-stores view.",
              "path": "Dashboard > All stores currency settings > Save & View All Stores",
              "steps": [
                "Dashboard",
                "All stores currency settings",
                "Save & View All Stores"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-save-and-view-all-stores"
            },
            {
              "slug": "cancel",
              "name": "Cancel",
              "what": "Closes the setup modal without saving the currency or rates.",
              "path": "Dashboard > All stores currency settings > Cancel",
              "steps": [
                "Dashboard",
                "All stores currency settings",
                "Cancel"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-cancel"
            }
          ]
        },
        {
          "slug": "dashboard-tabs",
          "name": "Tabs",
          "features": [
            {
              "slug": "home",
              "name": "Home",
              "what": "The default tab: live updates, the money statement and chart, recent orders and latest listings.",
              "path": "Dashboard > Home",
              "steps": [
                "Dashboard",
                "Home"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-home"
            },
            {
              "slug": "issues",
              "name": "Issues",
              "what": "The tab that checks every connected store for broken or expired connections.",
              "path": "Dashboard > Issues",
              "steps": [
                "Dashboard",
                "Issues"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-issues"
            },
            {
              "slug": "listings",
              "name": "Listings",
              "what": "The tab listing every active listing sitting at zero stock, with a count badge on the tab itself.",
              "path": "Dashboard > Listings",
              "steps": [
                "Dashboard",
                "Listings"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-listings"
            },
            {
              "slug": "performance",
              "name": "Performance",
              "what": "The tab showing views, favourites and orders per listing over time from the capture history.",
              "path": "Dashboard > Performance",
              "steps": [
                "Dashboard",
                "Performance"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-performance"
            }
          ]
        },
        {
          "slug": "dashboard-home-tab-live-updates",
          "name": "Home tab: Live updates",
          "features": [
            {
              "slug": "this-store-only",
              "name": "This store only",
              "what": "A toggle that limits the live cards to the store picked in the header.",
              "path": "Dashboard > Home > Live updates > This store only",
              "steps": [
                "Dashboard",
                "Home",
                "Live updates",
                "This store only"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-this-store-only"
            },
            {
              "slug": "order-events",
              "name": "Order events",
              "what": "A live-streamed list of order events as they arrive, with a connection dot and a running count.",
              "path": "Dashboard > Home > Order events",
              "steps": [
                "Dashboard",
                "Home",
                "Order events"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-order-events"
            },
            {
              "slug": "clear",
              "name": "Clear",
              "what": "Removes every event currently listed in the Order events card.",
              "path": "Dashboard > Home > Order events > Clear",
              "steps": [
                "Dashboard",
                "Home",
                "Order events",
                "Clear"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-clear"
            },
            {
              "slug": "needs-fulfillment",
              "name": "Needs fulfillment",
              "what": "Lists paid orders that have not shipped yet, and says \"Every paid order is on its way\" when there are none.",
              "path": "Dashboard > Home > Needs fulfillment",
              "steps": [
                "Dashboard",
                "Home",
                "Needs fulfillment"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-needs-fulfillment"
            },
            {
              "slug": "inactive-stores",
              "name": "Inactive stores",
              "what": "A toggle that also lists unshipped orders from banned, disconnected or deleted stores.",
              "path": "Dashboard > Home > Needs fulfillment > Inactive stores",
              "steps": [
                "Dashboard",
                "Home",
                "Needs fulfillment",
                "Inactive stores"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-inactive-stores"
            },
            {
              "slug": "view-all",
              "name": "View All",
              "what": "Opens the Orders page filtered to unshipped physical orders.",
              "path": "Dashboard > Home > Needs fulfillment > View All",
              "steps": [
                "Dashboard",
                "Home",
                "Needs fulfillment",
                "View All"
              ],
              "url": "https://eto.tools/dashboard/orders/?shipped=false&is_digital=false",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-view-all"
            }
          ]
        },
        {
          "slug": "dashboard-home-tab-money-period-and-view-controls",
          "name": "Home tab: money period and view controls",
          "features": [
            {
              "slug": "today",
              "name": "Today",
              "what": "Reports the statement, the hero figure and the chart for today only.",
              "path": "Dashboard > Home > Today",
              "steps": [
                "Dashboard",
                "Home",
                "Today"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-today"
            },
            {
              "slug": "yesterday",
              "name": "Yesterday",
              "what": "Reports the money block for yesterday.",
              "path": "Dashboard > Home > Yesterday",
              "steps": [
                "Dashboard",
                "Home",
                "Yesterday"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-yesterday"
            },
            {
              "slug": "last-7-days",
              "name": "Last 7 days",
              "what": "Reports the money block for the last seven days.",
              "path": "Dashboard > Home > Last 7 days",
              "steps": [
                "Dashboard",
                "Home",
                "Last 7 days"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-last-7-days"
            },
            {
              "slug": "this-month",
              "name": "This Month",
              "what": "Reports the money block for the current calendar month.",
              "path": "Dashboard > Home > This Month",
              "steps": [
                "Dashboard",
                "Home",
                "This Month"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-this-month"
            },
            {
              "slug": "this-year",
              "name": "This Year",
              "what": "Reports the money block for the current calendar year.",
              "path": "Dashboard > Home > This Year",
              "steps": [
                "Dashboard",
                "Home",
                "This Year"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-this-year"
            },
            {
              "slug": "custom",
              "name": "Custom",
              "what": "Opens a single-month calendar to pick one day or a date range for the money block.",
              "path": "Dashboard > Home > Custom",
              "steps": [
                "Dashboard",
                "Home",
                "Custom"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-custom"
            },
            {
              "slug": "calendar-apply",
              "name": "Calendar Apply",
              "what": "Applies the day or range picked in the custom calendar.",
              "path": "Dashboard > Home > Custom > Apply",
              "steps": [
                "Dashboard",
                "Home",
                "Custom",
                "Apply"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-calendar-apply"
            },
            {
              "slug": "calendar-clear",
              "name": "Calendar Clear",
              "what": "Clears the custom date selection and returns to the preset periods.",
              "path": "Dashboard > Home > Custom > Clear",
              "steps": [
                "Dashboard",
                "Home",
                "Custom",
                "Clear"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-calendar-clear"
            },
            {
              "slug": "settled",
              "name": "Settled",
              "what": "Shows money on the day it actually moved in the Etsy ledger.",
              "path": "Dashboard > Home > Settled",
              "steps": [
                "Dashboard",
                "Home",
                "Settled"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-settled"
            },
            {
              "slug": "outcome",
              "name": "Outcome",
              "what": "Groups every order by its sale day and pulls later fees and refunds back onto that day.",
              "path": "Dashboard > Home > Outcome",
              "steps": [
                "Dashboard",
                "Home",
                "Outcome"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-outcome"
            },
            {
              "slug": "settled-and-outcome-help",
              "name": "Settled and Outcome help",
              "what": "A hover card that explains the difference between the Settled and Outcome lenses.",
              "path": "Dashboard > Home > Settled",
              "steps": [
                "Dashboard",
                "Home",
                "Settled"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-settled-and-outcome-help"
            },
            {
              "slug": "orders",
              "name": "Orders",
              "what": "Plots order counts on the dashboard chart.",
              "path": "Dashboard > Home > Orders",
              "steps": [
                "Dashboard",
                "Home",
                "Orders"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders"
            },
            {
              "slug": "sales",
              "name": "Sales",
              "what": "Plots sales money on the dashboard chart.",
              "path": "Dashboard > Home > Sales",
              "steps": [
                "Dashboard",
                "Home",
                "Sales"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sales"
            },
            {
              "slug": "cogs",
              "name": "COGS",
              "what": "Plots cost of goods on the dashboard chart.",
              "path": "Dashboard > Home > COGS",
              "steps": [
                "Dashboard",
                "Home",
                "COGS"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-cogs"
            }
          ]
        },
        {
          "slug": "dashboard-home-tab-statement",
          "name": "Home tab: Statement",
          "features": [
            {
              "slug": "statement",
              "name": "Statement",
              "what": "The money block subtitled \"Money in, fees out\", running from gross sales down to net profit.",
              "path": "Dashboard > Home > Statement",
              "steps": [
                "Dashboard",
                "Home",
                "Statement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-statement"
            },
            {
              "slug": "gross-sales",
              "name": "Gross sales",
              "what": "The total money customers paid in the chosen period.",
              "path": "Dashboard > Home > Statement",
              "steps": [
                "Dashboard",
                "Home",
                "Statement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gross-sales"
            },
            {
              "slug": "refunds",
              "name": "Refunds",
              "what": "The money refunded to customers in the chosen period.",
              "path": "Dashboard > Home > Statement",
              "steps": [
                "Dashboard",
                "Home",
                "Statement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refunds"
            },
            {
              "slug": "fees",
              "name": "Fees",
              "what": "The Etsy fees charged in the chosen period.",
              "path": "Dashboard > Home > Statement",
              "steps": [
                "Dashboard",
                "Home",
                "Statement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-fees"
            },
            {
              "slug": "ads",
              "name": "Ads",
              "what": "The advertising spend in the chosen period.",
              "path": "Dashboard > Home > Statement",
              "steps": [
                "Dashboard",
                "Home",
                "Statement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ads"
            },
            {
              "slug": "software",
              "name": "Software",
              "what": "The software costs subtracted in the chosen period.",
              "path": "Dashboard > Home > Statement",
              "steps": [
                "Dashboard",
                "Home",
                "Statement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-software"
            },
            {
              "slug": "gross-profit",
              "name": "Gross profit",
              "what": "Gross sales minus refunds, fees, ads and software.",
              "path": "Dashboard > Home > Statement",
              "steps": [
                "Dashboard",
                "Home",
                "Statement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gross-profit"
            },
            {
              "slug": "cogs-row",
              "name": "COGS row",
              "what": "The cost of goods subtracted from gross profit.",
              "path": "Dashboard > Home > Statement",
              "steps": [
                "Dashboard",
                "Home",
                "Statement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-cogs-row"
            },
            {
              "slug": "net-profit",
              "name": "Net profit",
              "what": "The bottom line after cost of goods is taken off gross profit.",
              "path": "Dashboard > Home > Statement",
              "steps": [
                "Dashboard",
                "Home",
                "Statement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-net-profit"
            },
            {
              "slug": "statement-footer",
              "name": "Statement footer",
              "what": "A quiet line with the sale count, the average order value, net sales and the amount paid out.",
              "path": "Dashboard > Home > Statement",
              "steps": [
                "Dashboard",
                "Home",
                "Statement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-statement-footer"
            },
            {
              "slug": "open-finance-page",
              "name": "Open Finance page",
              "what": "Leaves the dashboard for the full finance breakdown.",
              "path": "Dashboard > Home > Statement > Open Finance page",
              "steps": [
                "Dashboard",
                "Home",
                "Statement",
                "Open Finance page"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-open-finance-page"
            }
          ]
        },
        {
          "slug": "dashboard-home-tab-chart-and-overlays",
          "name": "Home tab: chart and overlays",
          "features": [
            {
              "slug": "net-profit-hero",
              "name": "Net profit hero",
              "what": "The large net profit figure for the chosen window, with the change against the previous one.",
              "path": "Dashboard > Home",
              "steps": [
                "Dashboard",
                "Home"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-net-profit-hero"
            },
            {
              "slug": "verification-line",
              "name": "Verification line",
              "what": "A small line under the hero saying whether the figures were checked against Etsy, and which stores need reconnecting.",
              "path": "Dashboard > Home",
              "steps": [
                "Dashboard",
                "Home"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-verification-line"
            },
            {
              "slug": "orders-chart",
              "name": "Orders chart",
              "what": "The main dashboard chart drawing the chosen measure across the chosen period.",
              "path": "Dashboard > Home",
              "steps": [
                "Dashboard",
                "Home"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders-chart"
            },
            {
              "slug": "connect-a-store-overlay",
              "name": "Connect a store overlay",
              "what": "Covers the money block until at least one store is connected, with a link to the Stores page.",
              "path": "Dashboard > Home",
              "steps": [
                "Dashboard",
                "Home"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-connect-a-store-overlay"
            }
          ]
        },
        {
          "slug": "dashboard-home-tab-recent-activity",
          "name": "Home tab: recent activity",
          "features": [
            {
              "slug": "recent-orders",
              "name": "Recent orders",
              "what": "The last orders across every store, each row opening that order on the Orders page.",
              "path": "Dashboard > Home > Recent orders",
              "steps": [
                "Dashboard",
                "Home",
                "Recent orders"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-recent-orders"
            },
            {
              "slug": "all-orders",
              "name": "All orders",
              "what": "Opens the Orders page from the Recent orders card.",
              "path": "Dashboard > Home > Recent orders > All orders",
              "steps": [
                "Dashboard",
                "Home",
                "Recent orders",
                "All orders"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-orders"
            },
            {
              "slug": "latest-listings",
              "name": "Latest listings",
              "what": "The most recently synced listings with price, views, favourites and state.",
              "path": "Dashboard > Home > Latest listings",
              "steps": [
                "Dashboard",
                "Home",
                "Latest listings"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-latest-listings"
            },
            {
              "slug": "listing-manager",
              "name": "Listing manager",
              "what": "Opens the Listing Manager from the Latest listings card.",
              "path": "Dashboard > Home > Latest listings > Listing manager",
              "steps": [
                "Dashboard",
                "Home",
                "Latest listings",
                "Listing manager"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-listing-manager"
            }
          ]
        },
        {
          "slug": "dashboard-issues-tab",
          "name": "Issues tab",
          "features": [
            {
              "slug": "connection-check",
              "name": "Connection check",
              "what": "Walks every connected store one at a time and reports whether its Etsy connection still works.",
              "path": "Dashboard > Issues > Connection check",
              "steps": [
                "Dashboard",
                "Issues",
                "Connection check"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-connection-check"
            },
            {
              "slug": "check",
              "name": "Check",
              "what": "Starts the connection check and turns into Stop while it runs.",
              "path": "Dashboard > Issues > Check",
              "steps": [
                "Dashboard",
                "Issues",
                "Check"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-check"
            },
            {
              "slug": "check-progress-bar",
              "name": "Check progress bar",
              "what": "A bar and an \"n / total\" counter showing how far through the stores the check is.",
              "path": "Dashboard > Issues > Check",
              "steps": [
                "Dashboard",
                "Issues",
                "Check"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-check-progress-bar"
            },
            {
              "slug": "needs-attention",
              "name": "Needs attention",
              "what": "Lists the stores that failed the check with the reason and a link to reconnect them.",
              "path": "Dashboard > Issues > Needs attention",
              "steps": [
                "Dashboard",
                "Issues",
                "Needs attention"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-needs-attention"
            }
          ]
        },
        {
          "slug": "dashboard-listings-tab",
          "name": "Listings tab",
          "features": [
            {
              "slug": "out-of-stock",
              "name": "Out of stock",
              "what": "A per-store board of every active listing sitting at zero stock, with an estimate of the money the empty shelf has cost.",
              "path": "Dashboard > Listings",
              "steps": [
                "Dashboard",
                "Listings"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-out-of-stock"
            },
            {
              "slug": "search-a-listing-title",
              "name": "Search a listing title",
              "what": "Filters the out-of-stock board to listings whose title matches.",
              "path": "Dashboard > Listings > Search a listing title",
              "steps": [
                "Dashboard",
                "Listings",
                "Search a listing title"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-a-listing-title"
            },
            {
              "slug": "90-days",
              "name": "90 days",
              "what": "Prices each out-of-stock listing by what it earned in the last ninety days.",
              "path": "Dashboard > Listings > 90 days",
              "steps": [
                "Dashboard",
                "Listings",
                "90 days"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-90-days"
            },
            {
              "slug": "lifetime",
              "name": "Lifetime",
              "what": "Prices each out-of-stock listing by what it has earned for all time.",
              "path": "Dashboard > Listings > Lifetime",
              "steps": [
                "Dashboard",
                "Listings",
                "Lifetime"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-lifetime"
            },
            {
              "slug": "sort-the-stores",
              "name": "Sort the stores",
              "what": "Orders the store groups by out of stock count, revenue, lifetime sales, listing count, store age or name.",
              "path": "Dashboard > Listings > Sort the stores",
              "steps": [
                "Dashboard",
                "Listings",
                "Sort the stores"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-the-stores"
            },
            {
              "slug": "flip-the-sort-order",
              "name": "Flip the sort order",
              "what": "Reverses the store ordering between highest first and lowest first.",
              "path": "Dashboard > Listings > Flip the sort order",
              "steps": [
                "Dashboard",
                "Listings",
                "Flip the sort order"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-flip-the-sort-order"
            },
            {
              "slug": "show-more",
              "name": "Show more",
              "what": "Appends the next page of out-of-stock rows inside one store group without reloading the board.",
              "path": "Dashboard > Listings > Show more",
              "steps": [
                "Dashboard",
                "Listings",
                "Show more"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-show-more"
            },
            {
              "slug": "restock",
              "name": "Restock",
              "what": "Opens that listing in the editor with the quantity field already in view.",
              "path": "Dashboard > Listings > Restock",
              "steps": [
                "Dashboard",
                "Listings",
                "Restock"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-restock"
            },
            {
              "slug": "etsy-link",
              "name": "Etsy link",
              "what": "Opens the out-of-stock listing on Etsy in a new tab.",
              "path": "Dashboard > Listings > Etsy",
              "steps": [
                "Dashboard",
                "Listings",
                "Etsy"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-etsy-link"
            }
          ]
        },
        {
          "slug": "dashboard-performance-tab",
          "name": "Performance tab",
          "features": [
            {
              "slug": "listing-performance",
              "name": "Listing performance",
              "what": "Views, favourites, listing counts and orders read off the six-hourly capture history.",
              "path": "Dashboard > Performance",
              "steps": [
                "Dashboard",
                "Performance"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-listing-performance"
            },
            {
              "slug": "24-hours",
              "name": "24 hours",
              "what": "Reports listing performance over the last day.",
              "path": "Dashboard > Performance > 24 hours",
              "steps": [
                "Dashboard",
                "Performance",
                "24 hours"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-24-hours"
            },
            {
              "slug": "7-days",
              "name": "7 days",
              "what": "Reports listing performance over the last week.",
              "path": "Dashboard > Performance > 7 days",
              "steps": [
                "Dashboard",
                "Performance",
                "7 days"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-7-days"
            },
            {
              "slug": "30-days",
              "name": "30 days",
              "what": "Reports listing performance over the last month.",
              "path": "Dashboard > Performance > 30 days",
              "steps": [
                "Dashboard",
                "Performance",
                "30 days"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-30-days"
            },
            {
              "slug": "capture-now",
              "name": "Capture now",
              "what": "Records every listing on every store immediately, at most once every six hours.",
              "path": "Dashboard > Performance > Capture now",
              "steps": [
                "Dashboard",
                "Performance",
                "Capture now"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-capture-now"
            },
            {
              "slug": "figure-strip",
              "name": "Figure strip",
              "what": "Five counters across the top: Views, Favourites, Listings, Sold out and Orders.",
              "path": "Dashboard > Performance",
              "steps": [
                "Dashboard",
                "Performance"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-figure-strip"
            },
            {
              "slug": "capture-status-line",
              "name": "Capture status line",
              "what": "A mono line saying what the running capture is doing, or when the last one ran and what it cost.",
              "path": "Dashboard > Performance",
              "steps": [
                "Dashboard",
                "Performance"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-capture-status-line"
            },
            {
              "slug": "views-and-favourites-over-time",
              "name": "Views and favourites over time",
              "what": "A chart of the capture series, hidden until there are at least two captures.",
              "path": "Dashboard > Performance",
              "steps": [
                "Dashboard",
                "Performance"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-views-and-favourites-over-time"
            },
            {
              "slug": "movement",
              "name": "Movement",
              "what": "Plots views gained, favourites gained and orders per capture.",
              "path": "Dashboard > Performance > Movement",
              "steps": [
                "Dashboard",
                "Performance",
                "Movement"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-movement"
            },
            {
              "slug": "totals",
              "name": "Totals",
              "what": "Plots the running total of views and favourites instead of the movement between captures.",
              "path": "Dashboard > Performance > Totals",
              "steps": [
                "Dashboard",
                "Performance",
                "Totals"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-totals"
            },
            {
              "slug": "chart-legend",
              "name": "Chart legend",
              "what": "Clickable series names that switch each line on the performance chart on or off.",
              "path": "Dashboard > Performance",
              "steps": [
                "Dashboard",
                "Performance"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-chart-legend"
            },
            {
              "slug": "per-store-table",
              "name": "Per-store table",
              "what": "One row per store with active, sold out, views, favourites, orders, a views sparkline and the last capture time.",
              "path": "Dashboard > Performance",
              "steps": [
                "Dashboard",
                "Performance"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-per-store-table"
            }
          ]
        }
      ]
    },
    {
      "slug": "analytics",
      "name": "Analytics",
      "url": "https://eto.tools/dashboard/analytics/",
      "summary": "A ten-tab reporting page over orders, money, stores, listings and operations, with a KPI strip, a live event stream and an orders map.",
      "anchor": "https://eto.tools/dev/docs/#where-analytics",
      "markdown": "https://eto.tools/dev/docs/where/analytics.md",
      "sections": [
        {
          "slug": "analytics-page-header",
          "name": "Page header",
          "features": [
            {
              "slug": "store-switcher-2",
              "name": "Store switcher",
              "what": "Picks one connected store or All stores for every panel on the page.",
              "path": "Analytics > All stores",
              "steps": [
                "Analytics",
                "All stores"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-switcher-2"
            },
            {
              "slug": "search-stores-2",
              "name": "Search stores",
              "what": "Filters the store switcher list by shop name, with a match count beside it.",
              "path": "Analytics > All stores > Search stores",
              "steps": [
                "Analytics",
                "All stores",
                "Search stores"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-stores-2"
            },
            {
              "slug": "today-2",
              "name": "Today",
              "what": "Reports every panel over today only.",
              "path": "Analytics > Today",
              "steps": [
                "Analytics",
                "Today"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-today-2"
            },
            {
              "slug": "7d",
              "name": "7d",
              "what": "Reports every panel over the last seven days.",
              "path": "Analytics > 7d",
              "steps": [
                "Analytics",
                "7d"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-7d"
            },
            {
              "slug": "30d",
              "name": "30d",
              "what": "Reports every panel over the last thirty days, the page default.",
              "path": "Analytics > 30d",
              "steps": [
                "Analytics",
                "30d"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-30d"
            },
            {
              "slug": "90d",
              "name": "90d",
              "what": "Reports every panel over the last ninety days.",
              "path": "Analytics > 90d",
              "steps": [
                "Analytics",
                "90d"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-90d"
            },
            {
              "slug": "ytd",
              "name": "YTD",
              "what": "Reports every panel from the start of the year to today.",
              "path": "Analytics > YTD",
              "steps": [
                "Analytics",
                "YTD"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ytd"
            },
            {
              "slug": "custom-2",
              "name": "Custom",
              "what": "Reveals a start date, an end date and an Apply button for an arbitrary window.",
              "path": "Analytics > Custom",
              "steps": [
                "Analytics",
                "Custom"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-custom-2"
            },
            {
              "slug": "compare-against",
              "name": "Compare against",
              "what": "Chooses what every KPI delta is measured against: the previous period, the same period last year, or nothing.",
              "path": "Analytics > vs previous period",
              "steps": [
                "Analytics",
                "vs previous period"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-compare-against"
            },
            {
              "slug": "live-indicator",
              "name": "Live indicator",
              "what": "Shows whether the page is connected to the live event stream, reconnecting, or paused.",
              "path": "Analytics > Live",
              "steps": [
                "Analytics",
                "Live"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-live-indicator"
            },
            {
              "slug": "refresh",
              "name": "Refresh",
              "what": "Throws away the cached answers and re-fetches every panel for the current store and period.",
              "path": "Analytics > Refresh",
              "steps": [
                "Analytics",
                "Refresh"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh"
            }
          ]
        },
        {
          "slug": "analytics-kpi-strip",
          "name": "KPI strip",
          "features": [
            {
              "slug": "orders-2",
              "name": "Orders",
              "what": "The order count for the period, with its change against the comparison window.",
              "path": "Analytics > KPI strip",
              "steps": [
                "Analytics",
                "KPI strip"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders-2"
            },
            {
              "slug": "revenue",
              "name": "Revenue",
              "what": "Gross money taken in the period.",
              "path": "Analytics > KPI strip",
              "steps": [
                "Analytics",
                "KPI strip"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-revenue"
            },
            {
              "slug": "net-profit-2",
              "name": "Net profit",
              "what": "Revenue less fees, ads, refunds and cost of goods.",
              "path": "Analytics > KPI strip",
              "steps": [
                "Analytics",
                "KPI strip"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-net-profit-2"
            },
            {
              "slug": "cogs-2",
              "name": "COGS",
              "what": "The cost of goods for the orders in the period.",
              "path": "Analytics > KPI strip",
              "steps": [
                "Analytics",
                "KPI strip"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-cogs-2"
            },
            {
              "slug": "etsy-fees",
              "name": "Etsy fees",
              "what": "Every Etsy fee charged in the period.",
              "path": "Analytics > KPI strip",
              "steps": [
                "Analytics",
                "KPI strip"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-etsy-fees"
            },
            {
              "slug": "ads-2",
              "name": "Ads",
              "what": "Advertising spend in the period.",
              "path": "Analytics > KPI strip",
              "steps": [
                "Analytics",
                "KPI strip"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ads-2"
            },
            {
              "slug": "average-order",
              "name": "Average order",
              "what": "Revenue divided by the number of orders.",
              "path": "Analytics > KPI strip",
              "steps": [
                "Analytics",
                "KPI strip"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-average-order"
            },
            {
              "slug": "refund-rate",
              "name": "Refund rate",
              "what": "The share of orders that were refunded, coloured so a rise reads as bad.",
              "path": "Analytics > KPI strip",
              "steps": [
                "Analytics",
                "KPI strip"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refund-rate"
            },
            {
              "slug": "active-listings",
              "name": "Active listings",
              "what": "How many listings are active right now across the stores in view.",
              "path": "Analytics > KPI strip",
              "steps": [
                "Analytics",
                "KPI strip"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-active-listings"
            },
            {
              "slug": "comparison-caption",
              "name": "Comparison caption",
              "what": "The single line under the strip naming the baseline window every delta is measured against.",
              "path": "Analytics > KPI strip",
              "steps": [
                "Analytics",
                "KPI strip"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-comparison-caption"
            }
          ]
        },
        {
          "slug": "analytics-overview-tab",
          "name": "Overview tab",
          "features": [
            {
              "slug": "orders-and-money",
              "name": "Orders and money",
              "what": "The headline chart plotting orders, revenue and gross profit across the period.",
              "path": "Analytics > Overview > Orders and money",
              "steps": [
                "Analytics",
                "Overview",
                "Orders and money"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders-and-money"
            },
            {
              "slug": "both-orders-money",
              "name": "Both / Orders / Money",
              "what": "Switches the headline chart between both axes, order counts only, or money only.",
              "path": "Analytics > Overview > Orders and money > Both",
              "steps": [
                "Analytics",
                "Overview",
                "Orders and money",
                "Both"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-both-orders-money"
            },
            {
              "slug": "this-period",
              "name": "This period",
              "what": "Total revenue and order count for the window, plus average order, days with ledger data, stores in view and order cost coverage.",
              "path": "Analytics > Overview > This period",
              "steps": [
                "Analytics",
                "Overview",
                "This period"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-this-period"
            },
            {
              "slug": "where-the-money-goes",
              "name": "Where the money goes",
              "what": "A ranked bar list of revenue, net profit, COGS, fees and ads.",
              "path": "Analytics > Overview > Where the money goes",
              "steps": [
                "Analytics",
                "Overview",
                "Where the money goes"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-where-the-money-goes"
            },
            {
              "slug": "rates",
              "name": "Rates",
              "what": "Refund rate, fees, ads and COGS as shares of revenue, and the active listing count.",
              "path": "Analytics > Overview > Rates",
              "steps": [
                "Analytics",
                "Overview",
                "Rates"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-rates"
            },
            {
              "slug": "live-updates",
              "name": "Live updates",
              "what": "The event feed, prepending new orders and order events as the stream delivers them.",
              "path": "Analytics > Overview > Live updates",
              "steps": [
                "Analytics",
                "Overview",
                "Live updates"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-live-updates"
            }
          ]
        },
        {
          "slug": "analytics-orders-tab",
          "name": "Orders tab",
          "features": [
            {
              "slug": "order-volume",
              "name": "Order volume",
              "what": "Orders, shipped orders and revenue across the period.",
              "path": "Analytics > Orders > Order volume",
              "steps": [
                "Analytics",
                "Orders",
                "Order volume"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-order-volume"
            },
            {
              "slug": "count-money",
              "name": "Count / Money",
              "what": "Switches the volume chart between order counts and revenue.",
              "path": "Analytics > Orders > Order volume > Count",
              "steps": [
                "Analytics",
                "Orders",
                "Order volume",
                "Count"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-count-money"
            },
            {
              "slug": "top-products",
              "name": "Top products",
              "what": "The best selling products drawn as a ranked chart, with its own order-by menu.",
              "path": "Analytics > Orders > Top products",
              "steps": [
                "Analytics",
                "Orders",
                "Top products"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-top-products"
            },
            {
              "slug": "needs-fulfilment",
              "name": "Needs fulfilment",
              "what": "How many paid orders are waiting to ship, with the oldest of them listed and linked.",
              "path": "Analytics > Orders > Needs fulfilment",
              "steps": [
                "Analytics",
                "Orders",
                "Needs fulfilment"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-needs-fulfilment"
            },
            {
              "slug": "by-status",
              "name": "By status",
              "what": "Order counts split by Paid, Completed, Open, Processing, Cancelled and Unknown.",
              "path": "Analytics > Orders > By status",
              "steps": [
                "Analytics",
                "Orders",
                "By status"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-by-status"
            },
            {
              "slug": "by-country",
              "name": "By country",
              "what": "Order counts split by buyer country.",
              "path": "Analytics > Orders > By country",
              "steps": [
                "Analytics",
                "Orders",
                "By country"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-by-country"
            },
            {
              "slug": "by-store",
              "name": "By store",
              "what": "Order counts split by shop.",
              "path": "Analytics > Orders > By store",
              "steps": [
                "Analytics",
                "Orders",
                "By store"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-by-store"
            },
            {
              "slug": "fulfilment",
              "name": "Fulfilment",
              "what": "Average time to ship, lines shipped, orders shipped, shipped share and gift orders.",
              "path": "Analytics > Orders > Fulfilment",
              "steps": [
                "Analytics",
                "Orders",
                "Fulfilment"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-fulfilment"
            },
            {
              "slug": "money-per-order",
              "name": "Money per order",
              "what": "Revenue, Etsy fees, COGS, net profit and refunded orders for the window.",
              "path": "Analytics > Orders > Money per order",
              "steps": [
                "Analytics",
                "Orders",
                "Money per order"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-money-per-order"
            },
            {
              "slug": "top-products-in-figures",
              "name": "Top products, in figures",
              "what": "The same products as a table of product, listing id, units and order lines.",
              "path": "Analytics > Orders > Top products, in figures",
              "steps": [
                "Analytics",
                "Orders",
                "Top products, in figures"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-top-products-in-figures"
            }
          ]
        },
        {
          "slug": "analytics-map-tab-toolbar",
          "name": "Map tab: toolbar",
          "features": [
            {
              "slug": "size-by",
              "name": "Size by",
              "what": "Chooses whether places on the map are sized by Orders, Order value, Items or Average order.",
              "path": "Analytics > Map > Size by",
              "steps": [
                "Analytics",
                "Map",
                "Size by"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-size-by"
            },
            {
              "slug": "dots",
              "name": "Dots",
              "what": "Draws each place as a clustered dot.",
              "path": "Analytics > Map > Dots",
              "steps": [
                "Analytics",
                "Map",
                "Dots"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-dots"
            },
            {
              "slug": "heat",
              "name": "Heat",
              "what": "Draws the orders as a heat surface instead of dots.",
              "path": "Analytics > Map > Heat",
              "steps": [
                "Analytics",
                "Map",
                "Heat"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-heat"
            },
            {
              "slug": "countries",
              "name": "Countries",
              "what": "Fills whole countries by their share instead of plotting places.",
              "path": "Analytics > Map > Countries",
              "steps": [
                "Analytics",
                "Map",
                "Countries"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-countries"
            },
            {
              "slug": "flat",
              "name": "Flat",
              "what": "Draws the map as a flat projection.",
              "path": "Analytics > Map > Flat",
              "steps": [
                "Analytics",
                "Map",
                "Flat"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-flat"
            },
            {
              "slug": "3d",
              "name": "3D",
              "what": "Draws the map as a globe, with a starfield behind it.",
              "path": "Analytics > Map > 3D",
              "steps": [
                "Analytics",
                "Map",
                "3D"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-3d"
            },
            {
              "slug": "find-a-place",
              "name": "Find a place",
              "what": "Searches the places currently on the map and flies to the one you pick.",
              "path": "Analytics > Map > Find a place",
              "steps": [
                "Analytics",
                "Map",
                "Find a place"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-find-a-place"
            },
            {
              "slug": "reload-the-map",
              "name": "Reload the map",
              "what": "Re-fetches the map points, spinning while anything is in flight.",
              "path": "Analytics > Map > Reload the map",
              "steps": [
                "Analytics",
                "Map",
                "Reload the map"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-reload-the-map"
            },
            {
              "slug": "fit-the-map-to-your-orders",
              "name": "Fit the map to your orders",
              "what": "Zooms and pans so every placed order is on screen.",
              "path": "Analytics > Map > Fit the map to your orders",
              "steps": [
                "Analytics",
                "Map",
                "Fit the map to your orders"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-fit-the-map-to-your-orders"
            },
            {
              "slug": "back-to-the-whole-world",
              "name": "Back to the whole world",
              "what": "Resets the camera to the default world view.",
              "path": "Analytics > Map > Back to the whole world",
              "steps": [
                "Analytics",
                "Map",
                "Back to the whole world"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-back-to-the-whole-world"
            },
            {
              "slug": "download-these-places-as-csv",
              "name": "Download these places as CSV",
              "what": "Saves the places on screen with orders, items, value, average order, share and coordinates as a CSV file.",
              "path": "Analytics > Map > Download these places as CSV",
              "steps": [
                "Analytics",
                "Map",
                "Download these places as CSV"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-download-these-places-as-csv"
            },
            {
              "slug": "show-or-hide-the-side-panel",
              "name": "Show or hide the side panel",
              "what": "Collapses or reopens the details panel beside the map.",
              "path": "Analytics > Map > Show or hide the side panel",
              "steps": [
                "Analytics",
                "Map",
                "Show or hide the side panel"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-show-or-hide-the-side-panel"
            },
            {
              "slug": "fill-the-window",
              "name": "Fill the window",
              "what": "Expands the map to fill the browser window.",
              "path": "Analytics > Map > Fill the window",
              "steps": [
                "Analytics",
                "Map",
                "Fill the window"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-fill-the-window"
            },
            {
              "slug": "zoom-in",
              "name": "Zoom in",
              "what": "Steps the map camera one level closer.",
              "path": "Analytics > Map > Zoom in",
              "steps": [
                "Analytics",
                "Map",
                "Zoom in"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-zoom-in"
            },
            {
              "slug": "zoom-out",
              "name": "Zoom out",
              "what": "Steps the map camera one level back.",
              "path": "Analytics > Map > Zoom out",
              "steps": [
                "Analytics",
                "Map",
                "Zoom out"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-zoom-out"
            },
            {
              "slug": "place-names",
              "name": "Place names",
              "what": "Turns the place-name labels on the map on or off.",
              "path": "Analytics > Map > Place names",
              "steps": [
                "Analytics",
                "Map",
                "Place names"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-place-names"
            },
            {
              "slug": "resize-the-panel",
              "name": "Resize the panel",
              "what": "A drag handle, also movable with the arrow keys, that sets how wide the side panel is.",
              "path": "Analytics > Map > Resize the panel",
              "steps": [
                "Analytics",
                "Map",
                "Resize the panel"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-resize-the-panel"
            },
            {
              "slug": "place-my-orders-on-the-map",
              "name": "Place my orders on the map",
              "what": "Works out where past orders came from, offline from the addresses already stored, so the map has something to draw.",
              "path": "Analytics > Map > Place my orders on the map",
              "steps": [
                "Analytics",
                "Map",
                "Place my orders on the map"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-place-my-orders-on-the-map"
            }
          ]
        },
        {
          "slug": "analytics-map-tab-side-panel",
          "name": "Map tab: side panel",
          "features": [
            {
              "slug": "overview",
              "name": "Overview",
              "what": "The panel tab counting the places reached, with the Reach, Top countries and Top places sections.",
              "path": "Analytics > Map > Overview",
              "steps": [
                "Analytics",
                "Map",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-overview"
            },
            {
              "slug": "reach",
              "name": "Reach",
              "what": "Countries, new places this period, orders, items, order value, average order and how many orders were placed to a town.",
              "path": "Analytics > Map > Overview > Reach",
              "steps": [
                "Analytics",
                "Map",
                "Overview",
                "Reach"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-reach"
            },
            {
              "slug": "top-countries",
              "name": "Top countries",
              "what": "The countries with the most orders, each with how many distinct places it covers.",
              "path": "Analytics > Map > Overview > Top countries",
              "steps": [
                "Analytics",
                "Map",
                "Overview",
                "Top countries"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-top-countries"
            },
            {
              "slug": "top-places",
              "name": "Top places",
              "what": "The individual towns and districts with the most orders.",
              "path": "Analytics > Map > Overview > Top places",
              "steps": [
                "Analytics",
                "Map",
                "Overview",
                "Top places"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-top-places"
            },
            {
              "slug": "place",
              "name": "Place",
              "what": "The panel tab showing one place picked on the map in full.",
              "path": "Analytics > Map > Place",
              "steps": [
                "Analytics",
                "Map",
                "Place"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-place"
            },
            {
              "slug": "this-period-2",
              "name": "This period",
              "what": "Order value, average order, growth against the previous period, buyers, repeat buyers, first and last order, and how precisely the place was located.",
              "path": "Analytics > Map > Place > This period",
              "steps": [
                "Analytics",
                "Map",
                "Place",
                "This period"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-this-period-2"
            },
            {
              "slug": "what-it-buys",
              "name": "What it buys",
              "what": "The products that place buys, with each product share and its lift against the whole account.",
              "path": "Analytics > Map > Place > What it buys",
              "steps": [
                "Analytics",
                "Map",
                "Place",
                "What it buys"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-what-it-buys"
            },
            {
              "slug": "stores-selling-here",
              "name": "Stores selling here",
              "what": "Which of your shops have sold into that place, and how many orders each.",
              "path": "Analytics > Map > Place > Stores selling here",
              "steps": [
                "Analytics",
                "Map",
                "Place",
                "Stores selling here"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-stores-selling-here"
            },
            {
              "slug": "insights",
              "name": "Insights",
              "what": "The panel tab ranking places into five lists with a Show button that flies the map to each.",
              "path": "Analytics > Map > Insights",
              "steps": [
                "Analytics",
                "Map",
                "Insights"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-insights"
            },
            {
              "slug": "biggest-markets",
              "name": "Biggest markets",
              "what": "The places bringing in the most money.",
              "path": "Analytics > Map > Insights > Biggest markets",
              "steps": [
                "Analytics",
                "Map",
                "Insights",
                "Biggest markets"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-biggest-markets"
            },
            {
              "slug": "growing-fastest",
              "name": "Growing fastest",
              "what": "The places whose order count rose most against the period before.",
              "path": "Analytics > Map > Insights > Growing fastest",
              "steps": [
                "Analytics",
                "Map",
                "Insights",
                "Growing fastest"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-growing-fastest"
            },
            {
              "slug": "biggest-baskets",
              "name": "Biggest baskets",
              "what": "The places with the highest average order value.",
              "path": "Analytics > Map > Insights > Biggest baskets",
              "steps": [
                "Analytics",
                "Map",
                "Insights",
                "Biggest baskets"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-biggest-baskets"
            },
            {
              "slug": "barely-served",
              "name": "Barely served",
              "what": "Places that spend well but that only one of your stores, or none, reaches.",
              "path": "Analytics > Map > Insights > Barely served",
              "steps": [
                "Analytics",
                "Map",
                "Insights",
                "Barely served"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-barely-served"
            },
            {
              "slug": "gone-quiet",
              "name": "Gone quiet",
              "what": "Places that ordered last period and nothing this one.",
              "path": "Analytics > Map > Insights > Gone quiet",
              "steps": [
                "Analytics",
                "Map",
                "Insights",
                "Gone quiet"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gone-quiet"
            },
            {
              "slug": "what-each-country-buys",
              "name": "What each country buys",
              "what": "A per-country product table added under the rankings, with each product lift for that country.",
              "path": "Analytics > Map > Insights",
              "steps": [
                "Analytics",
                "Map",
                "Insights"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-what-each-country-buys"
            },
            {
              "slug": "live",
              "name": "Live",
              "what": "The panel tab counting orders in the last minute and listing each new one as it lands and pulses on the map.",
              "path": "Analytics > Map > Live",
              "steps": [
                "Analytics",
                "Map",
                "Live"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "placed orders",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-live"
            }
          ]
        },
        {
          "slug": "analytics-finance-tab",
          "name": "Finance tab",
          "features": [
            {
              "slug": "revenue-profit-and-cost",
              "name": "Revenue, profit and cost",
              "what": "The headline money chart plotting revenue, gross profit, COGS and net profit, with fees, ads and refunds available behind the legend.",
              "path": "Analytics > Finance > Revenue, profit and cost",
              "steps": [
                "Analytics",
                "Finance",
                "Revenue, profit and cost"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-revenue-profit-and-cost"
            },
            {
              "slug": "lines-costs",
              "name": "Lines / Costs",
              "what": "Switches the money chart between the profit lines and the cost lines.",
              "path": "Analytics > Finance > Revenue, profit and cost > Lines",
              "steps": [
                "Analytics",
                "Finance",
                "Revenue, profit and cost",
                "Lines"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-lines-costs"
            },
            {
              "slug": "money-per-store",
              "name": "Money per store",
              "what": "Every store ranked as a chart, ordered by revenue, gross profit, fees, ads, sales or name.",
              "path": "Analytics > Finance > Money per store",
              "steps": [
                "Analytics",
                "Finance",
                "Money per store"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-money-per-store"
            },
            {
              "slug": "totals-2",
              "name": "Totals",
              "what": "Net profit as a hero figure over revenue, gross profit, COGS, Etsy fees, ads, refunds, cancelled and paid out to bank.",
              "path": "Analytics > Finance > Totals",
              "steps": [
                "Analytics",
                "Finance",
                "Totals"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-totals-2"
            },
            {
              "slug": "fees-breakdown",
              "name": "Fees breakdown",
              "what": "Each kind of Etsy fee as its own bar.",
              "path": "Analytics > Finance > Fees breakdown",
              "steps": [
                "Analytics",
                "Finance",
                "Fees breakdown"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-fees-breakdown"
            },
            {
              "slug": "ads-breakdown",
              "name": "Ads breakdown",
              "what": "Each kind of advertising charge as its own bar.",
              "path": "Analytics > Finance > Ads breakdown",
              "steps": [
                "Analytics",
                "Finance",
                "Ads breakdown"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ads-breakdown"
            },
            {
              "slug": "taxes-and-other",
              "name": "Taxes and other",
              "what": "Every remaining ledger movement that is not a fee or an ad.",
              "path": "Analytics > Finance > Taxes and other",
              "steps": [
                "Analytics",
                "Finance",
                "Taxes and other"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-taxes-and-other"
            },
            {
              "slug": "per-store",
              "name": "Per store",
              "what": "A sortable, paged table of store, sales, revenue, fees, ads, refunds and gross profit.",
              "path": "Analytics > Finance > Per store",
              "steps": [
                "Analytics",
                "Finance",
                "Per store"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-per-store"
            }
          ]
        },
        {
          "slug": "analytics-stores-tab",
          "name": "Stores tab",
          "features": [
            {
              "slug": "store-comparison",
              "name": "Store comparison",
              "what": "Plots every store on two axes you choose, or reads the same stores as a ranked league table.",
              "path": "Analytics > Stores > Store comparison",
              "steps": [
                "Analytics",
                "Stores",
                "Store comparison"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-comparison"
            },
            {
              "slug": "x-axis-picker",
              "name": "X axis picker",
              "what": "Chooses which measure the comparison plot uses for its horizontal axis.",
              "path": "Analytics > Stores > Store comparison > X",
              "steps": [
                "Analytics",
                "Stores",
                "Store comparison",
                "X"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-x-axis-picker"
            },
            {
              "slug": "y-axis-picker",
              "name": "Y axis picker",
              "what": "Chooses which measure the comparison plot uses for its vertical axis.",
              "path": "Analytics > Stores > Store comparison > Y",
              "steps": [
                "Analytics",
                "Stores",
                "Store comparison",
                "Y"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-y-axis-picker"
            },
            {
              "slug": "top-10-25-50-all-stores",
              "name": "Top 10 / 25 / 50 / All stores",
              "what": "Limits the comparison plot to the leading stores by the Y measure, or shows every store.",
              "path": "Analytics > Stores > Store comparison > Top 25",
              "steps": [
                "Analytics",
                "Stores",
                "Store comparison",
                "Top 25"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-top-10-25-50-all-stores"
            },
            {
              "slug": "revenue-leaders",
              "name": "Revenue leaders",
              "what": "A fixed-height ranked list of shops by revenue for the period.",
              "path": "Analytics > Stores > Revenue leaders",
              "steps": [
                "Analytics",
                "Stores",
                "Revenue leaders"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-revenue-leaders"
            },
            {
              "slug": "flags",
              "name": "Flags",
              "what": "The stores that need reconnecting, are on vacation, or are hidden from a page, each with a chip saying which.",
              "path": "Analytics > Stores > Flags",
              "steps": [
                "Analytics",
                "Stores",
                "Flags"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-flags"
            },
            {
              "slug": "store-age-against-sales",
              "name": "Store age against sales",
              "what": "Plots how old each store is against its lifetime sales.",
              "path": "Analytics > Stores > Store age against sales",
              "steps": [
                "Analytics",
                "Stores",
                "Store age against sales"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-age-against-sales"
            },
            {
              "slug": "every-store",
              "name": "Every store",
              "what": "A sortable, paged table of store, products, active, stock, views, favourites, orders, revenue, profit, lifetime sales and age.",
              "path": "Analytics > Stores > Every store",
              "steps": [
                "Analytics",
                "Stores",
                "Every store"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-every-store"
            }
          ]
        },
        {
          "slug": "analytics-listings-tab",
          "name": "Listings tab",
          "features": [
            {
              "slug": "revenue-per-listing",
              "name": "Revenue per listing",
              "what": "Every listing ranked by what it earned, windowed so thousands of bars stay readable.",
              "path": "Analytics > Listings > Revenue per listing",
              "steps": [
                "Analytics",
                "Listings",
                "Revenue per listing"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-revenue-per-listing"
            },
            {
              "slug": "find-a-listing",
              "name": "Find a listing",
              "what": "Jumps the revenue ranking to the listing whose title or id matches.",
              "path": "Analytics > Listings > Revenue per listing > Find a listing",
              "steps": [
                "Analytics",
                "Listings",
                "Revenue per listing",
                "Find a listing"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-find-a-listing"
            },
            {
              "slug": "revenue-profit-units-orders",
              "name": "Revenue / Profit / Units / Orders",
              "what": "Chooses which measure the revenue-per-listing bars are drawn from.",
              "path": "Analytics > Listings > Revenue per listing > Revenue",
              "steps": [
                "Analytics",
                "Listings",
                "Revenue per listing",
                "Revenue"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-revenue-profit-units-orders"
            },
            {
              "slug": "show-50-100-200-400",
              "name": "Show 50 / 100 / 200 / 400",
              "what": "Sets how many listings are on screen in one window of the ranking.",
              "path": "Analytics > Listings > Revenue per listing > Show 50",
              "steps": [
                "Analytics",
                "Listings",
                "Revenue per listing",
                "Show 50"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-show-50-100-200-400"
            },
            {
              "slug": "currency-picker",
              "name": "Currency picker",
              "what": "Appears only when the stores in view price in more than one currency, and picks which one the ranking is drawn in.",
              "path": "Analytics > Listings > Revenue per listing",
              "steps": [
                "Analytics",
                "Listings",
                "Revenue per listing"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "two or more currencies",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-currency-picker"
            },
            {
              "slug": "ranking-brush",
              "name": "Ranking brush",
              "what": "A slider under the chart, also movable with the arrow keys, that scrolls the window along the full ranking.",
              "path": "Analytics > Listings > Revenue per listing",
              "steps": [
                "Analytics",
                "Listings",
                "Revenue per listing"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ranking-brush"
            },
            {
              "slug": "zero-revenue-band",
              "name": "Zero-revenue band",
              "what": "The band at the end of the axis that opens a paged drawer of every listing that earned nothing in the period.",
              "path": "Analytics > Listings > Revenue per listing",
              "steps": [
                "Analytics",
                "Listings",
                "Revenue per listing"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-zero-revenue-band"
            },
            {
              "slug": "listings-created",
              "name": "Listings created",
              "what": "Plots listings created in each bucket against how many are now active and how many are still drafts.",
              "path": "Analytics > Listings > Listings created",
              "steps": [
                "Analytics",
                "Listings",
                "Listings created"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-listings-created"
            },
            {
              "slug": "price-spread",
              "name": "Price spread",
              "what": "A histogram of what active listings are priced at.",
              "path": "Analytics > Listings > Price spread",
              "steps": [
                "Analytics",
                "Listings",
                "Price spread"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-price-spread"
            },
            {
              "slug": "catalogue",
              "name": "Catalogue",
              "what": "Active listings as a hero figure over draft, inactive, expired, sold out, gone from Etsy, digital, with variations and units in stock.",
              "path": "Analytics > Listings > Catalogue",
              "steps": [
                "Analytics",
                "Listings",
                "Catalogue"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-catalogue"
            },
            {
              "slug": "low-stock",
              "name": "Low stock",
              "what": "Active listings nearly out of stock, each linked to its editor.",
              "path": "Analytics > Listings > Low stock",
              "steps": [
                "Analytics",
                "Listings",
                "Low stock"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-low-stock"
            },
            {
              "slug": "engagement",
              "name": "Engagement",
              "what": "Total views and favourites, favourites per hundred views, views per active listing and the number of listings tracked.",
              "path": "Analytics > Listings > Engagement",
              "steps": [
                "Analytics",
                "Listings",
                "Engagement"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-engagement"
            },
            {
              "slug": "most-viewed",
              "name": "Most viewed",
              "what": "The listings with the most views, with their store, views and favourites.",
              "path": "Analytics > Listings > Most viewed",
              "steps": [
                "Analytics",
                "Listings",
                "Most viewed"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-most-viewed"
            },
            {
              "slug": "least-viewed",
              "name": "Least viewed",
              "what": "The listings with the fewest views, with their store, price and views.",
              "path": "Analytics > Listings > Least viewed",
              "steps": [
                "Analytics",
                "Listings",
                "Least viewed"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-least-viewed"
            }
          ]
        },
        {
          "slug": "analytics-listing-stats-tab",
          "name": "Listing stats tab",
          "features": [
            {
              "slug": "performance-over-time",
              "name": "Performance over time",
              "what": "The capture series for views, favourites and orders across the chosen window.",
              "path": "Analytics > Listing stats > Performance over time",
              "steps": [
                "Analytics",
                "Listing stats",
                "Performance over time"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-performance-over-time"
            },
            {
              "slug": "store-picker",
              "name": "Store picker",
              "what": "Narrows the performance chart to one store that has been captured, or all of them.",
              "path": "Analytics > Listing stats > Performance over time > All stores",
              "steps": [
                "Analytics",
                "Listing stats",
                "Performance over time",
                "All stores"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-picker"
            },
            {
              "slug": "movement-lifetime-totals-stock-and-orders",
              "name": "Movement / Lifetime totals / Stock and orders",
              "what": "Switches the performance chart between movement per capture, running totals, and stock against orders.",
              "path": "Analytics > Listing stats > Performance over time > Movement",
              "steps": [
                "Analytics",
                "Listing stats",
                "Performance over time",
                "Movement"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-movement-lifetime-totals-stock-and-orders"
            },
            {
              "slug": "what-to-do",
              "name": "What to do",
              "what": "Read-off suggestions from the movement, each row opening the listing it refers to.",
              "path": "Analytics > Listing stats > What to do",
              "steps": [
                "Analytics",
                "Listing stats",
                "What to do"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-what-to-do"
            },
            {
              "slug": "biggest-movers",
              "name": "Biggest movers",
              "what": "The listings that gained and lost the most views in the window.",
              "path": "Analytics > Listing stats > Biggest movers",
              "steps": [
                "Analytics",
                "Listing stats",
                "Biggest movers"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-biggest-movers"
            },
            {
              "slug": "most-favourited",
              "name": "Most favourited",
              "what": "The listings that gained and lost the most favourites in the window.",
              "path": "Analytics > Listing stats > Most favourited",
              "steps": [
                "Analytics",
                "Listing stats",
                "Most favourited"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-most-favourited"
            },
            {
              "slug": "gone-quiet-2",
              "name": "Gone quiet",
              "what": "Active listings nobody has looked at in a month.",
              "path": "Analytics > Listing stats > Gone quiet",
              "steps": [
                "Analytics",
                "Listing stats",
                "Gone quiet"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gone-quiet-2"
            },
            {
              "slug": "sold-out-still-wanted",
              "name": "Sold out, still wanted",
              "what": "Listings with no stock left whose favourites are still rising.",
              "path": "Analytics > Listing stats > Sold out, still wanted",
              "steps": [
                "Analytics",
                "Listing stats",
                "Sold out, still wanted"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sold-out-still-wanted"
            },
            {
              "slug": "one-listing-over-time",
              "name": "One listing over time",
              "what": "The history of a single listing with views, favourites, stock and the orders that landed against it.",
              "path": "Analytics > Listing stats > Every listing > a row",
              "steps": [
                "Analytics",
                "Listing stats",
                "Every listing",
                "a row"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-one-listing-over-time"
            },
            {
              "slug": "every-listing",
              "name": "Every listing",
              "what": "A sortable, paged table of listing, store, state, views gained, favourites gained, orders, conversion, stock change, views and favourites.",
              "path": "Analytics > Listing stats > Every listing",
              "steps": [
                "Analytics",
                "Listing stats",
                "Every listing"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-every-listing"
            },
            {
              "slug": "search-a-title-or-id",
              "name": "Search a title or id",
              "what": "Filters the Every listing table to matching listings.",
              "path": "Analytics > Listing stats > Every listing > Search a title or id",
              "steps": [
                "Analytics",
                "Listing stats",
                "Every listing",
                "Search a title or id"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-a-title-or-id"
            },
            {
              "slug": "capture-log",
              "name": "Capture log",
              "what": "Every capture sweep with its six-hour window, what started it, orders in the window, stores, listings, Etsy calls, duration and result.",
              "path": "Analytics > Listing stats > Capture log",
              "steps": [
                "Analytics",
                "Listing stats",
                "Capture log"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-capture-log"
            }
          ]
        },
        {
          "slug": "analytics-suppliers-tab",
          "name": "Suppliers tab",
          "features": [
            {
              "slug": "tracking-submitted",
              "name": "Tracking submitted",
              "what": "Tracking entries suppliers have submitted through a share link, across the period.",
              "path": "Analytics > Suppliers > Tracking submitted",
              "steps": [
                "Analytics",
                "Suppliers",
                "Tracking submitted"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-tracking-submitted"
            },
            {
              "slug": "supplier-fulfilment",
              "name": "Supplier fulfilment",
              "what": "Orders marked done by suppliers, over orders shared, still open, with supplier tracking, active share links and link views.",
              "path": "Analytics > Suppliers > Supplier fulfilment",
              "steps": [
                "Analytics",
                "Suppliers",
                "Supplier fulfilment"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-fulfilment"
            },
            {
              "slug": "tracking-states",
              "name": "Tracking states",
              "what": "Tracking entries, how many name a carrier, how many have last-mile tracking, and how many of the period orders reached Etsy.",
              "path": "Analytics > Suppliers > Tracking states",
              "steps": [
                "Analytics",
                "Suppliers",
                "Tracking states"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-tracking-states"
            },
            {
              "slug": "assignments",
              "name": "Assignments",
              "what": "How many stores and products are assigned to a supplier, and the total share link count.",
              "path": "Analytics > Suppliers > Assignments",
              "steps": [
                "Analytics",
                "Suppliers",
                "Assignments"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-assignments"
            },
            {
              "slug": "open-work-by-link",
              "name": "Open work by link",
              "what": "Each share link ranked by how many orders on it are still open.",
              "path": "Analytics > Suppliers > Open work by link",
              "steps": [
                "Analytics",
                "Suppliers",
                "Open work by link"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-open-work-by-link"
            },
            {
              "slug": "share-links",
              "name": "Share links",
              "what": "A table of every supplier link with its token, state, shared, done, open, views and last opened time.",
              "path": "Analytics > Suppliers > Share links",
              "steps": [
                "Analytics",
                "Suppliers",
                "Share links"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-share-links"
            }
          ]
        },
        {
          "slug": "analytics-vas-tab",
          "name": "VAs tab",
          "features": [
            {
              "slug": "assistant-activity",
              "name": "Assistant activity",
              "what": "Assistant actions across the period, covering logins, order actions and uploads.",
              "path": "Analytics > VAs > Assistant activity",
              "steps": [
                "Analytics",
                "VAs",
                "Assistant activity"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-assistant-activity"
            },
            {
              "slug": "team",
              "name": "Team",
              "what": "How many assistants are active, and how many stores each of the first eight can reach.",
              "path": "Analytics > VAs > Team",
              "steps": [
                "Analytics",
                "VAs",
                "Team"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-team"
            },
            {
              "slug": "actions-per-assistant",
              "name": "Actions per assistant",
              "what": "Action counts ranked by assistant.",
              "path": "Analytics > VAs > Actions per assistant",
              "steps": [
                "Analytics",
                "VAs",
                "Actions per assistant"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-actions-per-assistant"
            },
            {
              "slug": "what-they-did",
              "name": "What they did",
              "what": "Action counts ranked by the kind of action.",
              "path": "Analytics > VAs > What they did",
              "steps": [
                "Analytics",
                "VAs",
                "What they did"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-what-they-did"
            }
          ]
        },
        {
          "slug": "analytics-api-tab",
          "name": "API tab",
          "features": [
            {
              "slug": "api-calls",
              "name": "API calls",
              "what": "Eto API and Etsy API traffic across the period, with error series behind the legend.",
              "path": "Analytics > API > API calls",
              "steps": [
                "Analytics",
                "API",
                "API calls"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-api-calls"
            },
            {
              "slug": "all-errors",
              "name": "All / Errors",
              "what": "Switches the traffic chart between all calls and errors only.",
              "path": "Analytics > API > API calls > All",
              "steps": [
                "Analytics",
                "API",
                "API calls",
                "All"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-errors"
            },
            {
              "slug": "today-s-quota",
              "name": "Today's quota",
              "what": "Eto API calls left today over calls used, the daily limit, and the key prefix, state and last use.",
              "path": "Analytics > API > Today's quota",
              "steps": [
                "Analytics",
                "API",
                "Today's quota"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-today-s-quota"
            },
            {
              "slug": "eto-api",
              "name": "Eto API",
              "what": "Calls, errors, error rate and average response time for the Eto API in the period.",
              "path": "Analytics > API > Eto API",
              "steps": [
                "Analytics",
                "API",
                "Eto API"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-eto-api"
            },
            {
              "slug": "etsy-api",
              "name": "Etsy API",
              "what": "Calls, errors, error rate and average response time for Etsy in the period.",
              "path": "Analytics > API > Etsy API",
              "steps": [
                "Analytics",
                "API",
                "Etsy API"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-etsy-api"
            },
            {
              "slug": "research-tools-used",
              "name": "Research tools used",
              "what": "Counts of product hunt searches, bulk research runs, keyword searches, quick product and keyword lookups and shop spy searches.",
              "path": "Analytics > API > Research tools used",
              "steps": [
                "Analytics",
                "API",
                "Research tools used"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-research-tools-used"
            },
            {
              "slug": "busiest-eto-endpoints",
              "name": "Busiest Eto endpoints",
              "what": "A table of the Eto API endpoints with the most calls, their errors and their average response time.",
              "path": "Analytics > API > Busiest Eto endpoints",
              "steps": [
                "Analytics",
                "API",
                "Busiest Eto endpoints"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-busiest-eto-endpoints"
            },
            {
              "slug": "etsy-calls-by-feature",
              "name": "Etsy calls by feature",
              "what": "A table of which Eto feature made the Etsy calls, with counts and errors.",
              "path": "Analytics > API > Etsy calls by feature",
              "steps": [
                "Analytics",
                "API",
                "Etsy calls by feature"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": "account owner",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-etsy-calls-by-feature"
            }
          ]
        },
        {
          "slug": "analytics-controls-every-panel-carries",
          "name": "Controls every panel carries",
          "features": [
            {
              "slug": "line-bar-scatter",
              "name": "Line / Bar / Scatter",
              "what": "A per-chart switch that redraws that plot as a line, bars or a scatter, remembered for next visit.",
              "path": "Analytics > any chart panel",
              "steps": [
                "Analytics",
                "any chart panel"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-line-bar-scatter"
            },
            {
              "slug": "order-by",
              "name": "Order by",
              "what": "On a ranked chart, chooses which measure the ranking runs on, remembered per panel.",
              "path": "Analytics > any ranked chart > Order",
              "steps": [
                "Analytics",
                "any ranked chart",
                "Order"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-order-by"
            },
            {
              "slug": "order-direction",
              "name": "Order direction",
              "what": "Flips a ranking between high to low, oldest first or A to Z depending on the measure.",
              "path": "Analytics > any ranked chart",
              "steps": [
                "Analytics",
                "any ranked chart"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-order-direction"
            },
            {
              "slug": "chart-legend-2",
              "name": "Chart legend",
              "what": "Clickable series names that switch a line on the chart above them on or off.",
              "path": "Analytics > any chart panel",
              "steps": [
                "Analytics",
                "any chart panel"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-chart-legend-2"
            },
            {
              "slug": "column-sorting",
              "name": "Column sorting",
              "what": "Clicking a table heading re-asks the server for that column, ordered high to low, then low to high, then cleared.",
              "path": "Analytics > any table panel",
              "steps": [
                "Analytics",
                "any table panel"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-column-sorting"
            },
            {
              "slug": "table-pager",
              "name": "Table pager",
              "what": "Previous and next buttons that swap only the table panel, leaving the charts and the scroll position alone.",
              "path": "Analytics > any table panel",
              "steps": [
                "Analytics",
                "any table panel"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-table-pager"
            }
          ]
        }
      ]
    },
    {
      "slug": "orders",
      "name": "Orders",
      "url": "https://eto.tools/dashboard/orders/",
      "summary": "One list of every Etsy order across your connected stores, with costs, tracking, notes and supplier sharing.",
      "anchor": "https://eto.tools/dev/docs/#where-orders",
      "markdown": "https://eto.tools/dev/docs/where/orders.md",
      "sections": [
        {
          "slug": "orders-header-controls",
          "name": "Header controls",
          "features": [
            {
              "slug": "store-filter",
              "name": "Store filter",
              "what": "Narrows the whole list to one store, and only appears once you have two or more connected.",
              "path": "Orders > All Stores",
              "steps": [
                "Orders",
                "All Stores"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-filter"
            },
            {
              "slug": "search-anything",
              "name": "Search anything",
              "what": "Searches orders by buyer name, email, phone, city, state, country, status, buyer message, gift message, shop name, product title or exact receipt number.",
              "path": "Orders > Search anything...",
              "steps": [
                "Orders",
                "Search anything..."
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": "orders_list",
              "anchor": "https://eto.tools/dev/docs/#feat-search-anything"
            },
            {
              "slug": "clear-search",
              "name": "Clear search",
              "what": "Empties the search box and reloads the unsearched list.",
              "path": "Orders > Search anything... > x",
              "steps": [
                "Orders",
                "Search anything...",
                "x"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-clear-search"
            },
            {
              "slug": "share",
              "name": "Share",
              "what": "Opens the dialog that turns your current filters into a supplier link or a CSV.",
              "path": "Orders > Share",
              "steps": [
                "Orders",
                "Share"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-share"
            },
            {
              "slug": "manage-links",
              "name": "Manage links",
              "what": "Opens the list of supplier links you have already created.",
              "path": "Orders > (link icon beside Share)",
              "steps": [
                "Orders",
                "(link icon beside Share)"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-manage-links"
            },
            {
              "slug": "sync-orders",
              "name": "Sync Orders",
              "what": "Opens a date-range popover and then fetches fresh orders from Etsy for that window.",
              "path": "Orders > Sync Orders",
              "steps": [
                "Orders",
                "Sync Orders"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": "orders_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-sync-orders"
            },
            {
              "slug": "sync-date-presets",
              "name": "Sync date presets",
              "what": "Syncs the last 7, 30, 90, 180 or 365 days from Etsy in one click.",
              "path": "Orders > Sync Orders > Last 30 days",
              "steps": [
                "Orders",
                "Sync Orders",
                "Last 30 days"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": "orders_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-sync-date-presets"
            },
            {
              "slug": "sync-range-calendar",
              "name": "Sync range calendar",
              "what": "Picks an exact start and end date to sync instead of a preset.",
              "path": "Orders > Sync Orders > (calendar) > Sync range",
              "steps": [
                "Orders",
                "Sync Orders",
                "(calendar)",
                "Sync range"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": "orders_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-sync-range-calendar"
            },
            {
              "slug": "no-cogs",
              "name": "No COGS",
              "what": "Toggles the list down to only the orders that have no cost of goods set.",
              "path": "Orders > No COGS",
              "steps": [
                "Orders",
                "No COGS"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-no-cogs"
            },
            {
              "slug": "sync-printify",
              "name": "Sync Printify",
              "what": "Matches your orders to Printify orders and pulls their costs and tracking.",
              "path": "Orders > Sync Printify",
              "steps": [
                "Orders",
                "Sync Printify"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "Printify connected",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sync-printify"
            },
            {
              "slug": "import-cogs",
              "name": "Import COGs",
              "what": "Opens the spreadsheet importer for bulk cost of goods entry.",
              "path": "Orders > Import COGs",
              "steps": [
                "Orders",
                "Import COGs"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-import-cogs"
            }
          ]
        },
        {
          "slug": "orders-filter-bar",
          "name": "Filter bar",
          "features": [
            {
              "slug": "date-range",
              "name": "Date Range",
              "what": "Limits the list to orders from the last 7, 30 or 60 days.",
              "path": "Orders > Date Range",
              "steps": [
                "Orders",
                "Date Range"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-date-range"
            },
            {
              "slug": "custom-dates",
              "name": "Custom dates",
              "what": "Opens a calendar to pick an exact from and to date for the list.",
              "path": "Orders > Custom dates",
              "steps": [
                "Orders",
                "Custom dates"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-custom-dates"
            },
            {
              "slug": "fulfilled",
              "name": "Fulfilled",
              "what": "Shows only fulfilled or only unfulfilled orders.",
              "path": "Orders > Fulfilled",
              "steps": [
                "Orders",
                "Fulfilled"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-fulfilled"
            },
            {
              "slug": "shipped",
              "name": "Shipped",
              "what": "Shows only physical orders that have shipped, or only those that have not.",
              "path": "Orders > Shipped",
              "steps": [
                "Orders",
                "Shipped"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-shipped"
            },
            {
              "slug": "paid",
              "name": "Paid",
              "what": "Shows only paid or only unpaid orders.",
              "path": "Orders > Paid",
              "steps": [
                "Orders",
                "Paid"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-paid"
            },
            {
              "slug": "location",
              "name": "Location",
              "what": "Splits the list into US only or non-US orders.",
              "path": "Orders > Location",
              "steps": [
                "Orders",
                "Location"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-location"
            },
            {
              "slug": "message",
              "name": "Message",
              "what": "Shows only orders that carry a buyer message, or only those that do not.",
              "path": "Orders > Message",
              "steps": [
                "Orders",
                "Message"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-message"
            },
            {
              "slug": "gift",
              "name": "Gift",
              "what": "Shows only orders the buyer marked as a gift, or only those they did not.",
              "path": "Orders > Gift",
              "steps": [
                "Orders",
                "Gift"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gift"
            },
            {
              "slug": "type",
              "name": "Type",
              "what": "Splits the list into physical, digital or multi-item orders.",
              "path": "Orders > Type",
              "steps": [
                "Orders",
                "Type"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-type"
            },
            {
              "slug": "urgency",
              "name": "Urgency",
              "what": "Filters by time left to ship: overdue, 1 day left, 2 days left or 2+ days.",
              "path": "Orders > Urgency",
              "steps": [
                "Orders",
                "Urgency"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-urgency"
            },
            {
              "slug": "tracking",
              "name": "Tracking",
              "what": "Filters by supplier tracking state: no tracking, awaiting tracking, tracking ready or fulfilled.",
              "path": "Orders > Tracking",
              "steps": [
                "Orders",
                "Tracking"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-tracking"
            },
            {
              "slug": "status",
              "name": "Status",
              "what": "Filters by order state, including cancelled only, refunded only, payment processing only, and the matching hide options.",
              "path": "Orders > Status",
              "steps": [
                "Orders",
                "Status"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-status"
            },
            {
              "slug": "recently-refunded",
              "name": "Recently Refunded",
              "what": "Shows refunded orders ordered by when the refund was issued rather than when the order was placed.",
              "path": "Orders > Status > Recently Refunded",
              "steps": [
                "Orders",
                "Status",
                "Recently Refunded"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-recently-refunded"
            },
            {
              "slug": "fulfilled-via",
              "name": "Fulfilled via",
              "what": "Shows only the orders fulfilled through Printify.",
              "path": "Orders > Fulfilled via > Printify",
              "steps": [
                "Orders",
                "Fulfilled via",
                "Printify"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-fulfilled-via"
            },
            {
              "slug": "clear-2",
              "name": "Clear",
              "what": "Drops every active filter at once and reloads the full list.",
              "path": "Orders > Clear",
              "steps": [
                "Orders",
                "Clear"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-clear-2"
            },
            {
              "slug": "filter-deep-links",
              "name": "Filter deep links",
              "what": "The page reads shipped, paid, us, message, gift, digital, shipped_physical, days_remaining, supplier_status, order_status_filter, fulfilled_via, date_from, date_to, days, shop_id and search or q from the URL so a filtered view can be linked to.",
              "path": "Orders > (URL query string)",
              "steps": [
                "Orders",
                "(URL query string)"
              ],
              "url": "https://eto.tools/dashboard/orders/?order_status_filter=refunded_recent",
              "requires": null,
              "api_operation_id": "orders_list",
              "anchor": "https://eto.tools/dev/docs/#feat-filter-deep-links"
            },
            {
              "slug": "order-drawer-deep-link",
              "name": "Order drawer deep link",
              "what": "A drawer query parameter opens that order detail drawer as soon as the page paints.",
              "path": "Orders > (URL query string)",
              "steps": [
                "Orders",
                "(URL query string)"
              ],
              "url": "https://eto.tools/dashboard/orders/?drawer={receipt_id}",
              "requires": null,
              "api_operation_id": "order_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-order-drawer-deep-link"
            }
          ]
        },
        {
          "slug": "orders-list-counts-and-paging",
          "name": "List, counts and paging",
          "features": [
            {
              "slug": "status-count-pills",
              "name": "Status count pills",
              "what": "Counts orders that are paid and not refunded or cancelled, paid and not refunded, paid and not cancelled, just paid, unpaid, and cancelled or refunded.",
              "path": "Orders > (pill row under the filters)",
              "steps": [
                "Orders",
                "(pill row under the filters)"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-status-count-pills"
            },
            {
              "slug": "top-summary-bar",
              "name": "Top summary bar",
              "what": "Shows the total order count, page count and the date span of the orders on screen.",
              "path": "Orders > (bar above the list)",
              "steps": [
                "Orders",
                "(bar above the list)"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-top-summary-bar"
            },
            {
              "slug": "top-page-arrows",
              "name": "Top page arrows",
              "what": "Steps to the previous or next page from the bar above the list.",
              "path": "Orders > (bar above the list) > arrows",
              "steps": [
                "Orders",
                "(bar above the list)",
                "arrows"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-top-page-arrows"
            },
            {
              "slug": "pagination",
              "name": "Pagination",
              "what": "Steps through pages from the bottom of the list and shows which range of orders is on screen.",
              "path": "Orders > Previous / Next",
              "steps": [
                "Orders",
                "Previous / Next"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": "orders_list",
              "anchor": "https://eto.tools/dev/docs/#feat-pagination"
            },
            {
              "slug": "reconcile-bar",
              "name": "Reconcile bar",
              "what": "Reports the background check against Etsy for recent order changes, and can be stopped.",
              "path": "Orders > Checking recent changes with Etsy...",
              "steps": [
                "Orders",
                "Checking recent changes with Etsy..."
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-reconcile-bar"
            },
            {
              "slug": "no-orders-found",
              "name": "No orders found",
              "what": "The empty state shown when the current filters match nothing.",
              "path": "Orders > (empty list)",
              "steps": [
                "Orders",
                "(empty list)"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-no-orders-found"
            },
            {
              "slug": "no-store-connected",
              "name": "No Store Connected",
              "what": "The empty state with a Connect Store button, shown when you have no Etsy store attached.",
              "path": "Orders > Connect Store",
              "steps": [
                "Orders",
                "Connect Store"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-no-store-connected"
            }
          ]
        },
        {
          "slug": "orders-order-row",
          "name": "Order row",
          "features": [
            {
              "slug": "profit-flow-chips",
              "name": "Profit flow chips",
              "what": "Shows Subtotal, Fees, Gross Profit, COG, Net Profit and, when refunded, Refunded and Final Net on the row itself.",
              "path": "Orders > (order row) > profit chips",
              "steps": [
                "Orders",
                "(order row)",
                "profit chips"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-profit-flow-chips"
            },
            {
              "slug": "profit-chip-popover",
              "name": "Profit chip popover",
              "what": "Clicking a chip opens the line-by-line breakdown behind that number.",
              "path": "Orders > (order row) > Fees",
              "steps": [
                "Orders",
                "(order row)",
                "Fees"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-profit-chip-popover"
            },
            {
              "slug": "cog-inline-input",
              "name": "COG inline input",
              "what": "Types the cost of goods for the item straight into the row without opening the order.",
              "path": "Orders > (order row) > COG",
              "steps": [
                "Orders",
                "(order row)",
                "COG"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-cog-inline-input"
            },
            {
              "slug": "sku-inline-edit",
              "name": "SKU inline edit",
              "what": "Edits and saves the SKU for the item from the row, with the full Eto SKU shown when Etsy truncates it.",
              "path": "Orders > (order row) > SKU",
              "steps": [
                "Orders",
                "(order row)",
                "SKU"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sku-inline-edit"
            },
            {
              "slug": "supplier-picker",
              "name": "Supplier picker",
              "what": "Assigns a supplier to the listing from the row, for the store or for that product.",
              "path": "Orders > (order row) > Supplier",
              "steps": [
                "Orders",
                "(order row)",
                "Supplier"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-picker"
            },
            {
              "slug": "copy-tracking",
              "name": "Copy tracking",
              "what": "Copies the row tracking number to the clipboard.",
              "path": "Orders > (order row) > (copy icon)",
              "steps": [
                "Orders",
                "(order row)",
                "(copy icon)"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy-tracking"
            },
            {
              "slug": "tracking-status-help",
              "name": "Tracking status help",
              "what": "Opens the legend explaining No Tracking, Awaiting Tracking, Tracking Ready and Fulfilled.",
              "path": "Orders > (order row) > ?",
              "steps": [
                "Orders",
                "(order row)",
                "?"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-tracking-status-help"
            },
            {
              "slug": "row-indicators",
              "name": "Row indicators",
              "what": "Marks orders that carry a buyer Message, are a Gift, or include Custom personalisation.",
              "path": "Orders > (order row) > Message",
              "steps": [
                "Orders",
                "(order row)",
                "Message"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-row-indicators"
            },
            {
              "slug": "ship-by-countdown",
              "name": "Ship by countdown",
              "what": "Shows days, hours and minutes left to ship, or how long the order is overdue.",
              "path": "Orders > (order row) > Ship by",
              "steps": [
                "Orders",
                "(order row)",
                "Ship by"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ship-by-countdown"
            }
          ]
        },
        {
          "slug": "orders-order-detail-drawer",
          "name": "Order detail drawer",
          "features": [
            {
              "slug": "overview-tab",
              "name": "Overview tab",
              "what": "Lists receipt id, type, order date, store, buyer, payment method, paid and shipped flags, gift flag and the full money breakdown down to refunds and adjusted total.",
              "path": "Orders > (order row) > Overview",
              "steps": [
                "Orders",
                "(order row)",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": "order_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-overview-tab"
            },
            {
              "slug": "edit-buyer-field",
              "name": "Edit buyer field",
              "what": "Edits a buyer detail such as name or address line in place from the Overview tab.",
              "path": "Orders > (order row) > Overview > (pencil icon)",
              "steps": [
                "Orders",
                "(order row)",
                "Overview",
                "(pencil icon)"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-edit-buyer-field"
            },
            {
              "slug": "items-tab",
              "name": "Items tab",
              "what": "Lists each item with variations, quantity, SKU, price and shipping.",
              "path": "Orders > (order row) > Items",
              "steps": [
                "Orders",
                "(order row)",
                "Items"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": "order_transactions",
              "anchor": "https://eto.tools/dev/docs/#feat-items-tab"
            },
            {
              "slug": "total-cost",
              "name": "Total Cost",
              "what": "Records one cost of goods figure for an item, including its shipping and fees.",
              "path": "Orders > (order row) > Items > Total Cost",
              "steps": [
                "Orders",
                "(order row)",
                "Items",
                "Total Cost"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-total-cost"
            },
            {
              "slug": "enter-per-unit-costs",
              "name": "Enter per-unit costs",
              "what": "Switches a multi-quantity item to one cost box per unit and totals them for you.",
              "path": "Orders > (order row) > Items > Enter per-unit costs",
              "steps": [
                "Orders",
                "(order row)",
                "Items",
                "Enter per-unit costs"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-enter-per-unit-costs"
            },
            {
              "slug": "use-single-total",
              "name": "Use single total",
              "what": "Collapses per-unit costs back to a single total for the item.",
              "path": "Orders > (order row) > Items > Use single total",
              "steps": [
                "Orders",
                "(order row)",
                "Items",
                "Use single total"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-use-single-total"
            },
            {
              "slug": "tracking-tab",
              "name": "Tracking tab",
              "what": "Shows the tracking state, Printify tracking, supplier tracking entries grouped by the link they came from, and Etsy shipments.",
              "path": "Orders > (order row) > Tracking",
              "steps": [
                "Orders",
                "(order row)",
                "Tracking"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-tracking-tab"
            },
            {
              "slug": "submit-to-etsy",
              "name": "Submit to Etsy",
              "what": "Sends a supplier tracking entry to Etsy as the shipment for this order, with an optional buyer message and a self-notification toggle.",
              "path": "Orders > (order row) > Tracking > Submit to Etsy",
              "steps": [
                "Orders",
                "(order row)",
                "Tracking",
                "Submit to Etsy"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": "shop_order_tracking",
              "anchor": "https://eto.tools/dev/docs/#feat-submit-to-etsy"
            },
            {
              "slug": "manual-submit",
              "name": "Manual Submit",
              "what": "Types your own tracking number and carrier and submits it to Etsy.",
              "path": "Orders > (order row) > Tracking > Submit your own tracking to Etsy",
              "steps": [
                "Orders",
                "(order row)",
                "Tracking",
                "Submit your own tracking to Etsy"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": "shop_order_tracking",
              "anchor": "https://eto.tools/dev/docs/#feat-manual-submit"
            },
            {
              "slug": "delete-tracking-entry",
              "name": "Delete tracking entry",
              "what": "Removes a supplier tracking entry and its history from the order.",
              "path": "Orders > (order row) > Tracking > (x on an entry)",
              "steps": [
                "Orders",
                "(order row)",
                "Tracking",
                "(x on an entry)"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-tracking-entry"
            },
            {
              "slug": "shipping-tab",
              "name": "Shipping tab",
              "what": "Shows the shipping address, email, phone and SKU as copyable rows, plus supplier tracking and Etsy shipments.",
              "path": "Orders > (order row) > Shipping",
              "steps": [
                "Orders",
                "(order row)",
                "Shipping"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-shipping-tab"
            },
            {
              "slug": "copy-all",
              "name": "Copy All",
              "what": "Copies the whole shipping address as one block.",
              "path": "Orders > (order row) > Shipping > Copy All",
              "steps": [
                "Orders",
                "(order row)",
                "Shipping",
                "Copy All"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy-all"
            },
            {
              "slug": "printify-gelato-format",
              "name": "Printify / Gelato Format",
              "what": "Copies a US address already laid out the way Printify and Gelato expect it.",
              "path": "Orders > (order row) > Shipping > Copy Address",
              "steps": [
                "Orders",
                "(order row)",
                "Shipping",
                "Copy Address"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "US order",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-printify-gelato-format"
            },
            {
              "slug": "payment-tab",
              "name": "Payment tab",
              "what": "Shows the price breakdown, payment info and every refund on the order.",
              "path": "Orders > (order row) > Payment",
              "steps": [
                "Orders",
                "(order row)",
                "Payment"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": "order_payments",
              "anchor": "https://eto.tools/dev/docs/#feat-payment-tab"
            },
            {
              "slug": "messages-tab",
              "name": "Messages tab",
              "what": "Shows the gift information and the buyer message and personalisation text.",
              "path": "Orders > (order row) > Messages",
              "steps": [
                "Orders",
                "(order row)",
                "Messages"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-messages-tab"
            },
            {
              "slug": "product-tab",
              "name": "Product tab",
              "what": "Shows the live listing behind the item: images, videos, title, description, details, personalisation, variations, tags and materials.",
              "path": "Orders > (order row) > Product",
              "steps": [
                "Orders",
                "(order row)",
                "Product"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": "listing_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-product-tab"
            },
            {
              "slug": "product-source-link",
              "name": "Product Source Link",
              "what": "Saves the supplier or AliExpress URL you buy this product from.",
              "path": "Orders > (order row) > Product > Product Source Link",
              "steps": [
                "Orders",
                "(order row)",
                "Product",
                "Product Source Link"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-product-source-link"
            },
            {
              "slug": "notes-tab",
              "name": "Notes tab",
              "what": "Keeps a free-text note against the order and saves it as you type.",
              "path": "Orders > (order row) > Notes",
              "steps": [
                "Orders",
                "(order row)",
                "Notes"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-notes-tab"
            },
            {
              "slug": "printify-tab",
              "name": "Printify tab",
              "what": "Connects the Etsy order to a Printify order, or shows and disconnects the one already linked.",
              "path": "Orders > (order row) > Printify",
              "steps": [
                "Orders",
                "(order row)",
                "Printify"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "Printify connected",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-printify-tab"
            }
          ]
        },
        {
          "slug": "orders-supplier-sharing-and-export",
          "name": "Supplier sharing and export",
          "features": [
            {
              "slug": "share-with-supplier",
              "name": "Share with Supplier",
              "what": "Creates a public link that shows a supplier only the orders matching your current filters.",
              "path": "Orders > Share > Create Link",
              "steps": [
                "Orders",
                "Share",
                "Create Link"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-share-with-supplier"
            },
            {
              "slug": "link-name",
              "name": "Link Name",
              "what": "Names the supplier link so you can tell it apart later.",
              "path": "Orders > Share > Link Name",
              "steps": [
                "Orders",
                "Share",
                "Link Name"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-link-name"
            },
            {
              "slug": "expires",
              "name": "Expires",
              "what": "Sets the supplier link to expire after 24h, 7d, 30d, or never.",
              "path": "Orders > Share > Expires",
              "steps": [
                "Orders",
                "Share",
                "Expires"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-expires"
            },
            {
              "slug": "download-csv",
              "name": "Download CSV",
              "what": "Exports the currently filtered orders as a CSV file.",
              "path": "Orders > Share > Download CSV",
              "steps": [
                "Orders",
                "Share",
                "Download CSV"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-download-csv"
            },
            {
              "slug": "csv-columns",
              "name": "CSV Columns",
              "what": "Chooses which columns the CSV includes, with select all and deselect all.",
              "path": "Orders > Share > (gear icon)",
              "steps": [
                "Orders",
                "Share",
                "(gear icon)"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-csv-columns"
            },
            {
              "slug": "manage-links-2",
              "name": "Manage Links",
              "what": "Lists your active supplier links and the ones in the trash.",
              "path": "Orders > (link icon) > Active",
              "steps": [
                "Orders",
                "(link icon)",
                "Active"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-manage-links-2"
            },
            {
              "slug": "link-trash",
              "name": "Link trash",
              "what": "Holds deleted supplier links so they can be restored or removed permanently.",
              "path": "Orders > (link icon) > Trash",
              "steps": [
                "Orders",
                "(link icon)",
                "Trash"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-link-trash"
            }
          ]
        },
        {
          "slug": "orders-cogs-import",
          "name": "COGs import",
          "features": [
            {
              "slug": "upload-file",
              "name": "Upload File",
              "what": "Takes a CSV or Excel sheet of product costs as the first import step.",
              "path": "Orders > Import COGs",
              "steps": [
                "Orders",
                "Import COGs"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-upload-file"
            },
            {
              "slug": "currency",
              "name": "Currency",
              "what": "Says which currency the sheet is in and sets the rate to your store currency.",
              "path": "Orders > Import COGs > Currency",
              "steps": [
                "Orders",
                "Import COGs",
                "Currency"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-currency"
            },
            {
              "slug": "select-store",
              "name": "Select Store",
              "what": "Picks which store the imported costs belong to.",
              "path": "Orders > Import COGs > Select Store",
              "steps": [
                "Orders",
                "Import COGs",
                "Select Store"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-store"
            },
            {
              "slug": "preview-matches",
              "name": "Preview Matches",
              "what": "Shows which sheet rows matched which orders before anything is written.",
              "path": "Orders > Import COGs > Preview Matches",
              "steps": [
                "Orders",
                "Import COGs",
                "Preview Matches"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-preview-matches"
            }
          ]
        },
        {
          "slug": "orders-supplier-link-page-public",
          "name": "Supplier link page (public)",
          "features": [
            {
              "slug": "supplier-order-list",
              "name": "Supplier order list",
              "what": "The page your supplier opens from a share link, showing only the orders you shared and no seller data.",
              "path": "Orders > Share > Create Link > (open the link)",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-order-list"
            },
            {
              "slug": "supplier-search",
              "name": "Supplier search",
              "what": "Searches the shared orders by order number, name, SKU, product or tracking.",
              "path": "Orders > Share > Create Link > (open the link) > Search",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)",
                "Search"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-search"
            },
            {
              "slug": "supplier-status-tabs",
              "name": "Supplier status tabs",
              "what": "Switches between pending, overdue, done and all shared orders.",
              "path": "Orders > Share > Create Link > (open the link) > pending",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)",
                "pending"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-status-tabs"
            },
            {
              "slug": "supplier-filters",
              "name": "Supplier filters",
              "what": "Narrows the shared list by country and by product.",
              "path": "Orders > Share > Create Link > (open the link) > (country select)",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)",
                "(country select)"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-filters"
            },
            {
              "slug": "supplier-sort",
              "name": "Supplier sort",
              "what": "Orders the shared list by ship date, order value, order date, quantity or buyer name, in either direction.",
              "path": "Orders > Share > Create Link > (open the link) > Ship date",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)",
                "Ship date"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-sort"
            },
            {
              "slug": "group-by-product",
              "name": "Group by product",
              "what": "Groups the shared orders under the product they are for.",
              "path": "Orders > Share > Create Link > (open the link) > Group by product",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)",
                "Group by product"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-group-by-product"
            },
            {
              "slug": "paste-tracking",
              "name": "Paste tracking",
              "what": "Bulk-fills tracking numbers by pasting one order number and tracking number per line.",
              "path": "Orders > Share > Create Link > (open the link) > Paste tracking",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)",
                "Paste tracking"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-paste-tracking"
            },
            {
              "slug": "supplier-export-csv",
              "name": "Supplier export CSV",
              "what": "Downloads the shared order list as a CSV.",
              "path": "Orders > Share > Create Link > (open the link) > Export CSV",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)",
                "Export CSV"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-export-csv"
            },
            {
              "slug": "supplier-bulk-actions",
              "name": "Supplier bulk actions",
              "what": "With rows selected, marks them done or not done, copies their addresses, or exports just those rows.",
              "path": "Orders > Share > Create Link > (open the link) > Mark done",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)",
                "Mark done"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-bulk-actions"
            },
            {
              "slug": "supplier-save-bar",
              "name": "Supplier save bar",
              "what": "Holds unsaved tracking edits and writes them back with Save or drops them with Discard.",
              "path": "Orders > Share > Create Link > (open the link) > Save",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)",
                "Save"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-save-bar"
            },
            {
              "slug": "supplier-keyboard-shortcuts",
              "name": "Supplier keyboard shortcuts",
              "what": "Cmd or Ctrl plus S saves pending edits, the slash key jumps to search, and Escape closes the paste dialog.",
              "path": "Orders > Share > Create Link > (open the link)",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-keyboard-shortcuts"
            },
            {
              "slug": "supplier-display-controls",
              "name": "Supplier display controls",
              "what": "Switches to compact rows, changes the text size, flips the theme, or switches the page between English and Chinese.",
              "path": "Orders > Share > Create Link > (open the link) > A+",
              "steps": [
                "Orders",
                "Share",
                "Create Link",
                "(open the link)",
                "A+"
              ],
              "url": "https://eto.tools/supplier/{token}/",
              "requires": "share link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-supplier-display-controls"
            }
          ]
        }
      ]
    },
    {
      "slug": "finance",
      "name": "Finance",
      "url": "https://eto.tools/dashboard/finances/",
      "summary": "Your Etsy money by day or date range: balance, payouts, sales, fees, ads, refunds, COGS and profit, with the ledger behind every figure.",
      "anchor": "https://eto.tools/dev/docs/#where-finance",
      "markdown": "https://eto.tools/dev/docs/where/finance.md",
      "sections": [
        {
          "slug": "finance-first-time-setup",
          "name": "First-time setup",
          "features": [
            {
              "slug": "fetch-financial-data",
              "name": "Fetch Financial Data",
              "what": "Backfills a store ledger from Etsy so Finance has something to report on.",
              "path": "Finance > Fetch Financial Data",
              "steps": [
                "Finance",
                "Fetch Financial Data"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "connected store",
              "api_operation_id": "finance_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-fetch-financial-data"
            },
            {
              "slug": "backfill-window",
              "name": "Backfill window",
              "what": "Chooses how far back the first fetch goes: 30, 60, 90 or 120 days.",
              "path": "Finance > 120 days",
              "steps": [
                "Finance",
                "120 days"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-backfill-window"
            },
            {
              "slug": "set-up-later",
              "name": "Set up later",
              "what": "Skips setup for the stores still pending so the overlay stops blocking the page.",
              "path": "Finance > Set up later",
              "steps": [
                "Finance",
                "Set up later"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-set-up-later"
            },
            {
              "slug": "don-t-track",
              "name": "Don't track",
              "what": "Turns a store off for Finance, the same flag the Stores page toggle sets.",
              "path": "Finance > Don’t track",
              "steps": [
                "Finance",
                "Don’t track"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-don-t-track"
            },
            {
              "slug": "retry",
              "name": "Retry",
              "what": "Retries the backfill for a store whose first fetch failed.",
              "path": "Finance > Retry",
              "steps": [
                "Finance",
                "Retry"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "connected store",
              "api_operation_id": "finance_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-retry"
            },
            {
              "slug": "setup-notice",
              "name": "Setup notice",
              "what": "A strip naming the stores that are not tracked in Finance yet, with Set up and Dismiss.",
              "path": "Finance > Set up",
              "steps": [
                "Finance",
                "Set up"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-setup-notice"
            },
            {
              "slug": "set-up-skipped-stores",
              "name": "Set up skipped stores",
              "what": "Brings back the setup prompt for stores you dismissed earlier.",
              "path": "Finance > (gear icon) > Set up N skipped stores",
              "steps": [
                "Finance",
                "(gear icon)",
                "Set up N skipped stores"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-set-up-skipped-stores"
            }
          ]
        },
        {
          "slug": "finance-toolbar",
          "name": "Toolbar",
          "features": [
            {
              "slug": "store-selector",
              "name": "Store selector",
              "what": "Picks which store the page reports on, or All Stores to combine them.",
              "path": "Finance > (store name)",
              "steps": [
                "Finance",
                "(store name)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-selector"
            },
            {
              "slug": "all-stores-2",
              "name": "All Stores",
              "what": "Combines every unlocked store into one set of figures, converted into your target currency.",
              "path": "Finance > (store name) > All Stores",
              "steps": [
                "Finance",
                "(store name)",
                "All Stores"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-stores-2"
            },
            {
              "slug": "date-button",
              "name": "Date button",
              "what": "Opens the calendar for picking a single day or a date range to report on.",
              "path": "Finance > (date label)",
              "steps": [
                "Finance",
                "(date label)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-date-button"
            },
            {
              "slug": "calendar-picker",
              "name": "Calendar picker",
              "what": "Tap one day for a day view or two days for a range, then Apply, or Clear to reset.",
              "path": "Finance > (date label) > Apply",
              "steps": [
                "Finance",
                "(date label)",
                "Apply"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-calendar-picker"
            },
            {
              "slug": "export",
              "name": "Export",
              "what": "Exports every ledger row in the selected window as a file.",
              "path": "Finance > Export",
              "steps": [
                "Finance",
                "Export"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-export"
            },
            {
              "slug": "export-csv",
              "name": "Export CSV",
              "what": "Downloads the window in Etsy statement layout: date, type, title, info, currency, amount, fees and taxes, net and tax details.",
              "path": "Finance > Export > CSV",
              "steps": [
                "Finance",
                "Export",
                "CSV"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-export-csv"
            },
            {
              "slug": "export-excel-workbook",
              "name": "Export Excel workbook",
              "what": "Downloads an .xlsx with real number columns and one sheet per store.",
              "path": "Finance > Export > Excel workbook",
              "steps": [
                "Finance",
                "Export",
                "Excel workbook"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-export-excel-workbook"
            },
            {
              "slug": "copy-json",
              "name": "Copy JSON",
              "what": "Copies the figures currently on screen to the clipboard as JSON.",
              "path": "Finance > (copy icon)",
              "steps": [
                "Finance",
                "(copy icon)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-copy-json"
            }
          ]
        },
        {
          "slug": "finance-lens-and-verification",
          "name": "Lens and verification",
          "features": [
            {
              "slug": "settled-2",
              "name": "Settled",
              "what": "Counts money on the day it actually moved.",
              "path": "Finance > Settled",
              "steps": [
                "Finance",
                "Settled"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-settled-2"
            },
            {
              "slug": "outcome-2",
              "name": "Outcome",
              "what": "Counts what each day of sales eventually turned out to be worth after refunds and cancellations.",
              "path": "Finance > Outcome",
              "steps": [
                "Finance",
                "Outcome"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-outcome-2"
            },
            {
              "slug": "verification-strip",
              "name": "Verification strip",
              "what": "Reports whether the window on screen has been checked against Etsy, and repairs missing entries when it finds them.",
              "path": "Finance > (strip above the figures)",
              "steps": [
                "Finance",
                "(strip above the figures)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-verification-strip"
            },
            {
              "slug": "try-again",
              "name": "Try again",
              "what": "Re-runs verification for stores that could not be checked.",
              "path": "Finance > (verification strip) > Try again",
              "steps": [
                "Finance",
                "(verification strip)",
                "Try again"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-try-again"
            }
          ]
        },
        {
          "slug": "finance-settings-panel",
          "name": "Settings panel",
          "features": [
            {
              "slug": "refresh-today",
              "name": "Refresh Today",
              "what": "Re-fetches today from Etsy for the selected store and repaints the day.",
              "path": "Finance > (gear icon) > Today",
              "steps": [
                "Finance",
                "(gear icon)",
                "Today"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "connected store",
              "api_operation_id": "finance_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-today"
            },
            {
              "slug": "refresh-previous-7-days",
              "name": "Refresh Previous 7 Days",
              "what": "Re-fetches the last seven days from Etsy.",
              "path": "Finance > (gear icon) > Previous 7 Days",
              "steps": [
                "Finance",
                "(gear icon)",
                "Previous 7 Days"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "connected store",
              "api_operation_id": "finance_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-previous-7-days"
            },
            {
              "slug": "refresh-previous-30-days",
              "name": "Refresh Previous 30 Days",
              "what": "Re-fetches the last thirty days from Etsy.",
              "path": "Finance > (gear icon) > Previous 30 Days",
              "steps": [
                "Finance",
                "(gear icon)",
                "Previous 30 Days"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "connected store",
              "api_operation_id": "finance_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-previous-30-days"
            },
            {
              "slug": "refresh-range",
              "name": "Refresh Range",
              "what": "Opens a day-by-day picker so you can re-fetch only the days you choose.",
              "path": "Finance > (gear icon) > Range...",
              "steps": [
                "Finance",
                "(gear icon)",
                "Range..."
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "connected store",
              "api_operation_id": "finance_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-range"
            },
            {
              "slug": "adjust-ad-spend-timing",
              "name": "Adjust ad spend timing",
              "what": "Moves ad charges onto the day they were incurred rather than the day Etsy billed them.",
              "path": "Finance > (gear icon) > Adjust ad spend timing",
              "steps": [
                "Finance",
                "(gear icon)",
                "Adjust ad spend timing"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "single store selected",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-adjust-ad-spend-timing"
            },
            {
              "slug": "remove-all-unpaid-sales-from-data",
              "name": "Remove all unpaid sales from data",
              "what": "Drops cancelled orders that were never paid out of every figure on the page.",
              "path": "Finance > (gear icon) > Remove all unpaid sales from data",
              "steps": [
                "Finance",
                "(gear icon)",
                "Remove all unpaid sales from data"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-remove-all-unpaid-sales-from-data"
            },
            {
              "slug": "convert-currency",
              "name": "Convert currency",
              "what": "Shows every figure in another currency at a rate you set.",
              "path": "Finance > (gear icon) > Convert currency",
              "steps": [
                "Finance",
                "(gear icon)",
                "Convert currency"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-convert-currency"
            },
            {
              "slug": "configure-rate",
              "name": "Configure rate",
              "what": "Sets the target currency code and the multiplier used for conversion.",
              "path": "Finance > (gear icon) > Configure rate",
              "steps": [
                "Finance",
                "(gear icon)",
                "Configure rate"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-configure-rate"
            },
            {
              "slug": "delete-all-finance-data",
              "name": "Delete all finance data",
              "what": "Wipes every ledger entry, fetch window, profit snapshot and cached day, after you type DELETE.",
              "path": "Finance > (gear icon) > Delete all finance data",
              "steps": [
                "Finance",
                "(gear icon)",
                "Delete all finance data"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-all-finance-data"
            }
          ]
        },
        {
          "slug": "finance-currency-rates-and-subscriptions",
          "name": "Currency rates and subscriptions",
          "features": [
            {
              "slug": "currency-settings",
              "name": "Currency settings",
              "what": "Opens the settings dialog used to combine stores that bill in different currencies.",
              "path": "Finance > (gear icon) > Currency settings",
              "steps": [
                "Finance",
                "(gear icon)",
                "Currency settings"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "two or more stores",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-currency-settings"
            },
            {
              "slug": "target-currency",
              "name": "Target currency",
              "what": "Sets the single currency that All Stores figures are reported in.",
              "path": "Finance > (gear icon) > Currency settings > Target currency",
              "steps": [
                "Finance",
                "(gear icon)",
                "Currency settings",
                "Target currency"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-target-currency"
            },
            {
              "slug": "store-rates",
              "name": "Store rates",
              "what": "Sets the exchange rate used for each store currency.",
              "path": "Finance > (gear icon) > Currency settings > Store rates",
              "steps": [
                "Finance",
                "(gear icon)",
                "Currency settings",
                "Store rates"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-rates"
            },
            {
              "slug": "auto-fill-rates-2",
              "name": "Auto-fill rates",
              "what": "Fills in the per-store exchange rates for you.",
              "path": "Finance > (gear icon) > Currency settings > Auto-fill rates",
              "steps": [
                "Finance",
                "(gear icon)",
                "Currency settings",
                "Auto-fill rates"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-auto-fill-rates-2"
            },
            {
              "slug": "manage-subscriptions",
              "name": "Manage subscriptions",
              "what": "Records the tools and services you pay for outside Etsy so they count against All Stores profit.",
              "path": "Finance > (gear icon) > Manage subscriptions",
              "steps": [
                "Finance",
                "(gear icon)",
                "Manage subscriptions"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance_software_expenses",
              "anchor": "https://eto.tools/dev/docs/#feat-manage-subscriptions"
            },
            {
              "slug": "add-subscription",
              "name": "Add subscription",
              "what": "Adds a recurring or one-time software cost with a name, amount, currency, frequency and start date.",
              "path": "Finance > (gear icon) > Manage subscriptions > Add",
              "steps": [
                "Finance",
                "(gear icon)",
                "Manage subscriptions",
                "Add"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance_software_expenses",
              "anchor": "https://eto.tools/dev/docs/#feat-add-subscription"
            }
          ]
        },
        {
          "slug": "finance-day-view",
          "name": "Day view",
          "features": [
            {
              "slug": "current-balance",
              "name": "Current Balance",
              "what": "Your Etsy payment account balance at the end of the selected day.",
              "path": "Finance > Current Balance",
              "steps": [
                "Finance",
                "Current Balance"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "connected store",
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-current-balance"
            },
            {
              "slug": "paid-out",
              "name": "Paid Out",
              "what": "What Etsy deposited to your bank on the selected day.",
              "path": "Finance > Paid Out",
              "steps": [
                "Finance",
                "Paid Out"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-paid-out"
            },
            {
              "slug": "sales-2",
              "name": "Sales",
              "what": "Gross sales taken on the day, and the number of sales behind it.",
              "path": "Finance > Sales",
              "steps": [
                "Finance",
                "Sales"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-sales-2"
            },
            {
              "slug": "orders-not-paid",
              "name": "Orders not paid",
              "what": "Orders placed on the day that never produced any ledger activity.",
              "path": "Finance > Orders not paid",
              "steps": [
                "Finance",
                "Orders not paid"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders-not-paid"
            },
            {
              "slug": "refunds-2",
              "name": "Refunds",
              "what": "Money refunded to buyers on the day.",
              "path": "Finance > Refunds",
              "steps": [
                "Finance",
                "Refunds"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-refunds-2"
            },
            {
              "slug": "cancelled",
              "name": "Cancelled",
              "what": "Value of orders cancelled on the day.",
              "path": "Finance > Cancelled",
              "steps": [
                "Finance",
                "Cancelled"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-cancelled"
            },
            {
              "slug": "recoupment",
              "name": "Recoupment",
              "what": "Money Etsy is recovering from your balance to cover a cancellation or refund.",
              "path": "Finance > Recoupment",
              "steps": [
                "Finance",
                "Recoupment"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-recoupment"
            },
            {
              "slug": "credits",
              "name": "Credits",
              "what": "Refund credits Etsy returned to you.",
              "path": "Finance > Credits",
              "steps": [
                "Finance",
                "Credits"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-credits"
            },
            {
              "slug": "subscription",
              "name": "Subscription",
              "what": "Etsy subscription charges falling in the window.",
              "path": "Finance > Subscription",
              "steps": [
                "Finance",
                "Subscription"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-subscription"
            },
            {
              "slug": "net-profit-3",
              "name": "Net Profit",
              "what": "Gross profit after cost of goods.",
              "path": "Finance > Net Profit",
              "steps": [
                "Finance",
                "Net Profit"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-net-profit-3"
            },
            {
              "slug": "cogs-3",
              "name": "COGS",
              "what": "Total cost of goods for the sales in the window, taken from the costs you entered on Orders.",
              "path": "Finance > COGS",
              "steps": [
                "Finance",
                "COGS"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-cogs-3"
            },
            {
              "slug": "gross-profit-2",
              "name": "Gross Profit",
              "what": "Sales minus Etsy fees and ads, before cost of goods.",
              "path": "Finance > Gross Profit",
              "steps": [
                "Finance",
                "Gross Profit"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-gross-profit-2"
            },
            {
              "slug": "fees-paid",
              "name": "Fees Paid",
              "what": "Every Etsy fee charged in the window.",
              "path": "Finance > Fees Paid",
              "steps": [
                "Finance",
                "Fees Paid"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-fees-paid"
            },
            {
              "slug": "ads-spent",
              "name": "Ads Spent",
              "what": "Etsy ads and offsite ads charged in the window.",
              "path": "Finance > Ads Spent",
              "steps": [
                "Finance",
                "Ads Spent"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-ads-spent"
            },
            {
              "slug": "metric-breakdown",
              "name": "Metric breakdown",
              "what": "Opens the line-by-line entries behind any card that carries the breakdown button.",
              "path": "Finance > Net Profit > (breakdown icon)",
              "steps": [
                "Finance",
                "Net Profit",
                "(breakdown icon)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-metric-breakdown"
            },
            {
              "slug": "balance-chart",
              "name": "Balance chart",
              "what": "Plots the running balance through the day against the selected metrics.",
              "path": "Finance > (chart under the cards)",
              "steps": [
                "Finance",
                "(chart under the cards)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-balance-chart"
            },
            {
              "slug": "chart-metric-toggles",
              "name": "Chart metric toggles",
              "what": "Turns Balance, Net Profit, Gross sales, COGS, Fees paid, Ads spent, Refunds, Cancelled, Payout and Sales lines on or off.",
              "path": "Finance > (chart) > Net Profit",
              "steps": [
                "Finance",
                "(chart)",
                "Net Profit"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-chart-metric-toggles"
            },
            {
              "slug": "transaction-groups",
              "name": "Transaction groups",
              "what": "Lists every ledger entry for the day, grouped into the sale, fee and refund set it belongs to.",
              "path": "Finance > (list under the chart)",
              "steps": [
                "Finance",
                "(list under the chart)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-transaction-groups"
            },
            {
              "slug": "saved-days",
              "name": "Saved days",
              "what": "Opens days already stored in your database that are older than the last seven, with a search box.",
              "path": "Finance > Saved days",
              "steps": [
                "Finance",
                "Saved days"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-saved-days"
            }
          ]
        },
        {
          "slug": "finance-range-summary",
          "name": "Range summary",
          "features": [
            {
              "slug": "all-7-days",
              "name": "All 7 Days",
              "what": "Switches from one day to a seven day summary of the same figures.",
              "path": "Finance > All 7 Days",
              "steps": [
                "Finance",
                "All 7 Days"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-all-7-days"
            },
            {
              "slug": "all-30-days",
              "name": "All 30 Days",
              "what": "Switches to a thirty day summary once those days are loaded.",
              "path": "Finance > All 30 Days",
              "steps": [
                "Finance",
                "All 30 Days"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-all-30-days"
            },
            {
              "slug": "range",
              "name": "Range",
              "what": "Picks a custom start and end day for the summary, saved days included.",
              "path": "Finance > Range",
              "steps": [
                "Finance",
                "Range"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-range"
            },
            {
              "slug": "trends-chart",
              "name": "Trends chart",
              "what": "Plots the selected metrics day by day across the chosen range.",
              "path": "Finance > (trends chart)",
              "steps": [
                "Finance",
                "(trends chart)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-trends-chart"
            },
            {
              "slug": "profit-per-product",
              "name": "Profit per product",
              "what": "Ranks listings over the range with sales, gross, fees, refunds, COGS, net and margin.",
              "path": "Finance > Profit per product",
              "steps": [
                "Finance",
                "Profit per product"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-profit-per-product"
            },
            {
              "slug": "products-view",
              "name": "Products view",
              "what": "Shows the range as one row per listing, and clicking a row opens that listing orders.",
              "path": "Finance > Profit per product > Products",
              "steps": [
                "Finance",
                "Profit per product",
                "Products"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-products-view"
            },
            {
              "slug": "all-transactions",
              "name": "All Transactions",
              "what": "Shows every transaction group in the range instead of the per-product rollup.",
              "path": "Finance > Profit per product > All Transactions",
              "steps": [
                "Finance",
                "Profit per product",
                "All Transactions"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-transactions"
            },
            {
              "slug": "issues-2",
              "name": "Issues",
              "what": "Lists the transaction groups that could not be categorised automatically so you can check them.",
              "path": "Finance > Profit per product > Issues",
              "steps": [
                "Finance",
                "Profit per product",
                "Issues"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-issues-2"
            },
            {
              "slug": "table-search",
              "name": "Table search",
              "what": "Filters the transaction or group table by description, type, date or amount.",
              "path": "Finance > Profit per product > All Transactions > Search transactions...",
              "steps": [
                "Finance",
                "Profit per product",
                "All Transactions",
                "Search transactions..."
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-table-search"
            },
            {
              "slug": "table-paging",
              "name": "Table paging",
              "what": "Steps through the transaction and group tables a page at a time.",
              "path": "Finance > Profit per product > Next",
              "steps": [
                "Finance",
                "Profit per product",
                "Next"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-table-paging"
            }
          ]
        },
        {
          "slug": "finance-all-stores-view",
          "name": "All Stores view",
          "features": [
            {
              "slug": "all-stores-tab",
              "name": "All Stores tab",
              "what": "Shows the combined figures for every selected store as one set of cards.",
              "path": "Finance > (store name) > All Stores > All Stores",
              "steps": [
                "Finance",
                "(store name)",
                "All Stores",
                "All Stores"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "two or more stores",
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-all-stores-tab"
            },
            {
              "slug": "per-store-tab",
              "name": "Per Store tab",
              "what": "Splits the same window back out into one row of figures per store.",
              "path": "Finance > (store name) > All Stores > Per Store",
              "steps": [
                "Finance",
                "(store name)",
                "All Stores",
                "Per Store"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "two or more stores",
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-per-store-tab"
            },
            {
              "slug": "software-expense",
              "name": "Software Expense",
              "what": "The subscriptions you logged, charged against the selected window.",
              "path": "Finance > (store name) > All Stores > Software Expense",
              "steps": [
                "Finance",
                "(store name)",
                "All Stores",
                "Software Expense"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "two or more stores",
              "api_operation_id": "finance_software_expenses",
              "anchor": "https://eto.tools/dev/docs/#feat-software-expense"
            },
            {
              "slug": "software-expenses-breakdown",
              "name": "Software expenses breakdown",
              "what": "Opens the individual subscription charges that make up the Software Expense figure.",
              "path": "Finance > Software Expense > (breakdown icon)",
              "steps": [
                "Finance",
                "Software Expense",
                "(breakdown icon)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": "finance_software_expenses",
              "anchor": "https://eto.tools/dev/docs/#feat-software-expenses-breakdown"
            },
            {
              "slug": "per-store-breakdown",
              "name": "Per-store breakdown",
              "what": "Lists each store gross profit and its own cards under the combined totals.",
              "path": "Finance > (store name) > All Stores > Per-store breakdown",
              "steps": [
                "Finance",
                "(store name)",
                "All Stores",
                "Per-store breakdown"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "two or more stores",
              "api_operation_id": "finance",
              "anchor": "https://eto.tools/dev/docs/#feat-per-store-breakdown"
            },
            {
              "slug": "multi-store-refresh",
              "name": "Multi-store refresh",
              "what": "Re-fetches every selected store from Etsy at once, with live per-store progress.",
              "path": "Finance > (store name) > All Stores > (gear icon) > Previous 7 Days",
              "steps": [
                "Finance",
                "(store name)",
                "All Stores",
                "(gear icon)",
                "Previous 7 Days"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": "two or more stores",
              "api_operation_id": "finance_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-multi-store-refresh"
            }
          ]
        }
      ]
    },
    {
      "slug": "stores",
      "name": "Stores",
      "url": "https://eto.tools/dashboard/stores/",
      "summary": "Connect Etsy shops to Eto and control what each one shows on the rest of the app.",
      "anchor": "https://eto.tools/dev/docs/#where-stores",
      "markdown": "https://eto.tools/dev/docs/where/stores.md",
      "sections": [
        {
          "slug": "stores-connecting-a-store",
          "name": "Connecting a store",
          "features": [
            {
              "slug": "add-store",
              "name": "Add store",
              "what": "Starts the Etsy OAuth flow and opens the connect panel with the authorisation link.",
              "path": "Stores > Add store",
              "steps": [
                "Stores",
                "Add store"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-store"
            },
            {
              "slug": "connect-your-etsy-store-panel",
              "name": "Connect your Etsy store panel",
              "what": "Shows the generated Etsy authorisation link and waits for Etsy to call back.",
              "path": "Stores > Add store > Connect your Etsy store",
              "steps": [
                "Stores",
                "Add store",
                "Connect your Etsy store"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-connect-your-etsy-store-panel"
            },
            {
              "slug": "copy-link",
              "name": "Copy link",
              "what": "Copies the Etsy authorisation URL to the clipboard and starts polling for the callback.",
              "path": "Stores > Add store > Copy link",
              "steps": [
                "Stores",
                "Add store",
                "Copy link"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy-link"
            },
            {
              "slug": "cancel-2",
              "name": "Cancel",
              "what": "Closes the connect panel and stops listening for the Etsy callback.",
              "path": "Stores > Add store > Cancel",
              "steps": [
                "Stores",
                "Add store",
                "Cancel"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-cancel-2"
            },
            {
              "slug": "connected-shop",
              "name": "Connected shop",
              "what": "Shows the shop name Etsy returned once the callback lands, then reloads the store list.",
              "path": "Stores > Add store > Connected shop",
              "steps": [
                "Stores",
                "Add store",
                "Connected shop"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-connected-shop"
            },
            {
              "slug": "store-connection-limit-warning",
              "name": "Store connection limit warning",
              "what": "Blocks a new connection and offers an upgrade when the plan store limit is already used up.",
              "path": "Stores > Add store",
              "steps": [
                "Stores",
                "Add store"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-connection-limit-warning"
            }
          ]
        },
        {
          "slug": "stores-store-list",
          "name": "Store list",
          "features": [
            {
              "slug": "your-stores",
              "name": "Your stores",
              "what": "Lists every connected shop as a card with its icon, shop id and active listing count.",
              "path": "Stores",
              "steps": [
                "Stores"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": "stores_list",
              "anchor": "https://eto.tools/dev/docs/#feat-your-stores"
            },
            {
              "slug": "refresh-from-etsy",
              "name": "Refresh from Etsy",
              "what": "Re-pulls the shop list from Etsy and updates the cards in place.",
              "path": "Stores > Refresh from Etsy",
              "steps": [
                "Stores",
                "Refresh from Etsy"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": "connected store",
              "api_operation_id": "store_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-from-etsy"
            },
            {
              "slug": "search-stores-3",
              "name": "Search stores",
              "what": "Filters the cards by shop name as you type; only appears once two or more stores are connected.",
              "path": "Stores > Search stores...",
              "steps": [
                "Stores",
                "Search stores..."
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-stores-3"
            },
            {
              "slug": "clear-search-2",
              "name": "Clear search",
              "what": "Empties the search field and shows every store again.",
              "path": "Stores > Search stores... > Clear search",
              "steps": [
                "Stores",
                "Search stores...",
                "Clear search"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-clear-search-2"
            },
            {
              "slug": "all",
              "name": "All",
              "what": "Shows every connected store and carries a live count.",
              "path": "Stores > All",
              "steps": [
                "Stores",
                "All"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all"
            },
            {
              "slug": "hidden",
              "name": "Hidden",
              "what": "Shows only stores that are hidden from at least one page or dashboard panel.",
              "path": "Stores > Hidden",
              "steps": [
                "Stores",
                "Hidden"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hidden"
            },
            {
              "slug": "select-all",
              "name": "Select all",
              "what": "Ticks every store currently on screen, so a filter or search narrows what gets selected.",
              "path": "Stores > Select all",
              "steps": [
                "Stores",
                "Select all"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all"
            }
          ]
        },
        {
          "slug": "stores-store-card",
          "name": "Store card",
          "features": [
            {
              "slug": "store-name-link",
              "name": "Store name link",
              "what": "Opens the per-store detail page; only clickable once details have been loaded.",
              "path": "Stores > store card > shop name",
              "steps": [
                "Stores",
                "store card",
                "shop name"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": null,
              "api_operation_id": "store_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-store-name-link"
            },
            {
              "slug": "load-details",
              "name": "Load details",
              "what": "Fetches the shop profile from Etsy for a store that has never been synced.",
              "path": "Stores > store card > Load details",
              "steps": [
                "Stores",
                "store card",
                "Load details"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": "connected store",
              "api_operation_id": "store_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-load-details"
            },
            {
              "slug": "refresh-store-details",
              "name": "Refresh store details",
              "what": "Re-fetches that one shop profile from Etsy and updates its card.",
              "path": "Stores > store card > refresh icon",
              "steps": [
                "Stores",
                "store card",
                "refresh icon"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": "connected store",
              "api_operation_id": "store_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-store-details"
            },
            {
              "slug": "disconnect-store",
              "name": "Disconnect store",
              "what": "Opens the disconnect confirmation for that store.",
              "path": "Stores > store card > close icon",
              "steps": [
                "Stores",
                "store card",
                "close icon"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-disconnect-store"
            },
            {
              "slug": "disconnect-store-modal",
              "name": "Disconnect store? modal",
              "what": "Confirms removing the store from Eto; the card disappears at once and the cascade runs in the background.",
              "path": "Stores > store card > close icon > Disconnect",
              "steps": [
                "Stores",
                "store card",
                "close icon",
                "Disconnect"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-disconnect-store-modal"
            },
            {
              "slug": "order-notifications",
              "name": "Order notifications",
              "what": "Switch that turns on a notification in Eto whenever that store takes an order.",
              "path": "Stores > store card > Order notifications",
              "steps": [
                "Stores",
                "store card",
                "Order notifications"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-order-notifications"
            },
            {
              "slug": "visibility",
              "name": "Visibility",
              "what": "Expands the per-store panel of switches that hide the shop from individual pages.",
              "path": "Stores > store card > Visibility",
              "steps": [
                "Stores",
                "store card",
                "Visibility"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-visibility"
            },
            {
              "slug": "hide-on-pages-orders",
              "name": "Hide on pages: Orders",
              "what": "Hides this store from the Orders page.",
              "path": "Stores > store card > Visibility > Hide on pages > Orders",
              "steps": [
                "Stores",
                "store card",
                "Visibility",
                "Hide on pages",
                "Orders"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-on-pages-orders"
            },
            {
              "slug": "hide-on-pages-finance",
              "name": "Hide on pages: Finance",
              "what": "Hides this store from the Finance page.",
              "path": "Stores > store card > Visibility > Hide on pages > Finance",
              "steps": [
                "Stores",
                "store card",
                "Visibility",
                "Hide on pages",
                "Finance"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-on-pages-finance"
            },
            {
              "slug": "hide-on-pages-listings",
              "name": "Hide on pages: Listings",
              "what": "Hides this store from the Listing Manager store chips.",
              "path": "Stores > store card > Visibility > Hide on pages > Listings",
              "steps": [
                "Stores",
                "store card",
                "Visibility",
                "Hide on pages",
                "Listings"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-on-pages-listings"
            },
            {
              "slug": "hide-on-dashboard-orders",
              "name": "Hide on dashboard: Orders",
              "what": "Hides this store from the dashboard order feeds.",
              "path": "Stores > store card > Visibility > Hide on dashboard > Orders",
              "steps": [
                "Stores",
                "store card",
                "Visibility",
                "Hide on dashboard",
                "Orders"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-on-dashboard-orders"
            },
            {
              "slug": "hide-on-dashboard-finances",
              "name": "Hide on dashboard: Finances",
              "what": "Hides this store from the dashboard finance figures.",
              "path": "Stores > store card > Visibility > Hide on dashboard > Finances",
              "steps": [
                "Stores",
                "store card",
                "Visibility",
                "Hide on dashboard",
                "Finances"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-on-dashboard-finances"
            },
            {
              "slug": "hide-on-dashboard-entire-store",
              "name": "Hide on dashboard: Entire store",
              "what": "Hides the store from the dashboard completely and locks the two dashboard sub-switches on.",
              "path": "Stores > store card > Visibility > Hide on dashboard > Entire store",
              "steps": [
                "Stores",
                "store card",
                "Visibility",
                "Hide on dashboard",
                "Entire store"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-on-dashboard-entire-store"
            }
          ]
        },
        {
          "slug": "stores-bulk-actions",
          "name": "Bulk actions",
          "features": [
            {
              "slug": "selected-count-bar",
              "name": "Selected count bar",
              "what": "Floating bar that appears as soon as one store card is ticked.",
              "path": "Stores > store card checkbox",
              "steps": [
                "Stores",
                "store card checkbox"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-selected-count-bar"
            },
            {
              "slug": "select-all-2",
              "name": "Select all",
              "what": "Selects every store that passes the current filter and search.",
              "path": "Stores > store card checkbox > Select all",
              "steps": [
                "Stores",
                "store card checkbox",
                "Select all"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all-2"
            },
            {
              "slug": "clear-3",
              "name": "Clear",
              "what": "Drops the whole selection.",
              "path": "Stores > store card checkbox > Clear",
              "steps": [
                "Stores",
                "store card checkbox",
                "Clear"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-clear-3"
            },
            {
              "slug": "notifications-on",
              "name": "Notifications on",
              "what": "Turns order notifications on for every selected store at once.",
              "path": "Stores > store card checkbox > Notifications on",
              "steps": [
                "Stores",
                "store card checkbox",
                "Notifications on"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-notifications-on"
            },
            {
              "slug": "notifications-off",
              "name": "Notifications off",
              "what": "Turns order notifications off for every selected store at once.",
              "path": "Stores > store card checkbox > Notifications off",
              "steps": [
                "Stores",
                "store card checkbox",
                "Notifications off"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-notifications-off"
            },
            {
              "slug": "visibility-menu",
              "name": "Visibility menu",
              "what": "Opens a menu that hides or shows every selected store on one page at a time.",
              "path": "Stores > store card checkbox > Visibility",
              "steps": [
                "Stores",
                "store card checkbox",
                "Visibility"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-visibility-menu"
            },
            {
              "slug": "hide-on-pages-rows",
              "name": "Hide on pages rows",
              "what": "Show and Hide buttons that set Orders, Finance or Listings visibility for the whole selection.",
              "path": "Stores > store card checkbox > Visibility > Hide on pages",
              "steps": [
                "Stores",
                "store card checkbox",
                "Visibility",
                "Hide on pages"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-on-pages-rows"
            },
            {
              "slug": "hide-on-dashboard-rows",
              "name": "Hide on dashboard rows",
              "what": "Show and Hide buttons that set dashboard Orders, Finances or Entire store visibility for the whole selection.",
              "path": "Stores > store card checkbox > Visibility > Hide on dashboard",
              "steps": [
                "Stores",
                "store card checkbox",
                "Visibility",
                "Hide on dashboard"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-on-dashboard-rows"
            }
          ]
        },
        {
          "slug": "stores-store-detail-page",
          "name": "Store detail page",
          "features": [
            {
              "slug": "load-store-stats",
              "name": "Load Store Stats",
              "what": "Fetches the shop profile, stats and shipping profiles from Etsy for a store with no data yet.",
              "path": "Stores > store card > shop name > Load Store Stats",
              "steps": [
                "Stores",
                "store card",
                "shop name",
                "Load Store Stats"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": "connected store",
              "api_operation_id": "store_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-load-store-stats"
            },
            {
              "slug": "refresh-2",
              "name": "Refresh",
              "what": "Re-pulls this shop profile from Etsy and reloads the page with the fresh figures.",
              "path": "Stores > store card > shop name > Refresh",
              "steps": [
                "Stores",
                "store card",
                "shop name",
                "Refresh"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": "connected store",
              "api_operation_id": "store_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-2"
            },
            {
              "slug": "view-on-etsy",
              "name": "View on Etsy",
              "what": "Opens the public shop page on Etsy in a new tab.",
              "path": "Stores > store card > shop name > View on Etsy",
              "steps": [
                "Stores",
                "store card",
                "shop name",
                "View on Etsy"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-view-on-etsy"
            },
            {
              "slug": "stats-row",
              "name": "Stats row",
              "what": "Shows active listings, total sales, favourers and review average for the shop.",
              "path": "Stores > store card > shop name",
              "steps": [
                "Stores",
                "store card",
                "shop name"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": null,
              "api_operation_id": "store_details_cached",
              "anchor": "https://eto.tools/dev/docs/#feat-stats-row"
            },
            {
              "slug": "order-notifications-2",
              "name": "Order Notifications",
              "what": "Switch that turns Etsy order webhooks for this store into Eto notifications.",
              "path": "Stores > store card > shop name > Order Notifications",
              "steps": [
                "Stores",
                "store card",
                "shop name",
                "Order Notifications"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-order-notifications-2"
            },
            {
              "slug": "shop-information",
              "name": "Shop Information",
              "what": "Lists currency, shipping-from country, location, languages and the shop creation date.",
              "path": "Stores > store card > shop name > Shop Information",
              "steps": [
                "Stores",
                "store card",
                "shop name",
                "Shop Information"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": null,
              "api_operation_id": "store_details_cached",
              "anchor": "https://eto.tools/dev/docs/#feat-shop-information"
            },
            {
              "slug": "shop-status",
              "name": "Shop Status",
              "what": "Shows vacation mode, custom requests, Etsy Payments and Direct Checkout state.",
              "path": "Stores > store card > shop name > Shop Status",
              "steps": [
                "Stores",
                "store card",
                "shop name",
                "Shop Status"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": null,
              "api_operation_id": "store_details_cached",
              "anchor": "https://eto.tools/dev/docs/#feat-shop-status"
            },
            {
              "slug": "shipping-profiles",
              "name": "Shipping Profiles",
              "what": "Lists each saved shipping profile with processing and delivery times, method, carrier and cost.",
              "path": "Stores > store card > shop name > Shipping Profiles",
              "steps": [
                "Stores",
                "store card",
                "shop name",
                "Shipping Profiles"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": "connected store",
              "api_operation_id": "shipping_profiles_live",
              "anchor": "https://eto.tools/dev/docs/#feat-shipping-profiles"
            },
            {
              "slug": "shop-announcement",
              "name": "Shop Announcement",
              "what": "Shows the shop announcement text pulled from Etsy.",
              "path": "Stores > store card > shop name > Shop Announcement",
              "steps": [
                "Stores",
                "store card",
                "shop name",
                "Shop Announcement"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": null,
              "api_operation_id": "store_details_cached",
              "anchor": "https://eto.tools/dev/docs/#feat-shop-announcement"
            },
            {
              "slug": "digital-sale-message",
              "name": "Digital Sale Message",
              "what": "Shows the message Etsy sends to buyers of digital items.",
              "path": "Stores > store card > shop name > Digital Sale Message",
              "steps": [
                "Stores",
                "store card",
                "shop name",
                "Digital Sale Message"
              ],
              "url": "https://eto.tools/dashboard/stores/{shop_id}/",
              "requires": null,
              "api_operation_id": "store_details_cached",
              "anchor": "https://eto.tools/dev/docs/#feat-digital-sale-message"
            },
            {
              "slug": "back-to-stores",
              "name": "Back to stores",
              "what": "Returns to the store list.",
              "path": "Stores > store card > shop name > back arrow",
              "steps": [
                "Stores",
                "store card",
                "shop name",
                "back arrow"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-back-to-stores"
            }
          ]
        }
      ]
    },
    {
      "slug": "listing-manager",
      "name": "Listing Manager",
      "url": "https://eto.tools/dashboard/listings/",
      "summary": "Browse, filter and bulk edit every listing across your connected Etsy shops.",
      "anchor": "https://eto.tools/dev/docs/#where-listing-manager",
      "markdown": "https://eto.tools/dev/docs/where/listing-manager.md",
      "sections": [
        {
          "slug": "listing-manager-modes",
          "name": "Modes",
          "features": [
            {
              "slug": "default",
              "name": "Default",
              "what": "Normal browsing mode where clicking a listing opens it.",
              "path": "Listing Manager > Default",
              "steps": [
                "Listing Manager",
                "Default"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-default"
            },
            {
              "slug": "edit-products",
              "name": "Edit Products",
              "what": "Turns the grid into a selection surface and shows the bulk action bar.",
              "path": "Listing Manager > Edit Products",
              "steps": [
                "Listing Manager",
                "Edit Products"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-edit-products"
            },
            {
              "slug": "edit-storewide",
              "name": "Edit Storewide",
              "what": "Replaces the grid with a store picker for settings that apply to a whole shop.",
              "path": "Listing Manager > Edit Storewide",
              "steps": [
                "Listing Manager",
                "Edit Storewide"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-edit-storewide"
            }
          ]
        },
        {
          "slug": "listing-manager-toolbar",
          "name": "Toolbar",
          "features": [
            {
              "slug": "refresh-all",
              "name": "Refresh All",
              "what": "Re-pulls listings from Etsy for every unlocked store one after another with a per-store progress panel.",
              "path": "Listing Manager > Refresh All",
              "steps": [
                "Listing Manager",
                "Refresh All"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "store_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-all"
            },
            {
              "slug": "rank-stores",
              "name": "Rank stores",
              "what": "Re-orders the store chip row by Listings, Sales, Orders, Newest store, Oldest store or Name A-Z.",
              "path": "Listing Manager > Rank stores",
              "steps": [
                "Listing Manager",
                "Rank stores"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-rank-stores"
            },
            {
              "slug": "grid-view",
              "name": "Grid view",
              "what": "Shows listings as a grid of image cards.",
              "path": "Listing Manager > Grid view",
              "steps": [
                "Listing Manager",
                "Grid view"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-grid-view"
            },
            {
              "slug": "list-view",
              "name": "List view",
              "what": "Shows listings as compact rows with inline action buttons.",
              "path": "Listing Manager > List view",
              "steps": [
                "Listing Manager",
                "List view"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-list-view"
            },
            {
              "slug": "columns",
              "name": "Columns",
              "what": "Sets how many cards per row the grid uses, from 3 to 8, and remembers the choice.",
              "path": "Listing Manager > Columns",
              "steps": [
                "Listing Manager",
                "Columns"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-columns"
            }
          ]
        },
        {
          "slug": "listing-manager-store-chips",
          "name": "Store chips",
          "features": [
            {
              "slug": "store-chip",
              "name": "Store chip",
              "what": "Selects a shop and loads its listings, showing the shop icon and its listing count.",
              "path": "Listing Manager > store chip",
              "steps": [
                "Listing Manager",
                "store chip"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "stores_list",
              "anchor": "https://eto.tools/dev/docs/#feat-store-chip"
            },
            {
              "slug": "locked-store-chip",
              "name": "Locked store chip",
              "what": "Shows a padlock and an Upgrade Now link for shops beyond the plan store limit.",
              "path": "Listing Manager > store chip",
              "steps": [
                "Listing Manager",
                "store chip"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-locked-store-chip"
            },
            {
              "slug": "printify-chip",
              "name": "Printify chip",
              "what": "Appears alongside the Etsy shops when a Printify API token and shop id are saved.",
              "path": "Listing Manager > Printify chip",
              "steps": [
                "Listing Manager",
                "Printify chip"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "Printify API token",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-printify-chip"
            },
            {
              "slug": "load-listings-from-etsy",
              "name": "Load listings from Etsy",
              "what": "Manual retry that pulls this store from Etsy when nothing has loaded yet.",
              "path": "Listing Manager > store chip > Load listings from Etsy",
              "steps": [
                "Listing Manager",
                "store chip",
                "Load listings from Etsy"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "store_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-load-listings-from-etsy"
            },
            {
              "slug": "checking-for-updates",
              "name": "Checking for updates",
              "what": "Runs by itself after picking a store and quietly adds new listings and state changes to the grid.",
              "path": "Listing Manager > store chip",
              "steps": [
                "Listing Manager",
                "store chip"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-checking-for-updates"
            }
          ]
        },
        {
          "slug": "listing-manager-filters-search-and-sort",
          "name": "Filters, search and sort",
          "features": [
            {
              "slug": "all-active-inactive-draft",
              "name": "All / Active / Inactive / Draft",
              "what": "Status tabs that filter the grid and show a live count for each state.",
              "path": "Listing Manager > All",
              "steps": [
                "Listing Manager",
                "All"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-active-inactive-draft"
            },
            {
              "slug": "all-sections",
              "name": "All Sections",
              "what": "Filters the grid to one Etsy shop section.",
              "path": "Listing Manager > All Sections",
              "steps": [
                "Listing Manager",
                "All Sections"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "shop_sections_live",
              "anchor": "https://eto.tools/dev/docs/#feat-all-sections"
            },
            {
              "slug": "all-types",
              "name": "All Types",
              "what": "Filters to digital or physical listings.",
              "path": "Listing Manager > All Types",
              "steps": [
                "Listing Manager",
                "All Types"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-types"
            },
            {
              "slug": "sort-by",
              "name": "Sort by",
              "what": "Sorts the loaded listings by Quantity, Views, Favorites, Sold, Recently Bought, Price, Created Date or Modified Date.",
              "path": "Listing Manager > Sort by",
              "steps": [
                "Listing Manager",
                "Sort by"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-by"
            },
            {
              "slug": "sort-direction",
              "name": "Sort direction",
              "what": "Flips the sort between highest first and lowest first.",
              "path": "Listing Manager > Sort by > sort direction arrow",
              "steps": [
                "Listing Manager",
                "Sort by",
                "sort direction arrow"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-direction"
            },
            {
              "slug": "all-ages",
              "name": "All Ages",
              "what": "Filters by listing age: last 7 days, 30 days, 90 days, last year or older than a year.",
              "path": "Listing Manager > All Ages",
              "steps": [
                "Listing Manager",
                "All Ages"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-ages"
            },
            {
              "slug": "search",
              "name": "Search",
              "what": "Filters listings by title, with an instant dropdown of matches you can walk with the arrow keys and open with Enter.",
              "path": "Listing Manager > Search...",
              "steps": [
                "Listing Manager",
                "Search..."
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": "listings_search",
              "anchor": "https://eto.tools/dev/docs/#feat-search"
            },
            {
              "slug": "refresh-3",
              "name": "Refresh",
              "what": "Re-pulls just the selected store from Etsy and streams the progress.",
              "path": "Listing Manager > Refresh",
              "steps": [
                "Listing Manager",
                "Refresh"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "store_sync",
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-3"
            },
            {
              "slug": "previous-next",
              "name": "Previous / Next",
              "what": "Pages through the listings when a store has more than one page.",
              "path": "Listing Manager > Next",
              "steps": [
                "Listing Manager",
                "Next"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-previous-next"
            }
          ]
        },
        {
          "slug": "listing-manager-listing-card-and-row-actions",
          "name": "Listing card and row actions",
          "features": [
            {
              "slug": "view-on-etsy-2",
              "name": "View on Etsy",
              "what": "Opens the live listing on Etsy in a new tab.",
              "path": "Listing Manager > listing card > Etsy icon",
              "steps": [
                "Listing Manager",
                "listing card",
                "Etsy icon"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-view-on-etsy-2"
            },
            {
              "slug": "edit-listing",
              "name": "Edit listing",
              "what": "Opens the full edit workspace for that listing; ctrl or cmd click opens it in a new tab.",
              "path": "Listing Manager > listing card > Edit",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": "listing_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-edit-listing"
            },
            {
              "slug": "copy-listing",
              "name": "Copy listing",
              "what": "Copies the listing into a new workspace draft, using media Eto has stored so it still works for a shop that is gone.",
              "path": "Listing Manager > listing card > Copy",
              "steps": [
                "Listing Manager",
                "listing card",
                "Copy"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy-listing"
            },
            {
              "slug": "upload-to-etsy",
              "name": "Upload to Etsy",
              "what": "Publishes a single draft listing live on Etsy for $0.20.",
              "path": "Listing Manager > listing card > Upload to Etsy",
              "steps": [
                "Listing Manager",
                "listing card",
                "Upload to Etsy"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-upload-to-etsy"
            },
            {
              "slug": "delete-from-etsy",
              "name": "Delete from Etsy",
              "what": "Deletes that one listing from Etsy after a confirmation with a tick box.",
              "path": "Listing Manager > listing card > Delete",
              "steps": [
                "Listing Manager",
                "listing card",
                "Delete"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "listing_delete",
              "anchor": "https://eto.tools/dev/docs/#feat-delete-from-etsy"
            },
            {
              "slug": "sold-count",
              "name": "Sold count",
              "what": "Fills the sold figure on each card in the background after the grid renders.",
              "path": "Listing Manager > listing card",
              "steps": [
                "Listing Manager",
                "listing card"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sold-count"
            }
          ]
        },
        {
          "slug": "listing-manager-edit-products-bulk-actions",
          "name": "Edit Products bulk actions",
          "features": [
            {
              "slug": "select-all-3",
              "name": "Select All",
              "what": "Ticks every listing currently loaded for the store.",
              "path": "Listing Manager > Edit Products > Select All",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Select All"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all-3"
            },
            {
              "slug": "draft-active-inactive-quick-select",
              "name": "Draft / Active / Inactive quick select",
              "what": "Selects every loaded listing in that state, and clicking the same button again clears the selection.",
              "path": "Listing Manager > Edit Products > Draft",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Draft"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-draft-active-inactive-quick-select"
            },
            {
              "slug": "edit-processing-profiles",
              "name": "Edit Processing Profiles",
              "what": "Changes the Etsy processing profile on every selected listing, with a progress bar and error list.",
              "path": "Listing Manager > Edit Products > Edit Processing Profiles",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Edit Processing Profiles"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "processing_profiles_live",
              "anchor": "https://eto.tools/dev/docs/#feat-edit-processing-profiles"
            },
            {
              "slug": "edit-quantity",
              "name": "Edit Quantity",
              "what": "Opens a per-listing stock editor for the selection, with a Set all to field and a Apply button.",
              "path": "Listing Manager > Edit Products > Edit Quantity",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Edit Quantity"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "listing_inventory_update",
              "anchor": "https://eto.tools/dev/docs/#feat-edit-quantity"
            },
            {
              "slug": "show-variations",
              "name": "Show variations",
              "what": "Expands a listing inside Edit Quantity to set stock per variation instead of one number.",
              "path": "Listing Manager > Edit Products > Edit Quantity > chevron",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Edit Quantity",
                "chevron"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "listing_inventory_update",
              "anchor": "https://eto.tools/dev/docs/#feat-show-variations"
            },
            {
              "slug": "copy-to-store",
              "name": "Copy to Store",
              "what": "Copies the selected listings into another connected shop, applying that shop shipping profile, return policy and processing profile.",
              "path": "Listing Manager > Edit Products > Copy to Store",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Copy to Store"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "listing_create",
              "anchor": "https://eto.tools/dev/docs/#feat-copy-to-store"
            },
            {
              "slug": "copy-to-store-as-draft",
              "name": "Copy to store as draft",
              "what": "Destination option that creates the copies as free drafts on the target shop.",
              "path": "Listing Manager > Edit Products > Copy to Store > Copy to store as draft",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Copy to Store",
                "Copy to store as draft"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "listing_create",
              "anchor": "https://eto.tools/dev/docs/#feat-copy-to-store-as-draft"
            },
            {
              "slug": "publish-to-store",
              "name": "Publish to store",
              "what": "Destination option that creates and activates the copies live on Etsy at $0.20 each.",
              "path": "Listing Manager > Edit Products > Copy to Store > Publish to store",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Copy to Store",
                "Publish to store"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "listing_create",
              "anchor": "https://eto.tools/dev/docs/#feat-publish-to-store"
            },
            {
              "slug": "activate-on-etsy",
              "name": "Activate on Etsy",
              "what": "Publishes every selected draft live on Etsy, and only turns on when the whole selection is drafts.",
              "path": "Listing Manager > Edit Products > Activate on Etsy",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Activate on Etsy"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-activate-on-etsy"
            },
            {
              "slug": "don-t-show-this-warning-again",
              "name": "Don't show this warning again",
              "what": "Hides the $0.20 activation warning on future bulk activations.",
              "path": "Listing Manager > Edit Products > Activate on Etsy > Don't show this warning again",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Activate on Etsy",
                "Don't show this warning again"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-don-t-show-this-warning-again"
            },
            {
              "slug": "delete-from-etsy-2",
              "name": "Delete from Etsy",
              "what": "Deletes every selected listing from Etsy after ticking the cannot be undone box.",
              "path": "Listing Manager > Edit Products > Delete from Etsy",
              "steps": [
                "Listing Manager",
                "Edit Products",
                "Delete from Etsy"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": "listing_delete",
              "anchor": "https://eto.tools/dev/docs/#feat-delete-from-etsy-2"
            }
          ]
        },
        {
          "slug": "listing-manager-edit-storewide-and-quantity-automation",
          "name": "Edit Storewide and quantity automation",
          "features": [
            {
              "slug": "select-all-stores",
              "name": "Select All Stores",
              "what": "Ticks every unlocked Etsy shop in the storewide list.",
              "path": "Listing Manager > Edit Storewide > Select All Stores",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "Select All Stores"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all-stores"
            },
            {
              "slug": "store-row",
              "name": "Store row",
              "what": "One row per shop with a tick box, listing count and the automation badge when a rule covers it.",
              "path": "Listing Manager > Edit Storewide > store row",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "store row"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-row"
            },
            {
              "slug": "auto-quantity-control",
              "name": "Auto Quantity Control",
              "what": "Opens the automation that puts a listing quantity back up on its own after it sells down.",
              "path": "Listing Manager > Edit Storewide > Auto Quantity Control",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "Auto Quantity Control"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-auto-quantity-control"
            },
            {
              "slug": "auto-listing-quantity-control",
              "name": "Auto Listing Quantity Control",
              "what": "The rule window: it watches the selected shops and resets stock whenever an order drops a listing to the threshold.",
              "path": "Listing Manager > Edit Storewide > Auto Quantity Control > Auto Listing Quantity Control",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "Auto Quantity Control",
                "Auto Listing Quantity Control"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-auto-listing-quantity-control"
            },
            {
              "slug": "condition",
              "name": "Condition",
              "what": "Sets the quantity at or below which the rule fires, written as If listing quantity is less than or equal to a number.",
              "path": "Listing Manager > Edit Storewide > Auto Quantity Control > Condition",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "Auto Quantity Control",
                "Condition"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-condition"
            },
            {
              "slug": "action",
              "name": "Action",
              "what": "Sets the quantity the listing is put back to, written as Set quantity to a number.",
              "path": "Listing Manager > Edit Storewide > Auto Quantity Control > Action",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "Auto Quantity Control",
                "Action"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-action"
            },
            {
              "slug": "affected-stores",
              "name": "Affected Stores",
              "what": "Lists the shops the rule will run on, taken from the storewide selection.",
              "path": "Listing Manager > Edit Storewide > Auto Quantity Control > Affected Stores",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "Auto Quantity Control",
                "Affected Stores"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-affected-stores"
            },
            {
              "slug": "automation-active",
              "name": "Automation Active",
              "what": "Green panel showing how many times the rule has fired and when it last fired.",
              "path": "Listing Manager > Edit Storewide > Auto Quantity Control > Automation Active",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "Auto Quantity Control",
                "Automation Active"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-automation-active"
            },
            {
              "slug": "save-automation",
              "name": "Save Automation",
              "what": "Saves the rule; the target must be higher than the threshold and at least one store must be picked.",
              "path": "Listing Manager > Edit Storewide > Auto Quantity Control > Save Automation",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "Auto Quantity Control",
                "Save Automation"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-save-automation"
            },
            {
              "slug": "delete-rule",
              "name": "Delete Rule",
              "what": "Removes the quantity automation entirely.",
              "path": "Listing Manager > Edit Storewide > Auto Quantity Control > Delete Rule",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "Auto Quantity Control",
                "Delete Rule"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-rule"
            },
            {
              "slug": "auto-qty-badge",
              "name": "Auto Qty badge",
              "what": "Chip on a store row showing the live rule as threshold to target, with edit and remove buttons.",
              "path": "Listing Manager > Edit Storewide > store row",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "store row"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-auto-qty-badge"
            },
            {
              "slug": "edit-rule",
              "name": "Edit rule",
              "what": "Reopens the automation window for the shops the rule already covers.",
              "path": "Listing Manager > Edit Storewide > store row > edit icon",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "store row",
                "edit icon"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-edit-rule"
            },
            {
              "slug": "remove-automation",
              "name": "Remove automation",
              "what": "Takes one shop out of the quantity rule without deleting the rule.",
              "path": "Listing Manager > Edit Storewide > store row > close icon",
              "steps": [
                "Listing Manager",
                "Edit Storewide",
                "store row",
                "close icon"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-remove-automation"
            }
          ]
        },
        {
          "slug": "listing-manager-listing-detail-page",
          "name": "Listing detail page",
          "features": [
            {
              "slug": "listing-detail",
              "name": "Listing detail",
              "what": "Read-only page for one listing with its images, price, status and saved fields.",
              "path": "Listing Manager > listing card",
              "steps": [
                "Listing Manager",
                "listing card"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": "listing_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-listing-detail"
            },
            {
              "slug": "thumbnail-gallery",
              "name": "Thumbnail gallery",
              "what": "Swaps the main image when you click one of the listing thumbnails.",
              "path": "Listing Manager > listing card > thumbnail",
              "steps": [
                "Listing Manager",
                "listing card",
                "thumbnail"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": "listing_images",
              "anchor": "https://eto.tools/dev/docs/#feat-thumbnail-gallery"
            },
            {
              "slug": "etsy",
              "name": "Etsy",
              "what": "Opens this listing on Etsy in a new tab, or shows a plain chip when there is no live URL.",
              "path": "Listing Manager > listing card > Etsy",
              "steps": [
                "Listing Manager",
                "listing card",
                "Etsy"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-etsy"
            },
            {
              "slug": "listing-info",
              "name": "Listing Info",
              "what": "Lists type, who made it, when made, supply, processing days, variations, auto-renew, language and listing id.",
              "path": "Listing Manager > listing card > Listing Info",
              "steps": [
                "Listing Manager",
                "listing card",
                "Listing Info"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": "listing_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-listing-info"
            },
            {
              "slug": "personalization",
              "name": "Personalization",
              "what": "Shows whether the listing is personalisable or customisable, the character limit and the buyer instructions.",
              "path": "Listing Manager > listing card > Personalization",
              "steps": [
                "Listing Manager",
                "listing card",
                "Personalization"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": "listing_personalization",
              "anchor": "https://eto.tools/dev/docs/#feat-personalization"
            },
            {
              "slug": "dimensions",
              "name": "Dimensions",
              "what": "Shows the item weight and length, width and height with their units.",
              "path": "Listing Manager > listing card > Dimensions",
              "steps": [
                "Listing Manager",
                "listing card",
                "Dimensions"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": "listing_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-dimensions"
            },
            {
              "slug": "description",
              "name": "Description",
              "what": "Shows the saved listing description.",
              "path": "Listing Manager > listing card > Description",
              "steps": [
                "Listing Manager",
                "listing card",
                "Description"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": "listing_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-description"
            },
            {
              "slug": "tags",
              "name": "Tags",
              "what": "Shows every tag on the listing with a count.",
              "path": "Listing Manager > listing card > Tags",
              "steps": [
                "Listing Manager",
                "listing card",
                "Tags"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": "listing_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-tags"
            },
            {
              "slug": "materials",
              "name": "Materials",
              "what": "Shows the materials saved on the listing.",
              "path": "Listing Manager > listing card > Materials",
              "steps": [
                "Listing Manager",
                "listing card",
                "Materials"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": "listing_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-materials"
            },
            {
              "slug": "inventory",
              "name": "Inventory",
              "what": "Lists each variation with its SKU, price and stock, or Unavailable when it is turned off.",
              "path": "Listing Manager > listing card > Inventory",
              "steps": [
                "Listing Manager",
                "listing card",
                "Inventory"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": "listing_inventory_get",
              "anchor": "https://eto.tools/dev/docs/#feat-inventory"
            },
            {
              "slug": "timestamps",
              "name": "Timestamps",
              "what": "Shows when the listing was created, last modified and when it ends.",
              "path": "Listing Manager > listing card > Timestamps",
              "steps": [
                "Listing Manager",
                "listing card",
                "Timestamps"
              ],
              "url": "https://eto.tools/dashboard/listings/{listing_id}/",
              "requires": null,
              "api_operation_id": "listing_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-timestamps"
            }
          ]
        },
        {
          "slug": "listing-manager-edit-listing-workspace",
          "name": "Edit listing workspace",
          "features": [
            {
              "slug": "editing-listing",
              "name": "Editing listing",
              "what": "The full workspace opened in edit mode against a live Etsy listing, saving a local draft copy as you work.",
              "path": "Listing Manager > listing card > Edit",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": "listing_detail",
              "anchor": "https://eto.tools/dev/docs/#feat-editing-listing"
            },
            {
              "slug": "about",
              "name": "About",
              "what": "Tab for the title, photos, video, description and personalisation questions.",
              "path": "Listing Manager > listing card > Edit > About",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit",
                "About"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": "listing_image_upload",
              "anchor": "https://eto.tools/dev/docs/#feat-about"
            },
            {
              "slug": "add-product-image",
              "name": "Add product image",
              "what": "Adds or replaces the listing photos in the About tab.",
              "path": "Listing Manager > listing card > Edit > About > Add product image",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit",
                "About",
                "Add product image"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": "listing_image_upload",
              "anchor": "https://eto.tools/dev/docs/#feat-add-product-image"
            },
            {
              "slug": "personalisation-question-types",
              "name": "Personalisation question types",
              "what": "Choose a Text box, List of options, File upload or labelled File upload for buyer input.",
              "path": "Listing Manager > listing card > Edit > About > personalisation",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit",
                "About",
                "personalisation"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": "listing_personalization",
              "anchor": "https://eto.tools/dev/docs/#feat-personalisation-question-types"
            },
            {
              "slug": "price-and-inventory",
              "name": "Price & Inventory",
              "what": "Tab for price, quantity, SKU, shop discount and the variation grid.",
              "path": "Listing Manager > listing card > Edit > Price & Inventory",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit",
                "Price & Inventory"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": "listing_inventory_update",
              "anchor": "https://eto.tools/dev/docs/#feat-price-and-inventory"
            },
            {
              "slug": "details",
              "name": "Details",
              "what": "Tab for category, category attributes, who made it, when made, tags and materials.",
              "path": "Listing Manager > listing card > Edit > Details",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit",
                "Details"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": "category_properties",
              "anchor": "https://eto.tools/dev/docs/#feat-details"
            },
            {
              "slug": "settings",
              "name": "Settings",
              "what": "Section for the target stores, processing profile, shop section and production partners.",
              "path": "Listing Manager > listing card > Edit > Settings",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit",
                "Settings"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": "shop_sections_live",
              "anchor": "https://eto.tools/dev/docs/#feat-settings"
            },
            {
              "slug": "update-listing",
              "name": "Update Listing",
              "what": "Pushes the edits back to Etsy; the button reads Update Listing whenever the listing still exists there.",
              "path": "Listing Manager > listing card > Edit > Update Listing",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit",
                "Update Listing"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": "shop_listing_update",
              "anchor": "https://eto.tools/dev/docs/#feat-update-listing"
            },
            {
              "slug": "activate-listing-0-20",
              "name": "Activate Listing ($0.20)",
              "what": "Extra button on a draft listing that publishes it live on Etsy for $0.20.",
              "path": "Listing Manager > listing card > Edit > Activate Listing ($0.20)",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit",
                "Activate Listing ($0.20)"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-activate-listing-0-20"
            },
            {
              "slug": "publish-as-draft",
              "name": "Publish as Draft",
              "what": "Replaces Update Listing when the original was deleted from Etsy, rebuilding it as a new draft from Eto stored copy.",
              "path": "Listing Manager > listing card > Edit > Publish as Draft",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit",
                "Publish as Draft"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": "listing_create",
              "anchor": "https://eto.tools/dev/docs/#feat-publish-as-draft"
            },
            {
              "slug": "sanity-strip",
              "name": "Sanity strip",
              "what": "Running checklist across the top for at least one photo, a shipping profile and at least one store.",
              "path": "Listing Manager > listing card > Edit",
              "steps": [
                "Listing Manager",
                "listing card",
                "Edit"
              ],
              "url": "https://eto.tools/dashboard/listings/{shop_id}/{listing_id}/edit/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sanity-strip"
            }
          ]
        }
      ]
    },
    {
      "slug": "quick-upload",
      "name": "Quick upload",
      "url": "https://eto.tools/dashboard/single-research/",
      "summary": "Build Etsy listings in Eto and push them to one or more connected stores as drafts.",
      "anchor": "https://eto.tools/dev/docs/#where-quick-upload",
      "markdown": "https://eto.tools/dev/docs/where/quick-upload.md",
      "sections": [
        {
          "slug": "quick-upload-listing-list",
          "name": "Listing list",
          "features": [
            {
              "slug": "active",
              "name": "Active",
              "what": "Shows listings already pushed to Etsy, with a count badge, and they are view only.",
              "path": "Quick upload > Active",
              "steps": [
                "Quick upload",
                "Active"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-active"
            },
            {
              "slug": "drafts",
              "name": "Drafts",
              "what": "Shows listings saved in Eto but not sent to Etsy yet, with a count badge.",
              "path": "Quick upload > Drafts",
              "steps": [
                "Quick upload",
                "Drafts"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-drafts"
            },
            {
              "slug": "scheduled",
              "name": "Scheduled",
              "what": "Shows single listings and bulk groups queued to publish at a set time.",
              "path": "Quick upload > Scheduled",
              "steps": [
                "Quick upload",
                "Scheduled"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-scheduled"
            },
            {
              "slug": "new-listing",
              "name": "New listing",
              "what": "Opens the create screen where you pick how the listing starts.",
              "path": "Quick upload > New listing",
              "steps": [
                "Quick upload",
                "New listing"
              ],
              "url": "https://eto.tools/dashboard/single-research/new/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-new-listing"
            },
            {
              "slug": "select-all-4",
              "name": "Select all",
              "what": "Ticks every listing card in the open tab so bulk actions apply to them.",
              "path": "Quick upload > Select all",
              "steps": [
                "Quick upload",
                "Select all"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all-4"
            },
            {
              "slug": "publish-selected-n",
              "name": "Publish selected (n)",
              "what": "Publishes the ticked drafts to Etsy one at a time and turns into a Stop button while it runs.",
              "path": "Quick upload > Select all > Publish selected",
              "steps": [
                "Quick upload",
                "Select all",
                "Publish selected"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": "connected store",
              "api_operation_id": "listing_create",
              "anchor": "https://eto.tools/dev/docs/#feat-publish-selected-n"
            },
            {
              "slug": "delete-selected-n",
              "name": "Delete selected (n)",
              "what": "Deletes every ticked listing from Eto in one call.",
              "path": "Quick upload > Select all > Delete selected",
              "steps": [
                "Quick upload",
                "Select all",
                "Delete selected"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-selected-n"
            },
            {
              "slug": "columns-2",
              "name": "Columns",
              "what": "Sets how many listing cards sit in a row, from 2 up to 10.",
              "path": "Quick upload > Columns",
              "steps": [
                "Quick upload",
                "Columns"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-columns-2"
            },
            {
              "slug": "open-on-etsy",
              "name": "Open on Etsy",
              "what": "Opens the published listing on Etsy in a new tab.",
              "path": "Quick upload > Active > Open on Etsy",
              "steps": [
                "Quick upload",
                "Active",
                "Open on Etsy"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": "published listing",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-open-on-etsy"
            },
            {
              "slug": "copy",
              "name": "Copy",
              "what": "Duplicates the listing into a new draft and opens that draft.",
              "path": "Quick upload > Copy",
              "steps": [
                "Quick upload",
                "Copy"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy"
            },
            {
              "slug": "delete",
              "name": "Delete",
              "what": "Removes the listing from Eto without touching Etsy.",
              "path": "Quick upload > Delete",
              "steps": [
                "Quick upload",
                "Delete"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete"
            },
            {
              "slug": "view-group",
              "name": "View group",
              "what": "Opens a modal listing every listing in a bulk group, marked Main or Variant, each with Open on Etsy and Delete.",
              "path": "Quick upload > Active > View group",
              "steps": [
                "Quick upload",
                "Active",
                "View group"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": "bulk group",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-view-group"
            },
            {
              "slug": "delete-group",
              "name": "Delete group",
              "what": "Deletes every listing that belongs to a bulk group in one go.",
              "path": "Quick upload > Active > Delete group",
              "steps": [
                "Quick upload",
                "Active",
                "Delete group"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": "bulk group",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-group"
            },
            {
              "slug": "cancel-3",
              "name": "Cancel",
              "what": "Cancels a scheduled single listing and returns it to drafts.",
              "path": "Quick upload > Scheduled > Cancel",
              "steps": [
                "Quick upload",
                "Scheduled",
                "Cancel"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": "scheduled listing",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-cancel-3"
            },
            {
              "slug": "cancel-schedule",
              "name": "Cancel schedule",
              "what": "Cancels a scheduled bulk group before it publishes.",
              "path": "Quick upload > Scheduled > Cancel schedule",
              "steps": [
                "Quick upload",
                "Scheduled",
                "Cancel schedule"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": "scheduled bulk group",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-cancel-schedule"
            },
            {
              "slug": "bulk-uploads-in-progress",
              "name": "Bulk uploads in progress",
              "what": "Lists background bulk upload jobs with live progress, and failed jobs get a dismiss cross.",
              "path": "Quick upload",
              "steps": [
                "Quick upload"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": "running bulk job",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-bulk-uploads-in-progress"
            },
            {
              "slug": "edit-and-retry",
              "name": "Edit & retry",
              "what": "Appears on a card that failed during bulk publish and opens that listing in the workspace.",
              "path": "Quick upload > Publish selected",
              "steps": [
                "Quick upload",
                "Publish selected"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-edit-and-retry"
            }
          ]
        },
        {
          "slug": "quick-upload-creating-a-listing",
          "name": "Creating a listing",
          "features": [
            {
              "slug": "enter-listing-id",
              "name": "Enter Listing ID",
              "what": "Pulls an existing Etsy listing by its numeric ID and pre-fills a new draft from it.",
              "path": "Quick upload > New listing > Enter Listing ID > Continue",
              "steps": [
                "Quick upload",
                "New listing",
                "Enter Listing ID",
                "Continue"
              ],
              "url": "https://eto.tools/dashboard/single-research/new/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-enter-listing-id"
            },
            {
              "slug": "digital-product",
              "name": "Digital Product",
              "what": "Creates a blank digital draft that asks for downloadable files instead of shipping.",
              "path": "Quick upload > New listing > Start from Scratch > Digital Product",
              "steps": [
                "Quick upload",
                "New listing",
                "Start from Scratch",
                "Digital Product"
              ],
              "url": "https://eto.tools/dashboard/single-research/new/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-digital-product"
            },
            {
              "slug": "physical-product",
              "name": "Physical Product",
              "what": "Creates a blank physical draft that asks for shipping and processing profiles.",
              "path": "Quick upload > New listing > Start from Scratch > Physical Product",
              "steps": [
                "Quick upload",
                "New listing",
                "Start from Scratch",
                "Physical Product"
              ],
              "url": "https://eto.tools/dashboard/single-research/new/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-physical-product"
            },
            {
              "slug": "upload-spreadsheet",
              "name": "Upload spreadsheet",
              "what": "Starts the CSV or Excel import wizard for creating many listings at once.",
              "path": "Quick upload > New listing > Upload via CSV / Excel > Upload spreadsheet",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload via CSV / Excel",
                "Upload spreadsheet"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-upload-spreadsheet"
            },
            {
              "slug": "format-guide",
              "name": "Format guide",
              "what": "Opens the bulk CSV import section of the developer docs in a new tab.",
              "path": "Quick upload > New listing > Upload via CSV / Excel > Format guide",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload via CSV / Excel",
                "Format guide"
              ],
              "url": "https://eto.tools/dev/docs/#bulk-csv-import",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-format-guide"
            },
            {
              "slug": "your-favorites",
              "name": "Your Favorites",
              "what": "Lists products you saved from Product Hunt so you can start a listing from one.",
              "path": "Quick upload > New listing > Your Favorites",
              "steps": [
                "Quick upload",
                "New listing",
                "Your Favorites"
              ],
              "url": "https://eto.tools/dashboard/single-research/new/",
              "requires": "saved favorite",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-your-favorites"
            }
          ]
        },
        {
          "slug": "quick-upload-workspace-about",
          "name": "Workspace: About",
          "features": [
            {
              "slug": "about-2",
              "name": "About",
              "what": "Tab holding the title, photos, description and personalization fields.",
              "path": "Quick upload > open a listing > About",
              "steps": [
                "Quick upload",
                "open a listing",
                "About"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-about-2"
            },
            {
              "slug": "title",
              "name": "Title",
              "what": "Free text listing title with a live 0/140 character counter.",
              "path": "Quick upload > open a listing > About > Title",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Title"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-title"
            },
            {
              "slug": "ai-magic",
              "name": "AI Magic",
              "what": "Writes the title with AI, and clicking it again opens a Special requirements box you send with Enter.",
              "path": "Quick upload > open a listing > About > Title > AI Magic",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Title",
                "AI Magic"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "AI provider configured",
              "api_operation_id": "ai_generate_title",
              "anchor": "https://eto.tools/dev/docs/#feat-ai-magic"
            },
            {
              "slug": "undo-ai-title",
              "name": "Undo AI title",
              "what": "Puts the previous title back after an AI rewrite.",
              "path": "Quick upload > open a listing > About > Title > Undo AI title",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Title",
                "Undo AI title"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-undo-ai-title"
            },
            {
              "slug": "photos-and-video",
              "name": "Photos & video",
              "what": "Twelve slot media grid where slot 1 is the primary photo and slot 2 is an optional video under 15 seconds.",
              "path": "Quick upload > open a listing > About > Photos & video",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Photos & video"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-photos-and-video"
            },
            {
              "slug": "add-photo",
              "name": "Add photo",
              "what": "Opens the file picker for that slot, accepting JPG, PNG or GIF up to 100MB and up to 20 photos.",
              "path": "Quick upload > open a listing > About > Photos & video > Add photo",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Photos & video",
                "Add photo"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": "file_upload",
              "anchor": "https://eto.tools/dev/docs/#feat-add-photo"
            },
            {
              "slug": "add-video",
              "name": "Add video",
              "what": "Uploads one MP4 or MOV into the video slot.",
              "path": "Quick upload > open a listing > About > Photos & video > Add video",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Photos & video",
                "Add video"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": "file_upload",
              "anchor": "https://eto.tools/dev/docs/#feat-add-video"
            },
            {
              "slug": "add-from-gallery",
              "name": "Add from Gallery",
              "what": "Picks a saved Gallery image straight into an empty photo slot.",
              "path": "Quick upload > open a listing > About > Photos & video > Add from Gallery",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Photos & video",
                "Add from Gallery"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "saved gallery image",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-from-gallery"
            },
            {
              "slug": "ai-image",
              "name": "AI Image",
              "what": "Hover button on a photo that opens the per image AI generator.",
              "path": "Quick upload > open a listing > About > hover a photo > AI Image",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "hover a photo",
                "AI Image"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "AI provider configured",
              "api_operation_id": "ai_generate_image",
              "anchor": "https://eto.tools/dev/docs/#feat-ai-image"
            },
            {
              "slug": "preset",
              "name": "Preset",
              "what": "Chooses the AI image recipe: Custom, Thumbnail, Info or Showcase.",
              "path": "Quick upload > open a listing > About > hover a photo > AI Image > Preset",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "hover a photo",
                "AI Image",
                "Preset"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-preset"
            },
            {
              "slug": "model",
              "name": "Model",
              "what": "Picks the image model between Gemini 3 Pro, Gemini 3.1 Flash and Gemini 2.5 Flash.",
              "path": "Quick upload > open a listing > About > hover a photo > AI Image > Model",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "hover a photo",
                "AI Image",
                "Model"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-model"
            },
            {
              "slug": "use-product-image",
              "name": "Use Product Image",
              "what": "Switch that decides whether the AI works from your uploaded product photo or from the tile you clicked.",
              "path": "Quick upload > open a listing > About > hover a photo > AI Image > Use Product Image",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "hover a photo",
                "AI Image",
                "Use Product Image"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-use-product-image"
            },
            {
              "slug": "gallery",
              "name": "Gallery",
              "what": "Hover button on a photo that swaps it for a saved Gallery image.",
              "path": "Quick upload > open a listing > About > hover a photo > Gallery",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "hover a photo",
                "Gallery"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "saved gallery image",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gallery"
            },
            {
              "slug": "download-image",
              "name": "Download image",
              "what": "Item in the photo three dot menu that saves that image to your computer.",
              "path": "Quick upload > open a listing > About > hover a photo > More > Download image",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "hover a photo",
                "More",
                "Download image"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-download-image"
            },
            {
              "slug": "set-as-product-image",
              "name": "Set as product image",
              "what": "Item in the photo three dot menu that promotes the image to the reference product image.",
              "path": "Quick upload > open a listing > About > hover a photo > More > Set as product image",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "hover a photo",
                "More",
                "Set as product image"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-set-as-product-image"
            },
            {
              "slug": "undo-ai-edit",
              "name": "Undo AI edit",
              "what": "Item in the photo three dot menu that steps back through AI edits of that photo.",
              "path": "Quick upload > open a listing > About > hover a photo > More > Undo AI edit",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "hover a photo",
                "More",
                "Undo AI edit"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "AI edit applied",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-undo-ai-edit"
            },
            {
              "slug": "generate-slideshow-video",
              "name": "Generate Slideshow Video",
              "what": "Turns the listing photos into an MP4 slideshow and drops it into the video slot.",
              "path": "Quick upload > open a listing > About > Generate Slideshow Video",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Generate Slideshow Video"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "at least one photo",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-generate-slideshow-video"
            },
            {
              "slug": "slideshow-settings",
              "name": "Slideshow settings",
              "what": "Sets total video length, per image duration and which photos take part, with a Distribute equally shortcut.",
              "path": "Quick upload > open a listing > About > Slideshow settings",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Slideshow settings"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-slideshow-settings"
            },
            {
              "slug": "product-image",
              "name": "Product Image",
              "what": "Single square reference image the AI tools use as the source product.",
              "path": "Quick upload > open a listing > About > Product Image",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Product Image"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-product-image"
            },
            {
              "slug": "add-custom-image",
              "name": "+ Add Custom Image",
              "what": "Uploads an extra named image, such as a sizing chart, that AI prompts can refer to by name.",
              "path": "Quick upload > open a listing > About > + Add Custom Image",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "+ Add Custom Image"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-custom-image"
            },
            {
              "slug": "description-2",
              "name": "Description",
              "what": "Long form listing description with its own AI Magic button and undo.",
              "path": "Quick upload > open a listing > About > Description",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Description"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": "ai_generate_description",
              "anchor": "https://eto.tools/dev/docs/#feat-description-2"
            },
            {
              "slug": "add-new-field",
              "name": "Add new field",
              "what": "Adds a personalization field of type Text box, List of options, File upload or File upload (labeled), up to five.",
              "path": "Quick upload > open a listing > About > Personalization > Add new field",
              "steps": [
                "Quick upload",
                "open a listing",
                "About",
                "Personalization",
                "Add new field"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-new-field"
            },
            {
              "slug": "digital-files",
              "name": "Digital files",
              "what": "Drag and drop area for up to five downloadable files, 100MB each, on digital listings only.",
              "path": "Quick upload > open a digital listing > About > Digital files",
              "steps": [
                "Quick upload",
                "open a digital listing",
                "About",
                "Digital files"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "digital listing",
              "api_operation_id": "file_upload",
              "anchor": "https://eto.tools/dev/docs/#feat-digital-files"
            }
          ]
        },
        {
          "slug": "quick-upload-workspace-price-and-inventory",
          "name": "Workspace: Price & Inventory",
          "features": [
            {
              "slug": "price-and-inventory-2",
              "name": "Price & Inventory",
              "what": "Tab holding price, quantity, SKU and the variations editor.",
              "path": "Quick upload > open a listing > Price & Inventory",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-price-and-inventory-2"
            },
            {
              "slug": "price",
              "name": "Price",
              "what": "One price box per selected store, published in that store currency.",
              "path": "Quick upload > open a listing > Price & Inventory > Price",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Price"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-price"
            },
            {
              "slug": "shop-discount",
              "name": "Shop discount",
              "what": "Percentage that back calculates the listed price so buyers see the price you typed.",
              "path": "Quick upload > open a listing > Price & Inventory > Shop discount",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Shop discount"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-shop-discount"
            },
            {
              "slug": "quantity",
              "name": "Quantity",
              "what": "Stock number for the listing, between 1 and 999.",
              "path": "Quick upload > open a listing > Price & Inventory > Quantity",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Quantity"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-quantity"
            },
            {
              "slug": "sku",
              "name": "SKU",
              "what": "Internal identifier where the first 32 characters go to Etsy and the full string stays in Eto.",
              "path": "Quick upload > open a listing > Price & Inventory > SKU",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "SKU"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sku"
            },
            {
              "slug": "add-variation",
              "name": "+ Add Variation",
              "what": "Creates a variation such as Colour or Size, up to the Etsy maximum of two.",
              "path": "Quick upload > open a listing > Price & Inventory > + Add Variation",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "+ Add Variation"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-variation"
            },
            {
              "slug": "prices-vary-for-each",
              "name": "Prices vary for each",
              "what": "Switch that turns on a separate price per option combination.",
              "path": "Quick upload > open a listing > Price & Inventory > Variations > Prices vary for each",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Variations",
                "Prices vary for each"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "variations",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-prices-vary-for-each"
            },
            {
              "slug": "quantities-vary-for-each",
              "name": "Quantities vary for each",
              "what": "Switch that turns on a separate stock count per option combination.",
              "path": "Quick upload > open a listing > Price & Inventory > Variations > Quantities vary for each",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Variations",
                "Quantities vary for each"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "variations",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-quantities-vary-for-each"
            },
            {
              "slug": "skus-vary-for-each",
              "name": "SKUs vary for each",
              "what": "Switch that turns on a separate SKU per option combination.",
              "path": "Quick upload > open a listing > Price & Inventory > Variations > SKUs vary for each",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Variations",
                "SKUs vary for each"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "variations",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-skus-vary-for-each"
            },
            {
              "slug": "processing-profiles-vary-for-each",
              "name": "Processing profiles vary for each",
              "what": "Switch that lets each option combination use its own processing profile.",
              "path": "Quick upload > open a listing > Price & Inventory > Variations > Processing profiles vary for each",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Variations",
                "Processing profiles vary for each"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "variations",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-processing-profiles-vary-for-each"
            },
            {
              "slug": "photos-vary-for-each",
              "name": "Photos vary for each",
              "what": "Switch that links a listing photo to each option value.",
              "path": "Quick upload > open a listing > Price & Inventory > Variations > Photos vary for each",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Variations",
                "Photos vary for each"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "variations",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-photos-vary-for-each"
            },
            {
              "slug": "generate-skus",
              "name": "Generate SKUs",
              "what": "Describes your SKU format in plain text and lets AI fill every variation SKU, with an option to preserve hand written ones.",
              "path": "Quick upload > open a listing > Price & Inventory > Variations > SKU Generator > Generate SKUs",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Variations",
                "SKU Generator",
                "Generate SKUs"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "AI provider configured",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-generate-skus"
            },
            {
              "slug": "swap-variation-order",
              "name": "Swap variation order",
              "what": "Flips which variation is first and which is second.",
              "path": "Quick upload > open a listing > Price & Inventory > Variations > Swap variation order",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Variations",
                "Swap variation order"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "two variations",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-swap-variation-order"
            },
            {
              "slug": "back-to-single-price",
              "name": "Back to single price",
              "what": "Drops the variations and returns the listing to one price and quantity.",
              "path": "Quick upload > open a listing > Price & Inventory > Variations > Back to single price",
              "steps": [
                "Quick upload",
                "open a listing",
                "Price & Inventory",
                "Variations",
                "Back to single price"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "variations",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-back-to-single-price"
            }
          ]
        },
        {
          "slug": "quick-upload-workspace-details",
          "name": "Workspace: Details",
          "features": [
            {
              "slug": "details-2",
              "name": "Details",
              "what": "Tab holding category, category attributes, who and when made, tags and materials.",
              "path": "Quick upload > open a listing > Details",
              "steps": [
                "Quick upload",
                "open a listing",
                "Details"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-details-2"
            },
            {
              "slug": "category",
              "name": "Category",
              "what": "Opens a searchable Etsy category tree and sets the listing taxonomy.",
              "path": "Quick upload > open a listing > Details > Category",
              "steps": [
                "Quick upload",
                "open a listing",
                "Details",
                "Category"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": "categories",
              "anchor": "https://eto.tools/dev/docs/#feat-category"
            },
            {
              "slug": "category-attributes",
              "name": "Category attributes",
              "what": "Shows the extra fields Etsy requires for the chosen category.",
              "path": "Quick upload > open a listing > Details > Category attributes",
              "steps": [
                "Quick upload",
                "open a listing",
                "Details",
                "Category attributes"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "category selected",
              "api_operation_id": "category_properties",
              "anchor": "https://eto.tools/dev/docs/#feat-category-attributes"
            },
            {
              "slug": "when-was-it-made",
              "name": "When was it made?",
              "what": "Sets the Etsy production era, from Made To Order through to vintage decades.",
              "path": "Quick upload > open a listing > Details > When was it made?",
              "steps": [
                "Quick upload",
                "open a listing",
                "Details",
                "When was it made?"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-when-was-it-made"
            },
            {
              "slug": "tags-2",
              "name": "Tags",
              "what": "Adds up to 13 search tags of 20 characters each, comma separated.",
              "path": "Quick upload > open a listing > Details > Tags",
              "steps": [
                "Quick upload",
                "open a listing",
                "Details",
                "Tags"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-tags-2"
            },
            {
              "slug": "materials-2",
              "name": "Materials",
              "what": "Lists the materials the product is made from.",
              "path": "Quick upload > open a listing > Details > Materials",
              "steps": [
                "Quick upload",
                "open a listing",
                "Details",
                "Materials"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-materials-2"
            }
          ]
        },
        {
          "slug": "quick-upload-workspace-settings-sidebar",
          "name": "Workspace: Settings sidebar",
          "features": [
            {
              "slug": "stores",
              "name": "Stores",
              "what": "Ticks which connected stores the listing publishes to, and locked rows link to Upgrade Now.",
              "path": "Quick upload > open a listing > Settings > Stores",
              "steps": [
                "Quick upload",
                "open a listing",
                "Settings",
                "Stores"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "connected store",
              "api_operation_id": "stores_list",
              "anchor": "https://eto.tools/dev/docs/#feat-stores"
            },
            {
              "slug": "shipping-profile",
              "name": "Shipping profile",
              "what": "Picks a shipping profile per store, required for physical listings.",
              "path": "Quick upload > open a listing > Settings > Shipping profile",
              "steps": [
                "Quick upload",
                "open a listing",
                "Settings",
                "Shipping profile"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "physical listing",
              "api_operation_id": "shipping_profiles_live",
              "anchor": "https://eto.tools/dev/docs/#feat-shipping-profile"
            },
            {
              "slug": "processing-profile",
              "name": "Processing profile",
              "what": "Picks a readiness profile per store, and Create processing profile makes a new one from a type and processing time.",
              "path": "Quick upload > open a listing > Settings > Processing profile",
              "steps": [
                "Quick upload",
                "open a listing",
                "Settings",
                "Processing profile"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "physical listing",
              "api_operation_id": "processing_profiles_live",
              "anchor": "https://eto.tools/dev/docs/#feat-processing-profile"
            },
            {
              "slug": "return-policy",
              "name": "Return policy",
              "what": "Picks a return policy per store, with a Refresh button after you add one on Etsy.",
              "path": "Quick upload > open a listing > Settings > Return policy",
              "steps": [
                "Quick upload",
                "open a listing",
                "Settings",
                "Return policy"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "connected store",
              "api_operation_id": "return_policies_live",
              "anchor": "https://eto.tools/dev/docs/#feat-return-policy"
            },
            {
              "slug": "shop-section",
              "name": "Shop section",
              "what": "Picks the shop section per store, and the Create box adds a new section to that shop.",
              "path": "Quick upload > open a listing > Settings > Shop section",
              "steps": [
                "Quick upload",
                "open a listing",
                "Settings",
                "Shop section"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "connected store",
              "api_operation_id": "shop_sections_live",
              "anchor": "https://eto.tools/dev/docs/#feat-shop-section"
            },
            {
              "slug": "production-partners",
              "name": "Production partners",
              "what": "Selects the Etsy production partners for each store.",
              "path": "Quick upload > open a listing > Settings > Production partners",
              "steps": [
                "Quick upload",
                "open a listing",
                "Settings",
                "Production partners"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-production-partners"
            }
          ]
        },
        {
          "slug": "quick-upload-workspace-publish-schedule-and-status",
          "name": "Workspace: publish, schedule and status",
          "features": [
            {
              "slug": "publish-draft",
              "name": "Publish draft",
              "what": "Creates the listing as a draft in each selected store and uploads its media and files.",
              "path": "Quick upload > open a listing > Publish draft",
              "steps": [
                "Quick upload",
                "open a listing",
                "Publish draft"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "connected store",
              "api_operation_id": "listing_create",
              "anchor": "https://eto.tools/dev/docs/#feat-publish-draft"
            },
            {
              "slug": "missing",
              "name": "Missing",
              "what": "Bar at the top of the tabs naming the first requirement still blocking publish.",
              "path": "Quick upload > open a listing",
              "steps": [
                "Quick upload",
                "open a listing"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-missing"
            },
            {
              "slug": "schedule-1-listing",
              "name": "Schedule 1 listing",
              "what": "Opens a date, time and timezone picker and queues this one listing to publish later.",
              "path": "Quick upload > open a listing > Schedule > Schedule 1 listing",
              "steps": [
                "Quick upload",
                "open a listing",
                "Schedule",
                "Schedule 1 listing"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-schedule-1-listing"
            },
            {
              "slug": "schedule-bulk-group",
              "name": "Schedule bulk group",
              "what": "Queues the whole generated bulk group to publish at a chosen date and time.",
              "path": "Quick upload > open a listing > Schedule > Schedule bulk group",
              "steps": [
                "Quick upload",
                "open a listing",
                "Schedule",
                "Schedule bulk group"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "bulk group built",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-schedule-bulk-group"
            },
            {
              "slug": "ai-provider-badge",
              "name": "AI provider badge",
              "what": "Shows which AI credentials are in use and tests the connection when clicked.",
              "path": "Quick upload > open a listing > AI provider badge",
              "steps": [
                "Quick upload",
                "open a listing",
                "AI provider badge"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ai-provider-badge"
            },
            {
              "slug": "ai-generations",
              "name": "AI Generations",
              "what": "Collapsible panel listing every AI image job running on this listing with its status.",
              "path": "Quick upload > open a listing > AI Generations",
              "steps": [
                "Quick upload",
                "open a listing",
                "AI Generations"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "AI job running",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ai-generations"
            }
          ]
        },
        {
          "slug": "quick-upload-bulk-upload-from-one-listing",
          "name": "Bulk upload from one listing",
          "features": [
            {
              "slug": "bulk-upload",
              "name": "Bulk Upload",
              "what": "Button beside Publish draft that turns one finished listing into several near copies, enabled only once the listing is ready to publish.",
              "path": "Quick upload > open a listing > Bulk Upload",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": "listing ready to publish",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-bulk-upload"
            },
            {
              "slug": "count",
              "name": "Count",
              "what": "Sets how many extra variants to generate, between 2 and 20.",
              "path": "Quick upload > open a listing > Bulk Upload > Count",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Count"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-count"
            },
            {
              "slug": "image-model",
              "name": "Image model",
              "what": "Chooses the model that draws the variant thumbnails, including a Custom model ID option.",
              "path": "Quick upload > open a listing > Bulk Upload > Image model",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Image model"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-image-model"
            },
            {
              "slug": "custom-image-prompt",
              "name": "Custom image prompt",
              "what": "Replaces the default thumbnail prompt for the whole batch.",
              "path": "Quick upload > open a listing > Bulk Upload > Custom image prompt",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Custom image prompt"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-custom-image-prompt"
            },
            {
              "slug": "custom-title-prompt",
              "name": "Custom title prompt",
              "what": "Replaces the default title prompt for the whole batch.",
              "path": "Quick upload > open a listing > Bulk Upload > Custom title prompt",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Custom title prompt"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-custom-title-prompt"
            },
            {
              "slug": "continue",
              "name": "Continue",
              "what": "Opens the Bulk Upload Preview page and starts generating the variant images and titles in parallel.",
              "path": "Quick upload > open a listing > Bulk Upload > Continue",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Continue"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/",
              "requires": null,
              "api_operation_id": "ai_generate_image",
              "anchor": "https://eto.tools/dev/docs/#feat-continue"
            },
            {
              "slug": "bulk-upload-preview",
              "name": "Bulk Upload Preview",
              "what": "Shows the Main (your custom) card next to the generated variant rows, each marked Generating, Ready or Error.",
              "path": "Quick upload > open a listing > Bulk Upload > Continue",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Continue"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-bulk-upload-preview"
            },
            {
              "slug": "regenerate-title",
              "name": "Regenerate title",
              "what": "Redraws one variant title inside the variant edit modal.",
              "path": "Quick upload > open a listing > Bulk Upload > Continue > click a variant > Regenerate title",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Continue",
                "click a variant",
                "Regenerate title"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/",
              "requires": null,
              "api_operation_id": "ai_generate_title",
              "anchor": "https://eto.tools/dev/docs/#feat-regenerate-title"
            },
            {
              "slug": "regenerate-image",
              "name": "Regenerate image",
              "what": "Redraws one variant thumbnail, optionally from a short prompt you type.",
              "path": "Quick upload > open a listing > Bulk Upload > Continue > click a variant > Regenerate image",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Continue",
                "click a variant",
                "Regenerate image"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/",
              "requires": null,
              "api_operation_id": "ai_generate_image",
              "anchor": "https://eto.tools/dev/docs/#feat-regenerate-image"
            },
            {
              "slug": "variation-prices",
              "name": "Variation Prices",
              "what": "Edits the price of each variation for a variant listing, applied to every selected shop.",
              "path": "Quick upload > open a listing > Bulk Upload > Continue > click a variant > Variation Prices",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Continue",
                "click a variant",
                "Variation Prices"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/",
              "requires": "variations",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-variation-prices"
            },
            {
              "slug": "upload-all",
              "name": "Upload all",
              "what": "Creates every variant plus the main listing as drafts in the selected stores in one background job.",
              "path": "Quick upload > open a listing > Bulk Upload > Continue > Upload all",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Continue",
                "Upload all"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/",
              "requires": "connected store",
              "api_operation_id": "listing_create",
              "anchor": "https://eto.tools/dev/docs/#feat-upload-all"
            },
            {
              "slug": "schedule-bulk-group-2",
              "name": "Schedule bulk group",
              "what": "Queues the whole generated group to publish at a chosen date, time and timezone.",
              "path": "Quick upload > open a listing > Bulk Upload > Continue > Schedule bulk group",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Continue",
                "Schedule bulk group"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-schedule-bulk-group-2"
            },
            {
              "slug": "retry-failed",
              "name": "Retry failed",
              "what": "Regenerates only the variants whose image or title failed.",
              "path": "Quick upload > open a listing > Bulk Upload > Continue > Retry failed",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Continue",
                "Retry failed"
              ],
              "url": "https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/",
              "requires": "a failed variant",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-retry-failed"
            },
            {
              "slug": "back-to-listings",
              "name": "Back to listings",
              "what": "Leaves the builder and returns to the Quick upload list while the job keeps running.",
              "path": "Quick upload > open a listing > Bulk Upload > Continue > Back to listings",
              "steps": [
                "Quick upload",
                "open a listing",
                "Bulk Upload",
                "Continue",
                "Back to listings"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-back-to-listings"
            }
          ]
        },
        {
          "slug": "quick-upload-csv-and-excel-import",
          "name": "CSV and Excel import",
          "features": [
            {
              "slug": "upload-your-spreadsheet",
              "name": "Upload your spreadsheet",
              "what": "Step one of the wizard, where you drop a .csv, .xlsx or .xlsm file, including an Etsy bulk edit export.",
              "path": "Quick upload > New listing > Upload spreadsheet",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-upload-your-spreadsheet"
            },
            {
              "slug": "download-template",
              "name": "Download template",
              "what": "Downloads eto_listing_import_template.csv with the canonical headers and two example rows.",
              "path": "Quick upload > New listing > Upload spreadsheet > Download template",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Download template"
              ],
              "url": "https://eto.tools/api/single-research/csv-import/template/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-download-template"
            },
            {
              "slug": "just-a-couple-of-details",
              "name": "Just a couple of details",
              "what": "Step that only appears when the file left out a store, shipping profile, processing profile or return policy, and applies your choice to every missing row.",
              "path": "Quick upload > New listing > Upload spreadsheet > Continue",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Continue"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-just-a-couple-of-details"
            },
            {
              "slug": "review-and-edit",
              "name": "Review & edit",
              "what": "Step three, showing every parsed listing with counts of ready, warnings and blocked rows sorted worst first.",
              "path": "Quick upload > New listing > Upload spreadsheet > Continue > Continue",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Continue",
                "Continue"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-review-and-edit"
            },
            {
              "slug": "table",
              "name": "Table",
              "what": "Review view with an editable cell per field: title, type, category, price, quantity, SKU, tags, materials, who made, when made, shipping, processing, return, section and photos.",
              "path": "Quick upload > New listing > Upload spreadsheet > Review & edit > Table",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Review & edit",
                "Table"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-table"
            },
            {
              "slug": "cards",
              "name": "Cards",
              "what": "Review view showing each listing as a thumbnail card with its status badge and reasons.",
              "path": "Quick upload > New listing > Upload spreadsheet > Review & edit > Cards",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Review & edit",
                "Cards"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-cards"
            },
            {
              "slug": "choose-category",
              "name": "Choose category",
              "what": "Fix button on a blocked row that opens a searchable Etsy category picker.",
              "path": "Quick upload > New listing > Upload spreadsheet > Review & edit > Choose category",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Review & edit",
                "Choose category"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": "row with a category error",
              "api_operation_id": "categories",
              "anchor": "https://eto.tools/dev/docs/#feat-choose-category"
            },
            {
              "slug": "photo-cell",
              "name": "Photo cell",
              "what": "Steps through each photo URL on a row and lets you edit or add one inline.",
              "path": "Quick upload > New listing > Upload spreadsheet > Review & edit > Table",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Review & edit",
                "Table"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-photo-cell"
            },
            {
              "slug": "save-changes",
              "name": "Save changes",
              "what": "Revalidates your edits on the server before the wizard will let you upload.",
              "path": "Quick upload > New listing > Upload spreadsheet > Review & edit > Save changes",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Review & edit",
                "Save changes"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": "unsaved edits",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-save-changes"
            },
            {
              "slug": "select-all-ready-listings",
              "name": "Select all ready listings",
              "what": "Ticks every row that passed validation so only those get uploaded.",
              "path": "Quick upload > New listing > Upload spreadsheet > Review & edit > Select all ready listings",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Review & edit",
                "Select all ready listings"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all-ready-listings"
            },
            {
              "slug": "upload-n-to-draft",
              "name": "Upload n to draft",
              "what": "Runs the import, creating each selected row as a draft listing with a live progress bar and per row result.",
              "path": "Quick upload > New listing > Upload spreadsheet > Review & edit > Upload n to draft",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Review & edit",
                "Upload n to draft"
              ],
              "url": "https://eto.tools/dashboard/single-research/csv-import/",
              "requires": "connected store",
              "api_operation_id": "listing_create",
              "anchor": "https://eto.tools/dev/docs/#feat-upload-n-to-draft"
            },
            {
              "slug": "open-quick-upload",
              "name": "Open Quick upload",
              "what": "Ends the wizard and returns to the listing list once the import has finished.",
              "path": "Quick upload > New listing > Upload spreadsheet > Open Quick upload",
              "steps": [
                "Quick upload",
                "New listing",
                "Upload spreadsheet",
                "Open Quick upload"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-open-quick-upload"
            }
          ]
        }
      ]
    },
    {
      "slug": "va-admin",
      "name": "VA Admin",
      "url": "https://eto.tools/dashboard/va-admin/",
      "summary": "Create virtual assistant logins, set what each one may do per store, and review what they have done.",
      "anchor": "https://eto.tools/dev/docs/#where-va-admin",
      "markdown": "https://eto.tools/dev/docs/where/va-admin.md",
      "sections": [
        {
          "slug": "va-admin-assistant-list",
          "name": "Assistant list",
          "features": [
            {
              "slug": "search-virtual-assistants",
              "name": "Search virtual assistants",
              "what": "Filters the assistant cards as you type.",
              "path": "VA Admin > Search virtual assistants",
              "steps": [
                "VA Admin",
                "Search virtual assistants"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-virtual-assistants"
            },
            {
              "slug": "add-va",
              "name": "Add VA",
              "what": "Opens the form for creating a new assistant login.",
              "path": "VA Admin > Add VA",
              "steps": [
                "VA Admin",
                "Add VA"
              ],
              "url": "https://eto.tools/dashboard/va-admin/add/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-va"
            },
            {
              "slug": "assistant-card",
              "name": "Assistant card",
              "what": "Shows the assistant name, email, active status, join date and a summary of their Orders, Products and Product Hunt access.",
              "path": "VA Admin",
              "steps": [
                "VA Admin"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-assistant-card"
            },
            {
              "slug": "edit",
              "name": "Edit",
              "what": "Opens that assistant for editing.",
              "path": "VA Admin > Edit",
              "steps": [
                "VA Admin",
                "Edit"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/edit/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-edit"
            },
            {
              "slug": "delete-3",
              "name": "Delete",
              "what": "Asks to confirm, then removes the assistant and revokes their access to every store.",
              "path": "VA Admin > Delete",
              "steps": [
                "VA Admin",
                "Delete"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-3"
            }
          ]
        },
        {
          "slug": "va-admin-add-assistant",
          "name": "Add assistant",
          "features": [
            {
              "slug": "private-name",
              "name": "Private Name",
              "what": "Names the assistant for your eyes only, so you can tell several apart.",
              "path": "VA Admin > Add VA > Identity",
              "steps": [
                "VA Admin",
                "Add VA",
                "Identity"
              ],
              "url": "https://eto.tools/dashboard/va-admin/add/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-private-name"
            },
            {
              "slug": "display-name",
              "name": "Display Name",
              "what": "Sets the name the assistant sees when they sign in.",
              "path": "VA Admin > Add VA > Identity",
              "steps": [
                "VA Admin",
                "Add VA",
                "Identity"
              ],
              "url": "https://eto.tools/dashboard/va-admin/add/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-display-name"
            },
            {
              "slug": "first-name-and-last-name",
              "name": "First Name and Last Name",
              "what": "Records the person behind the account.",
              "path": "VA Admin > Add VA > Identity",
              "steps": [
                "VA Admin",
                "Add VA",
                "Identity"
              ],
              "url": "https://eto.tools/dashboard/va-admin/add/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-first-name-and-last-name"
            },
            {
              "slug": "email-address",
              "name": "Email Address",
              "what": "Sets the address the assistant signs in with.",
              "path": "VA Admin > Add VA > Login Credentials",
              "steps": [
                "VA Admin",
                "Add VA",
                "Login Credentials"
              ],
              "url": "https://eto.tools/dashboard/va-admin/add/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-email-address"
            },
            {
              "slug": "password",
              "name": "Password",
              "what": "Sets the assistant password, with a show/hide toggle and a live strength meter.",
              "path": "VA Admin > Add VA > Login Credentials",
              "steps": [
                "VA Admin",
                "Add VA",
                "Login Credentials"
              ],
              "url": "https://eto.tools/dashboard/va-admin/add/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-password"
            },
            {
              "slug": "gemini-api-key-2",
              "name": "Gemini API Key",
              "what": "Optionally gives the assistant their own Gemini key instead of using the owner AI provider.",
              "path": "VA Admin > Add VA > VA API Keys",
              "steps": [
                "VA Admin",
                "Add VA",
                "VA API Keys"
              ],
              "url": "https://eto.tools/dashboard/va-admin/add/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gemini-api-key-2"
            },
            {
              "slug": "product-hunt",
              "name": "Product Hunt",
              "what": "Toggles whether the assistant may use the Etsy product research tool.",
              "path": "VA Admin > Add VA > Product Hunt",
              "steps": [
                "VA Admin",
                "Add VA",
                "Product Hunt"
              ],
              "url": "https://eto.tools/dashboard/va-admin/add/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-product-hunt"
            },
            {
              "slug": "store-permissions",
              "name": "Store Permissions",
              "what": "Picks which stores the assistant can work in, with a running selected count.",
              "path": "VA Admin > Add VA > Store Permissions",
              "steps": [
                "VA Admin",
                "Add VA",
                "Store Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/add/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-permissions"
            }
          ]
        },
        {
          "slug": "va-admin-edit-assistant",
          "name": "Edit assistant",
          "features": [
            {
              "slug": "details-tab",
              "name": "Details tab",
              "what": "Edits identity, password and the Gemini key; the email address is fixed after creation.",
              "path": "VA Admin > Edit > Details",
              "steps": [
                "VA Admin",
                "Edit",
                "Details"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/edit/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-details-tab"
            },
            {
              "slug": "active-toggle",
              "name": "Active toggle",
              "what": "Suspends or restores the assistant login without deleting the account.",
              "path": "VA Admin > Edit > Details > Account",
              "steps": [
                "VA Admin",
                "Edit",
                "Details",
                "Account"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/edit/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-active-toggle"
            },
            {
              "slug": "order-permissions-card",
              "name": "Order Permissions card",
              "what": "Opens the per-store order permission editor and shows how many stores are covered.",
              "path": "VA Admin > Edit > Details > Order Permissions",
              "steps": [
                "VA Admin",
                "Edit",
                "Details",
                "Order Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-order-permissions-card"
            },
            {
              "slug": "upload-permissions-card",
              "name": "Upload Permissions card",
              "what": "Opens the per-store upload permission editor and shows how many stores are covered.",
              "path": "VA Admin > Edit > Details > Upload Permissions",
              "steps": [
                "VA Admin",
                "Edit",
                "Details",
                "Upload Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/uploads/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-upload-permissions-card"
            },
            {
              "slug": "product-hunt-toggle",
              "name": "Product Hunt toggle",
              "what": "Turns the research tool on or off for this assistant.",
              "path": "VA Admin > Edit > Details > Product Hunt",
              "steps": [
                "VA Admin",
                "Edit",
                "Details",
                "Product Hunt"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/edit/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-product-hunt-toggle"
            },
            {
              "slug": "delete-va",
              "name": "Delete VA",
              "what": "Asks to confirm, then deletes the assistant and their store access.",
              "path": "VA Admin > Edit > Delete",
              "steps": [
                "VA Admin",
                "Edit",
                "Delete"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/edit/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-va"
            }
          ]
        },
        {
          "slug": "va-admin-activity-log",
          "name": "Activity log",
          "features": [
            {
              "slug": "login-status",
              "name": "Login Status",
              "what": "Shows whether the assistant is signed in now and when they last were.",
              "path": "VA Admin > Edit > Activity > Login Status",
              "steps": [
                "VA Admin",
                "Edit",
                "Activity",
                "Login Status"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/edit/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-login-status"
            },
            {
              "slug": "etsy-searches",
              "name": "Etsy Searches",
              "what": "Lists the product searches the assistant ran, with a count.",
              "path": "VA Admin > Edit > Activity > Etsy Searches",
              "steps": [
                "VA Admin",
                "Edit",
                "Activity",
                "Etsy Searches"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/edit/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-etsy-searches"
            },
            {
              "slug": "listings-uploaded",
              "name": "Listings Uploaded",
              "what": "Lists the listings the assistant published, with a count.",
              "path": "VA Admin > Edit > Activity > Listings Uploaded",
              "steps": [
                "VA Admin",
                "Edit",
                "Activity",
                "Listings Uploaded"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/edit/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-listings-uploaded"
            },
            {
              "slug": "orders-fulfilled",
              "name": "Orders Fulfilled",
              "what": "Lists the orders the assistant completed, with a count.",
              "path": "VA Admin > Edit > Activity > Orders Fulfilled",
              "steps": [
                "VA Admin",
                "Edit",
                "Activity",
                "Orders Fulfilled"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/edit/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders-fulfilled"
            }
          ]
        },
        {
          "slug": "va-admin-order-permissions-page",
          "name": "Order permissions page",
          "features": [
            {
              "slug": "search-stores-4",
              "name": "Search stores",
              "what": "Filters the store rows on the permission page.",
              "path": "VA Admin > Edit > Order Permissions > Search stores",
              "steps": [
                "VA Admin",
                "Edit",
                "Order Permissions",
                "Search stores"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-stores-4"
            },
            {
              "slug": "enable-all",
              "name": "Enable All",
              "what": "Turns every order permission on for every listed store.",
              "path": "VA Admin > Edit > Order Permissions > Enable All",
              "steps": [
                "VA Admin",
                "Edit",
                "Order Permissions",
                "Enable All"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-enable-all"
            },
            {
              "slug": "disable-all",
              "name": "Disable All",
              "what": "Turns every order permission off for every listed store.",
              "path": "VA Admin > Edit > Order Permissions > Disable All",
              "steps": [
                "VA Admin",
                "Edit",
                "Order Permissions",
                "Disable All"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-disable-all"
            },
            {
              "slug": "view-orders",
              "name": "View Orders",
              "what": "Lets the assistant see the order list and order details for that store.",
              "path": "VA Admin > Edit > Order Permissions",
              "steps": [
                "VA Admin",
                "Edit",
                "Order Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-view-orders"
            },
            {
              "slug": "create-links",
              "name": "Create Links",
              "what": "Lets the assistant create supplier share links.",
              "path": "VA Admin > Edit > Order Permissions > Supplier",
              "steps": [
                "VA Admin",
                "Edit",
                "Order Permissions",
                "Supplier"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-create-links"
            },
            {
              "slug": "view-tracking",
              "name": "View Tracking",
              "what": "Lets the assistant see supplier tracking entries.",
              "path": "VA Admin > Edit > Order Permissions > Supplier",
              "steps": [
                "VA Admin",
                "Edit",
                "Order Permissions",
                "Supplier"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-view-tracking"
            },
            {
              "slug": "delete-links",
              "name": "Delete Links",
              "what": "Lets the assistant remove supplier share links.",
              "path": "VA Admin > Edit > Order Permissions > Supplier",
              "steps": [
                "VA Admin",
                "Edit",
                "Order Permissions",
                "Supplier"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-links"
            },
            {
              "slug": "delete-variations",
              "name": "Delete Variations",
              "what": "Lets the assistant remove supplier tracking entries.",
              "path": "VA Admin > Edit > Order Permissions > Supplier",
              "steps": [
                "VA Admin",
                "Edit",
                "Order Permissions",
                "Supplier"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-variations"
            },
            {
              "slug": "complete-orders",
              "name": "Complete Orders",
              "what": "Lets the assistant mark an order complete through a supplier.",
              "path": "VA Admin > Edit > Order Permissions > Supplier",
              "steps": [
                "VA Admin",
                "Edit",
                "Order Permissions",
                "Supplier"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-complete-orders"
            },
            {
              "slug": "unsaved-changes",
              "name": "Unsaved changes",
              "what": "Warns that permission edits are still pending, cleared by Save.",
              "path": "VA Admin > Edit > Order Permissions",
              "steps": [
                "VA Admin",
                "Edit",
                "Order Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-unsaved-changes"
            }
          ]
        },
        {
          "slug": "va-admin-upload-permissions-page",
          "name": "Upload permissions page",
          "features": [
            {
              "slug": "upload-products",
              "name": "Upload Products",
              "what": "Lets the assistant upload single products to that store.",
              "path": "VA Admin > Edit > Upload Permissions",
              "steps": [
                "VA Admin",
                "Edit",
                "Upload Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/uploads/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-upload-products"
            },
            {
              "slug": "bulk-upload-2",
              "name": "Bulk Upload",
              "what": "Lets the assistant upload many listings at once.",
              "path": "VA Admin > Edit > Upload Permissions",
              "steps": [
                "VA Admin",
                "Edit",
                "Upload Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/uploads/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-bulk-upload-2"
            },
            {
              "slug": "product-type",
              "name": "Product Type",
              "what": "Restricts the assistant to all products, digital only or physical only.",
              "path": "VA Admin > Edit > Upload Permissions",
              "steps": [
                "VA Admin",
                "Edit",
                "Upload Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/uploads/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-product-type"
            },
            {
              "slug": "view-active-listings",
              "name": "View Active Listings",
              "what": "Lets the assistant see the owner active listings for that store.",
              "path": "VA Admin > Edit > Upload Permissions",
              "steps": [
                "VA Admin",
                "Edit",
                "Upload Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/uploads/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-view-active-listings"
            },
            {
              "slug": "view-drafts",
              "name": "View Drafts",
              "what": "Lets the assistant see the owner draft listings.",
              "path": "VA Admin > Edit > Upload Permissions",
              "steps": [
                "VA Admin",
                "Edit",
                "Upload Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/uploads/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-view-drafts"
            },
            {
              "slug": "view-scheduled",
              "name": "View Scheduled",
              "what": "Lets the assistant see the owner scheduled listings.",
              "path": "VA Admin > Edit > Upload Permissions",
              "steps": [
                "VA Admin",
                "Edit",
                "Upload Permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/uploads/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-view-scheduled"
            },
            {
              "slug": "save-3",
              "name": "Save",
              "what": "Writes the whole permission set for every store at once.",
              "path": "VA Admin > Edit > Upload Permissions > Save",
              "steps": [
                "VA Admin",
                "Edit",
                "Upload Permissions",
                "Save"
              ],
              "url": "https://eto.tools/dashboard/va-admin/{va_id}/permissions/uploads/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-save-3"
            }
          ]
        }
      ]
    },
    {
      "slug": "product-hunt",
      "name": "Product Hunt",
      "url": "https://eto.tools/dashboard/etsy-search/",
      "summary": "Searches the Etsy marketplace for a keyword, scores every listing for 24h demand, and shows the results as a filterable card grid.",
      "anchor": "https://eto.tools/dev/docs/#where-product-hunt",
      "markdown": "https://eto.tools/dev/docs/where/product-hunt.md",
      "sections": [
        {
          "slug": "product-hunt-search",
          "name": "Search",
          "features": [
            {
              "slug": "search-product-hunt-listings",
              "name": "Search Product Hunt listings",
              "what": "Text box for the keyword you want to research on Etsy.",
              "path": "Product Hunt > Search Product Hunt listings",
              "steps": [
                "Product Hunt",
                "Search Product Hunt listings"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": "product_hunt",
              "anchor": "https://eto.tools/dev/docs/#feat-search-product-hunt-listings"
            },
            {
              "slug": "search-button",
              "name": "Search button",
              "what": "Starts the hunt for the keyword in the box; pressing Enter in the box does the same.",
              "path": "Product Hunt > Search",
              "steps": [
                "Product Hunt",
                "Search"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": "product_hunt",
              "anchor": "https://eto.tools/dev/docs/#feat-search-button"
            },
            {
              "slug": "search-settings",
              "name": "Search settings",
              "what": "Icon button that opens the dropdown holding the four search options.",
              "path": "Product Hunt > Search settings",
              "steps": [
                "Product Hunt",
                "Search settings"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-settings"
            },
            {
              "slug": "amount-of-products",
              "name": "Amount of Products",
              "what": "Sets how many listings the hunt scans, from 1 up to 10000.",
              "path": "Product Hunt > Search settings > Amount of Products",
              "steps": [
                "Product Hunt",
                "Search settings",
                "Amount of Products"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": "product_hunt",
              "anchor": "https://eto.tools/dev/docs/#feat-amount-of-products"
            },
            {
              "slug": "max-listing-age-months",
              "name": "Max Listing Age (months)",
              "what": "Keeps only listings created within the last N months; blank means no age limit.",
              "path": "Product Hunt > Search settings > Max Listing Age (months)",
              "steps": [
                "Product Hunt",
                "Search settings",
                "Max Listing Age (months)"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": "product_hunt",
              "anchor": "https://eto.tools/dev/docs/#feat-max-listing-age-months"
            },
            {
              "slug": "full-product-details",
              "name": "Full Product Details",
              "what": "Switch that runs the slower deep scan so every card carries full listing data.",
              "path": "Product Hunt > Search settings > Full Product Details",
              "steps": [
                "Product Hunt",
                "Search settings",
                "Full Product Details"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": "product_hunt",
              "anchor": "https://eto.tools/dev/docs/#feat-full-product-details"
            },
            {
              "slug": "optimized-mode",
              "name": "Optimized Mode",
              "what": "Switch, on by default, that lets the AI drop off-topic listings and rank the rest; it disables Full Product Details while on.",
              "path": "Product Hunt > Search settings > Optimized Mode",
              "steps": [
                "Product Hunt",
                "Search settings",
                "Optimized Mode"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": "product_hunt",
              "anchor": "https://eto.tools/dev/docs/#feat-optimized-mode"
            },
            {
              "slug": "settings-summary-strip",
              "name": "Settings summary strip",
              "what": "One line under the search box repeating the amount, age limit and any mode that is on.",
              "path": "Product Hunt > Search settings",
              "steps": [
                "Product Hunt",
                "Search settings"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-settings-summary-strip"
            },
            {
              "slug": "progress-bar",
              "name": "Progress bar",
              "what": "Bar that narrates each phase of the run, from collecting listings to pruning, demand and ranking.",
              "path": "Product Hunt > Search",
              "steps": [
                "Product Hunt",
                "Search"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-progress-bar"
            },
            {
              "slug": "no-store-connected-empty-state",
              "name": "No Store Connected empty state",
              "what": "Replaces the whole page with a Connect Store prompt when the account has no Etsy store.",
              "path": "Product Hunt",
              "steps": [
                "Product Hunt"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-no-store-connected-empty-state"
            },
            {
              "slug": "daily-limit-reached-popup",
              "name": "Daily limit reached popup",
              "what": "Blocks the search and shows how many hunts of the daily allowance are used when the plan limit is hit.",
              "path": "Product Hunt > Search",
              "steps": [
                "Product Hunt",
                "Search"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-daily-limit-reached-popup"
            }
          ]
        },
        {
          "slug": "product-hunt-filters-and-sorting",
          "name": "Filters and sorting",
          "features": [
            {
              "slug": "sort-by-2",
              "name": "Sort by",
              "what": "Orders the results by demand, listing age, shop age, price, favorites, views, rating, reviews, quantity, shop sales, estimated sales per month or estimated revenue per month.",
              "path": "Product Hunt > Sort by",
              "steps": [
                "Product Hunt",
                "Sort by"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-by-2"
            },
            {
              "slug": "ranked-score",
              "name": "Ranked Score",
              "what": "Extra sort option added after an Optimized Mode run that orders cards by the AI opportunity score.",
              "path": "Product Hunt > Sort by > Ranked Score",
              "steps": [
                "Product Hunt",
                "Sort by",
                "Ranked Score"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ranked-score"
            },
            {
              "slug": "sort-direction-2",
              "name": "Sort direction",
              "what": "Flips the chosen sort between high to low and low to high.",
              "path": "Product Hunt > Sort by",
              "steps": [
                "Product Hunt",
                "Sort by"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-direction-2"
            },
            {
              "slug": "type-2",
              "name": "Type",
              "what": "Shows only digital or only physical listings.",
              "path": "Product Hunt > Type",
              "steps": [
                "Product Hunt",
                "Type"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-type-2"
            },
            {
              "slug": "variations",
              "name": "Variations",
              "what": "Shows only listings with variations or only listings without them.",
              "path": "Product Hunt > Variations",
              "steps": [
                "Product Hunt",
                "Variations"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-variations"
            },
            {
              "slug": "ships-from",
              "name": "Ships from",
              "what": "Country menu filled from the countries actually present in the results.",
              "path": "Product Hunt > Ships from",
              "steps": [
                "Product Hunt",
                "Ships from"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ships-from"
            },
            {
              "slug": "search-within-results",
              "name": "Search within results",
              "what": "Text box that narrows the visible cards to titles containing what you type.",
              "path": "Product Hunt > Search",
              "steps": [
                "Product Hunt",
                "Search"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-within-results"
            },
            {
              "slug": "column-count",
              "name": "Column count",
              "what": "Buttons 2 to 7 that set how many cards sit in a row, remembered in the browser.",
              "path": "Product Hunt > column buttons",
              "steps": [
                "Product Hunt",
                "column buttons"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-column-count"
            },
            {
              "slug": "prev-and-next",
              "name": "Prev and Next",
              "what": "Page through the result grid using the pager above and below the cards.",
              "path": "Product Hunt > Next",
              "steps": [
                "Product Hunt",
                "Next"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-prev-and-next"
            }
          ]
        },
        {
          "slug": "product-hunt-result-cards",
          "name": "Result cards",
          "features": [
            {
              "slug": "demand-badge",
              "name": "Demand badge",
              "what": "Flame badge on each card showing units sold in the last 24 hours, tinted zero, low, medium or high.",
              "path": "Product Hunt > card",
              "steps": [
                "Product Hunt",
                "card"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-demand-badge"
            },
            {
              "slug": "ranked-score-badge",
              "name": "Ranked score badge",
              "what": "Second badge shown after an Optimized Mode run carrying the AI score out of 100, with its reason on hover.",
              "path": "Product Hunt > card",
              "steps": [
                "Product Hunt",
                "card"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ranked-score-badge"
            },
            {
              "slug": "ai-reason",
              "name": "AI reason",
              "what": "Short sentence at the foot of the card explaining why the AI ranked that listing where it did.",
              "path": "Product Hunt > card",
              "steps": [
                "Product Hunt",
                "card"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ai-reason"
            },
            {
              "slug": "id-pill",
              "name": "ID pill",
              "what": "Click the listing ID on a card to copy it to the clipboard.",
              "path": "Product Hunt > card > ID",
              "steps": [
                "Product Hunt",
                "card",
                "ID"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-id-pill"
            },
            {
              "slug": "etsy-link-2",
              "name": "Etsy link",
              "what": "Corner link that opens the listing on Etsy in a new tab without opening the drawer.",
              "path": "Product Hunt > card > Etsy",
              "steps": [
                "Product Hunt",
                "card",
                "Etsy"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-etsy-link-2"
            },
            {
              "slug": "favourite-heart",
              "name": "Favourite heart",
              "what": "Saves the listing to the Quick Thoughts favourites list in the sidebar.",
              "path": "Product Hunt > card > heart",
              "steps": [
                "Product Hunt",
                "card",
                "heart"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-favourite-heart"
            },
            {
              "slug": "card-meta-pills",
              "name": "Card meta pills",
              "what": "Row of pills under each card holding created date, shop age, shop sales, ships-from country, views and favourites.",
              "path": "Product Hunt > card",
              "steps": [
                "Product Hunt",
                "card"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-card-meta-pills"
            },
            {
              "slug": "estimated-sales-and-revenue-pills",
              "name": "Estimated sales and revenue pills",
              "what": "Two pills estimating monthly sales and revenue from demand, reviews, views and price, or two question marks when there is no demand reading.",
              "path": "Product Hunt > card",
              "steps": [
                "Product Hunt",
                "card"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-estimated-sales-and-revenue-pills"
            },
            {
              "slug": "pill-tooltips",
              "name": "Pill tooltips",
              "what": "Hovering a pill shows the exact shop opening date, the full ships-from country name, or a warning that the estimates are approximate.",
              "path": "Product Hunt > card",
              "steps": [
                "Product Hunt",
                "card"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-pill-tooltips"
            }
          ]
        },
        {
          "slug": "product-hunt-listing-detail-drawer",
          "name": "Listing detail drawer",
          "features": [
            {
              "slug": "open-detail-drawer",
              "name": "Open detail drawer",
              "what": "Clicking a card slides in a drawer with the full listing, closed with Escape or the close button.",
              "path": "Product Hunt > card",
              "steps": [
                "Product Hunt",
                "card"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-open-detail-drawer"
            },
            {
              "slug": "drawer-stats",
              "name": "Drawer stats",
              "what": "Top block listing created date, shop age, shop sales, ships from, views, favorers and the two estimates.",
              "path": "Product Hunt > card > drawer",
              "steps": [
                "Product Hunt",
                "card",
                "drawer"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-drawer-stats"
            },
            {
              "slug": "drawer-facts",
              "name": "Drawer facts",
              "what": "Definition list holding listing ID, type, quantity, price, last modified date and shop name.",
              "path": "Product Hunt > card > drawer",
              "steps": [
                "Product Hunt",
                "card",
                "drawer"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-drawer-facts"
            },
            {
              "slug": "copy-title-description-tags-and-materials",
              "name": "Copy title, description, tags and materials",
              "what": "Each text section in the drawer has its own copy button.",
              "path": "Product Hunt > card > drawer > Copy",
              "steps": [
                "Product Hunt",
                "card",
                "drawer",
                "Copy"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy-title-description-tags-and-materials"
            },
            {
              "slug": "offerings",
              "name": "Offerings",
              "what": "Collapsible table of every variation offering with its price, quantity and enabled state, plus a Retry when inventory has not loaded.",
              "path": "Product Hunt > card > drawer > Offerings",
              "steps": [
                "Product Hunt",
                "card",
                "drawer",
                "Offerings"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-offerings"
            },
            {
              "slug": "images",
              "name": "Images",
              "what": "Collapsible image slider with prev and next arrows, a counter and thumbnails.",
              "path": "Product Hunt > card > drawer > Images",
              "steps": [
                "Product Hunt",
                "card",
                "drawer",
                "Images"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-images"
            },
            {
              "slug": "reviews",
              "name": "Reviews",
              "what": "Collapsible table of up to fifty reviews with rating, language and text.",
              "path": "Product Hunt > card > drawer > Reviews",
              "steps": [
                "Product Hunt",
                "card",
                "drawer",
                "Reviews"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-reviews"
            },
            {
              "slug": "open-on-etsy-2",
              "name": "Open on Etsy",
              "what": "Foot link that opens the listing page on Etsy.",
              "path": "Product Hunt > card > drawer > Open on Etsy",
              "steps": [
                "Product Hunt",
                "card",
                "drawer",
                "Open on Etsy"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-open-on-etsy-2"
            }
          ]
        },
        {
          "slug": "product-hunt-privacy-and-history",
          "name": "Privacy and history",
          "features": [
            {
              "slug": "always-incognito",
              "name": "Always incognito",
              "what": "Product Hunt results are held in the browser only and never written to the database, so leaving or reloading the page loses them.",
              "path": "Product Hunt",
              "steps": [
                "Product Hunt"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-always-incognito"
            },
            {
              "slug": "search-summary-saved-to-history",
              "name": "Search summary saved to history",
              "what": "After a run the keyword and its headline numbers are pushed to the sidebar search history.",
              "path": "Product Hunt > Search",
              "steps": [
                "Product Hunt",
                "Search"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "full tracking enabled on the account",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-summary-saved-to-history"
            }
          ]
        }
      ]
    },
    {
      "slug": "shop-spy",
      "name": "Shop Spy",
      "url": "https://eto.tools/dashboard/shop-spy/",
      "summary": "Takes any Etsy listing link and pulls that whole shop, then lets you sort and filter every active listing it has.",
      "anchor": "https://eto.tools/dev/docs/#where-shop-spy",
      "markdown": "https://eto.tools/dev/docs/where/shop-spy.md",
      "sections": [
        {
          "slug": "shop-spy-lookup",
          "name": "Lookup",
          "features": [
            {
              "slug": "paste-an-etsy-product-url-or-listing-id",
              "name": "Paste an Etsy product URL or listing ID",
              "what": "Input that accepts a full Etsy listing link or the bare numeric listing ID.",
              "path": "Shop Spy > URL box",
              "steps": [
                "Shop Spy",
                "URL box"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-paste-an-etsy-product-url-or-listing-id"
            },
            {
              "slug": "analyse-shop",
              "name": "Analyse shop",
              "what": "Looks up the shop behind that listing and starts loading every active listing it has.",
              "path": "Shop Spy > Analyse shop",
              "steps": [
                "Shop Spy",
                "Analyse shop"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-analyse-shop"
            },
            {
              "slug": "progress-bar-2",
              "name": "Progress bar",
              "what": "Reports the two loading phases, collecting listing IDs and then hydrating their details.",
              "path": "Shop Spy > Analyse shop",
              "steps": [
                "Shop Spy",
                "Analyse shop"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-progress-bar-2"
            }
          ]
        },
        {
          "slug": "shop-spy-shop-bar",
          "name": "Shop bar",
          "features": [
            {
              "slug": "shop-summary-line",
              "name": "Shop summary line",
              "what": "One row with the shop icon, name, listing count, sales, favourites, rating and review count.",
              "path": "Shop Spy > Analyse shop",
              "steps": [
                "Shop Spy",
                "Analyse shop"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-shop-summary-line"
            },
            {
              "slug": "visit-shop",
              "name": "Visit Shop",
              "what": "Opens the shop page on Etsy in a new tab.",
              "path": "Shop Spy > Visit Shop",
              "steps": [
                "Shop Spy",
                "Visit Shop"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-visit-shop"
            }
          ]
        },
        {
          "slug": "shop-spy-filters-and-sorting",
          "name": "Filters and sorting",
          "features": [
            {
              "slug": "sort-by-3",
              "name": "Sort by",
              "what": "Orders the shop listings by created date, price, views, favorites or quantity.",
              "path": "Shop Spy > Sort by",
              "steps": [
                "Shop Spy",
                "Sort by"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-by-3"
            },
            {
              "slug": "sort-direction-3",
              "name": "Sort direction",
              "what": "Flips the chosen sort between high to low and low to high.",
              "path": "Shop Spy > Sort by",
              "steps": [
                "Shop Spy",
                "Sort by"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-direction-3"
            },
            {
              "slug": "type-3",
              "name": "Type",
              "what": "Shows only the digital or only the physical listings in the shop.",
              "path": "Shop Spy > Type",
              "steps": [
                "Shop Spy",
                "Type"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-type-3"
            },
            {
              "slug": "variations-2",
              "name": "Variations",
              "what": "Shows only listings with variations or only listings without them.",
              "path": "Shop Spy > Variations",
              "steps": [
                "Shop Spy",
                "Variations"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-variations-2"
            },
            {
              "slug": "search-2",
              "name": "Search",
              "what": "Narrows the grid to listings whose title or description contains what you type.",
              "path": "Shop Spy > Search",
              "steps": [
                "Shop Spy",
                "Search"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-2"
            },
            {
              "slug": "column-count-2",
              "name": "Column count",
              "what": "Buttons 3 to 7 that set how many cards sit in a row.",
              "path": "Shop Spy > column buttons",
              "steps": [
                "Shop Spy",
                "column buttons"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-column-count-2"
            },
            {
              "slug": "previous-and-next",
              "name": "Previous and Next",
              "what": "Pages through the listings 48 at a time using the pager above and below the grid.",
              "path": "Shop Spy > Next",
              "steps": [
                "Shop Spy",
                "Next"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-previous-and-next"
            }
          ]
        },
        {
          "slug": "shop-spy-listing-cards-and-drawer",
          "name": "Listing cards and drawer",
          "features": [
            {
              "slug": "listing-card",
              "name": "Listing card",
              "what": "Card per listing with image, title, price and pills for created date, views, favourites, quantity, digital or physical and whether it has variations.",
              "path": "Shop Spy > card",
              "steps": [
                "Shop Spy",
                "card"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-listing-card"
            },
            {
              "slug": "id-pill-2",
              "name": "ID pill",
              "what": "Click the listing ID on a card to copy it to the clipboard.",
              "path": "Shop Spy > card > ID",
              "steps": [
                "Shop Spy",
                "card",
                "ID"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-id-pill-2"
            },
            {
              "slug": "etsy-link-3",
              "name": "Etsy link",
              "what": "Corner link that opens the listing on Etsy without opening the drawer.",
              "path": "Shop Spy > card > Etsy",
              "steps": [
                "Shop Spy",
                "card",
                "Etsy"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-etsy-link-3"
            },
            {
              "slug": "detail-drawer",
              "name": "Detail drawer",
              "what": "Clicking a card opens a drawer with listing ID, created and modified dates, price, type, quantity, favorers, views, who made, when made, language, full title and description.",
              "path": "Shop Spy > card",
              "steps": [
                "Shop Spy",
                "card"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-detail-drawer"
            },
            {
              "slug": "offerings-2",
              "name": "Offerings",
              "what": "Collapsible table in the drawer showing each offering with price, quantity and enabled state.",
              "path": "Shop Spy > card > Offerings",
              "steps": [
                "Shop Spy",
                "card",
                "Offerings"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-offerings-2"
            },
            {
              "slug": "images-2",
              "name": "Images",
              "what": "Collapsible image slider in the drawer with arrows, a counter and thumbnails.",
              "path": "Shop Spy > card > Images",
              "steps": [
                "Shop Spy",
                "card",
                "Images"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-images-2"
            },
            {
              "slug": "reviews-2",
              "name": "Reviews",
              "what": "Collapsible table in the drawer of up to fifty reviews with rating, language and text.",
              "path": "Shop Spy > card > Reviews",
              "steps": [
                "Shop Spy",
                "card",
                "Reviews"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-reviews-2"
            },
            {
              "slug": "open-on-etsy-3",
              "name": "Open on Etsy",
              "what": "Link inside the drawer to the listing page on Etsy.",
              "path": "Shop Spy > card > Etsy Link",
              "steps": [
                "Shop Spy",
                "card",
                "Etsy Link"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-open-on-etsy-3"
            }
          ]
        }
      ]
    },
    {
      "slug": "gallery",
      "name": "Gallery",
      "url": "https://eto.tools/dashboard/gallery/",
      "summary": "Chat with Gemini to generate, edit and keep product imagery for your listings.",
      "anchor": "https://eto.tools/dev/docs/#where-gallery",
      "markdown": "https://eto.tools/dev/docs/where/gallery.md",
      "sections": [
        {
          "slug": "gallery-chat-and-modes",
          "name": "Chat and modes",
          "features": [
            {
              "slug": "auto",
              "name": "Auto",
              "what": "Reads what you typed and decides between a text answer and an image, triggering on words like generate, create, make, draw, design, render, image, photo, mockup or thumbnail.",
              "path": "Gallery > Auto",
              "steps": [
                "Gallery",
                "Auto"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-auto"
            },
            {
              "slug": "text",
              "name": "Text",
              "what": "Chats only and never generates an image.",
              "path": "Gallery > Text",
              "steps": [
                "Gallery",
                "Text"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": "ai_chat",
              "anchor": "https://eto.tools/dev/docs/#feat-text"
            },
            {
              "slug": "image",
              "name": "Image",
              "what": "Treats every message as an image request, and is the default.",
              "path": "Gallery > Image",
              "steps": [
                "Gallery",
                "Image"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": "ai_generate_image",
              "anchor": "https://eto.tools/dev/docs/#feat-image"
            },
            {
              "slug": "compare",
              "name": "Compare",
              "what": "Runs every model at once and shows the results side by side in one row.",
              "path": "Gallery > Compare",
              "steps": [
                "Gallery",
                "Compare"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-compare"
            },
            {
              "slug": "start-with-a-prompt",
              "name": "Start with a prompt",
              "what": "Welcome screen with three ready made prompts: Product photo on linen, White-background cutout and Listing thumbnail.",
              "path": "Gallery",
              "steps": [
                "Gallery"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-start-with-a-prompt"
            },
            {
              "slug": "new-chat",
              "name": "New Chat",
              "what": "Clears the transcript and starts a fresh conversation.",
              "path": "Gallery > New Chat",
              "steps": [
                "Gallery",
                "New Chat"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-new-chat"
            },
            {
              "slug": "load-earlier-messages",
              "name": "Load earlier messages",
              "what": "Prepends the previous page of 30 stored messages to the transcript.",
              "path": "Gallery > Load earlier messages",
              "steps": [
                "Gallery",
                "Load earlier messages"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": "a longer chat",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-load-earlier-messages"
            },
            {
              "slug": "thoughts",
              "name": "Thoughts",
              "what": "Collapsible block under a reply showing the model reasoning when the model returns it.",
              "path": "Gallery > Thoughts",
              "steps": [
                "Gallery",
                "Thoughts"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-thoughts"
            },
            {
              "slug": "sources",
              "name": "Sources",
              "what": "Row of source links shown under a reply that used Google Search grounding.",
              "path": "Gallery > Web search > Sources",
              "steps": [
                "Gallery",
                "Web search",
                "Sources"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": "Web search on",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sources"
            }
          ]
        },
        {
          "slug": "gallery-composer",
          "name": "Composer",
          "features": [
            {
              "slug": "files",
              "name": "Files",
              "what": "Attaches up to four images to the message, and you can also paste or drag and drop them.",
              "path": "Gallery > Files",
              "steps": [
                "Gallery",
                "Files"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-files"
            },
            {
              "slug": "settings-2",
              "name": "Settings",
              "what": "Opens the in card drawer holding Model, Aspect Ratio and Resolution.",
              "path": "Gallery > Settings",
              "steps": [
                "Gallery",
                "Settings"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-settings-2"
            },
            {
              "slug": "model-2",
              "name": "Model",
              "what": "Picks between 3 Pro Image, 3.1 Flash Image, 2.5 Flash Image, 2.5 Flash (text) and 2.5 Pro (text).",
              "path": "Gallery > Settings > Model",
              "steps": [
                "Gallery",
                "Settings",
                "Model"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-model-2"
            },
            {
              "slug": "aspect-ratio",
              "name": "Aspect Ratio",
              "what": "Sets the output shape to 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3 or 21:9.",
              "path": "Gallery > Settings > Aspect Ratio",
              "steps": [
                "Gallery",
                "Settings",
                "Aspect Ratio"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-aspect-ratio"
            },
            {
              "slug": "resolution",
              "name": "Resolution",
              "what": "Sets the output size to 1K, 2K or 4K.",
              "path": "Gallery > Settings > Resolution",
              "steps": [
                "Gallery",
                "Settings",
                "Resolution"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-resolution"
            },
            {
              "slug": "web-search",
              "name": "Web search",
              "what": "Lets the model check Google Search before answering a text question.",
              "path": "Gallery > Web search",
              "steps": [
                "Gallery",
                "Web search"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-web-search"
            },
            {
              "slug": "annotate-image",
              "name": "Annotate Image",
              "what": "Opens the annotator so you can mark up an attached or generated image before asking for a change.",
              "path": "Gallery > Annotate Image",
              "steps": [
                "Gallery",
                "Annotate Image"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": "an attached or generated image",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-annotate-image"
            },
            {
              "slug": "send",
              "name": "Send",
              "what": "Sends the message, and Enter does the same while Shift+Enter adds a new line.",
              "path": "Gallery > Send",
              "steps": [
                "Gallery",
                "Send"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-send"
            }
          ]
        },
        {
          "slug": "gallery-annotator",
          "name": "Annotator",
          "features": [
            {
              "slug": "draw-circle",
              "name": "Draw circle",
              "what": "Circles an area of the image so you can describe what belongs there.",
              "path": "Gallery > Annotate Image > Draw circle",
              "steps": [
                "Gallery",
                "Annotate Image",
                "Draw circle"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-draw-circle"
            },
            {
              "slug": "draw-rectangle",
              "name": "Draw rectangle",
              "what": "Boxes an area of the image.",
              "path": "Gallery > Annotate Image > Draw rectangle",
              "steps": [
                "Gallery",
                "Annotate Image",
                "Draw rectangle"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-draw-rectangle"
            },
            {
              "slug": "freehand-draw",
              "name": "Freehand draw",
              "what": "Draws a free shape on the image.",
              "path": "Gallery > Annotate Image > Freehand draw",
              "steps": [
                "Gallery",
                "Annotate Image",
                "Freehand draw"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-freehand-draw"
            },
            {
              "slug": "clear-annotations",
              "name": "Clear annotations",
              "what": "Wipes every mark you have drawn.",
              "path": "Gallery > Annotate Image > Clear annotations",
              "steps": [
                "Gallery",
                "Annotate Image",
                "Clear annotations"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-clear-annotations"
            },
            {
              "slug": "apply-annotations",
              "name": "Apply Annotations",
              "what": "Flattens the marked up image and adds it to the message attachments.",
              "path": "Gallery > Annotate Image > Apply Annotations",
              "steps": [
                "Gallery",
                "Annotate Image",
                "Apply Annotations"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-apply-annotations"
            },
            {
              "slug": "select-image-to-annotate",
              "name": "Select Image to Annotate",
              "what": "Picker shown when more than one image could be annotated, listing each Upload and the Last Generated image.",
              "path": "Gallery > Annotate Image",
              "steps": [
                "Gallery",
                "Annotate Image"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": "more than one candidate image",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-image-to-annotate"
            }
          ]
        },
        {
          "slug": "gallery-image-actions",
          "name": "Image actions",
          "features": [
            {
              "slug": "download",
              "name": "Download",
              "what": "Saves the generated image to your computer as ai-studio-<timestamp>.png.",
              "path": "Gallery > hover a generated image > Download",
              "steps": [
                "Gallery",
                "hover a generated image",
                "Download"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-download"
            },
            {
              "slug": "save",
              "name": "Save",
              "what": "Stores the image in your saved gallery so other Eto pages can use it.",
              "path": "Gallery > hover a generated image > Save",
              "steps": [
                "Gallery",
                "hover a generated image",
                "Save"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-save"
            },
            {
              "slug": "full-size",
              "name": "Full size",
              "what": "Opens the image in the lightbox, which also has Download, Save to gallery and Use as reference.",
              "path": "Gallery > hover a generated image > Full size",
              "steps": [
                "Gallery",
                "hover a generated image",
                "Full size"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-full-size"
            },
            {
              "slug": "reference",
              "name": "Reference",
              "what": "Adds the image back into the composer as context for the next message, which is how you edit an image.",
              "path": "Gallery > hover a generated image > Reference",
              "steps": [
                "Gallery",
                "hover a generated image",
                "Reference"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-reference"
            }
          ]
        },
        {
          "slug": "gallery-saved-images",
          "name": "Saved images",
          "features": [
            {
              "slug": "gallery-2",
              "name": "Gallery",
              "what": "Header button that opens the Saved Images library with a count badge.",
              "path": "Gallery > Gallery",
              "steps": [
                "Gallery",
                "Gallery"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gallery-2"
            },
            {
              "slug": "saved-images",
              "name": "Saved Images",
              "what": "Paged grid of 12 saved images per page, each showing its save date.",
              "path": "Gallery > Gallery",
              "steps": [
                "Gallery",
                "Gallery"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": "a saved image",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-saved-images"
            },
            {
              "slug": "delete-image",
              "name": "Delete image",
              "what": "Removes one saved image from the library after a confirmation.",
              "path": "Gallery > Gallery > Delete image",
              "steps": [
                "Gallery",
                "Gallery",
                "Delete image"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": "a saved image",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-image"
            },
            {
              "slug": "previous-next-2",
              "name": "Previous / Next",
              "what": "Moves between pages of saved images.",
              "path": "Gallery > Gallery > Next",
              "steps": [
                "Gallery",
                "Gallery",
                "Next"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": "more than one page",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-previous-next-2"
            }
          ]
        },
        {
          "slug": "gallery-usage",
          "name": "Usage",
          "features": [
            {
              "slug": "of-context",
              "name": "% of context",
              "what": "Meter under the composer showing how much of the model context window this chat is using.",
              "path": "Gallery",
              "steps": [
                "Gallery"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-of-context"
            },
            {
              "slug": "usage",
              "name": "Usage",
              "what": "Panel opened from the context meter showing Tokens in, Tokens out, Cost this chat, Cost today, Messages and Images.",
              "path": "Gallery > % of context",
              "steps": [
                "Gallery",
                "% of context"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-usage"
            },
            {
              "slug": "per-message",
              "name": "Per message",
              "what": "Collapsible table inside the usage panel listing model, tokens in and out, images, time and cost for every turn.",
              "path": "Gallery > % of context > Per message",
              "steps": [
                "Gallery",
                "% of context",
                "Per message"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": "at least one message",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-per-message"
            }
          ]
        }
      ]
    },
    {
      "slug": "workflow",
      "name": "Workflow",
      "url": "https://eto.tools/dashboard/workflow/",
      "summary": "Puts Product Hunt, AI Studio and Quick Upload side by side in three resizable panes so a product can go from research to published without changing page.",
      "anchor": "https://eto.tools/dev/docs/#where-workflow",
      "markdown": "https://eto.tools/dev/docs/where/workflow.md",
      "sections": [
        {
          "slug": "workflow-the-three-panes",
          "name": "The three panes",
          "features": [
            {
              "slug": "pane-1-product-hunt",
              "name": "Pane 1 Product Hunt",
              "what": "Left pane embedding the Product Hunt page so you can search Etsy and pick a product to copy.",
              "path": "Workflow > Unified Workflow",
              "steps": [
                "Workflow",
                "Unified Workflow"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-pane-1-product-hunt"
            },
            {
              "slug": "pane-2-ai-studio",
              "name": "Pane 2 AI Studio",
              "what": "Middle pane embedding the Gallery so you can generate the images and copy for that product.",
              "path": "Workflow > Unified Workflow",
              "steps": [
                "Workflow",
                "Unified Workflow"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-pane-2-ai-studio"
            },
            {
              "slug": "pane-3-quick-upload",
              "name": "Pane 3 Quick Upload",
              "what": "Right pane embedding Quick Upload so you can publish the finished listing to a store.",
              "path": "Workflow > Unified Workflow",
              "steps": [
                "Workflow",
                "Unified Workflow"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-pane-3-quick-upload"
            },
            {
              "slug": "step-status-chip",
              "name": "Step status chip",
              "what": "Each pane header carries a chip counting what that step has produced so far, or saying no store is connected on pane 3.",
              "path": "Workflow > Unified Workflow",
              "steps": [
                "Workflow",
                "Unified Workflow"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-step-status-chip"
            },
            {
              "slug": "connect-a-store-2",
              "name": "Connect a store",
              "what": "Link in the pane 3 header shown only while the account has no Etsy store.",
              "path": "Workflow > Unified Workflow > Connect a store",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "Connect a store"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-connect-a-store-2"
            },
            {
              "slug": "reload-this-step",
              "name": "Reload this step",
              "what": "Refresh button in each pane header that reloads only that pane.",
              "path": "Workflow > Unified Workflow > reload",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "reload"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-reload-this-step"
            },
            {
              "slug": "hide-this-step",
              "name": "Hide this step",
              "what": "Close button that removes a pane and gives its width to the panes that remain.",
              "path": "Workflow > Unified Workflow > close",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "close"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-this-step"
            },
            {
              "slug": "restore-hidden-panes",
              "name": "Restore hidden panes",
              "what": "Counter button in the top bar that lists the hidden panes so you can bring one back.",
              "path": "Workflow > Unified Workflow > restore",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "restore"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-restore-hidden-panes"
            },
            {
              "slug": "drag-dividers-to-resize",
              "name": "Drag dividers to resize",
              "what": "Dragging the bars between panes changes their widths, and the percentage on each header updates as you drag.",
              "path": "Workflow > Unified Workflow",
              "steps": [
                "Workflow",
                "Unified Workflow"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-drag-dividers-to-resize"
            }
          ]
        },
        {
          "slug": "workflow-pane-handoffs",
          "name": "Pane handoffs",
          "features": [
            {
              "slug": "product-to-quick-product-search",
              "name": "Product to Quick Product Search",
              "what": "Clicking a Product Hunt card inside Workflow opens the Quick Product Search panel on that listing instead of the usual drawer.",
              "path": "Workflow > Unified Workflow > pane 1 card",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "pane 1 card"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-product-to-quick-product-search"
            },
            {
              "slug": "open-a-listing-in-ai-studio",
              "name": "Open a listing in AI Studio",
              "what": "Pane 1 can hand an Etsy listing straight to the AI Studio pane to start a build from it.",
              "path": "Workflow > Unified Workflow",
              "steps": [
                "Workflow",
                "Unified Workflow"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-open-a-listing-in-ai-studio"
            },
            {
              "slug": "open-the-workspace-in-pane-3",
              "name": "Open the workspace in pane 3",
              "what": "When AI Studio finishes a listing it loads that listing workspace into the Quick Upload pane.",
              "path": "Workflow > Unified Workflow",
              "steps": [
                "Workflow",
                "Unified Workflow"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-open-the-workspace-in-pane-3"
            },
            {
              "slug": "frame-session-badge",
              "name": "Frame session badge",
              "what": "A pane header shows the keyword of the hunt running inside it and its status.",
              "path": "Workflow > Unified Workflow",
              "steps": [
                "Workflow",
                "Unified Workflow"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-frame-session-badge"
            }
          ]
        },
        {
          "slug": "workflow-quick-tools",
          "name": "Quick tools",
          "features": [
            {
              "slug": "keywords",
              "name": "Keywords",
              "what": "Top bar button that opens the Quick Keyword Search panel over the workspace.",
              "path": "Workflow > Unified Workflow > Keywords",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "Keywords"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-keywords"
            },
            {
              "slug": "product",
              "name": "Product",
              "what": "Top bar button that opens the Quick Product Search panel for pulling one Etsy listing by link or ID.",
              "path": "Workflow > Unified Workflow > Product",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "Product"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-product"
            },
            {
              "slug": "thoughts-2",
              "name": "Thoughts",
              "what": "Top bar button that opens the Quick Thoughts panel for notes, favourites and history.",
              "path": "Workflow > Unified Workflow > Thoughts",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "Thoughts"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-thoughts-2"
            },
            {
              "slug": "theme-toggle",
              "name": "Theme toggle",
              "what": "Switches the page between light and dark and pushes the change into every embedded pane.",
              "path": "Workflow > Unified Workflow > theme",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "theme"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-theme-toggle"
            },
            {
              "slug": "dashboard",
              "name": "Dashboard",
              "what": "Leaves the workspace and returns to the dashboard.",
              "path": "Workflow > Unified Workflow > Dashboard",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "Dashboard"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-dashboard"
            }
          ]
        },
        {
          "slug": "workflow-custom-layout-mode",
          "name": "Custom layout mode",
          "features": [
            {
              "slug": "custom-mode",
              "name": "Custom mode",
              "what": "Top bar toggle that swaps the fixed three panes for a workspace you fill with your own frames.",
              "path": "Workflow > Unified Workflow > custom mode",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "custom mode"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-custom-mode"
            },
            {
              "slug": "add-a-product-hunt-frame",
              "name": "Add a Product Hunt frame",
              "what": "Adds another Product Hunt frame to the custom workspace.",
              "path": "Workflow > Unified Workflow > custom mode > add hunt",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "custom mode",
                "add hunt"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-a-product-hunt-frame"
            },
            {
              "slug": "add-an-ai-studio-frame",
              "name": "Add an AI Studio frame",
              "what": "Adds another AI Studio frame to the custom workspace.",
              "path": "Workflow > Unified Workflow > custom mode > add studio",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "custom mode",
                "add studio"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-an-ai-studio-frame"
            },
            {
              "slug": "add-a-quick-upload-frame",
              "name": "Add a Quick Upload frame",
              "what": "Adds another Quick Upload frame to the custom workspace.",
              "path": "Workflow > Unified Workflow > custom mode > add upload",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "custom mode",
                "add upload"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-a-quick-upload-frame"
            },
            {
              "slug": "columns-3",
              "name": "Columns",
              "what": "Number box from 1 to 12 that sets how many frames sit in a row.",
              "path": "Workflow > Unified Workflow > custom mode > Columns",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "custom mode",
                "Columns"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-columns-3"
            },
            {
              "slug": "frame-counter",
              "name": "Frame counter",
              "what": "Shows how many frames are open against the cap of 100.",
              "path": "Workflow > Unified Workflow > custom mode",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "custom mode"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-frame-counter"
            },
            {
              "slug": "drag-to-reorder-a-frame",
              "name": "Drag to reorder a frame",
              "what": "The grip in a frame header lets you drag it into a different position without reloading it.",
              "path": "Workflow > Unified Workflow > custom mode > frame",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "custom mode",
                "frame"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-drag-to-reorder-a-frame"
            },
            {
              "slug": "drag-to-set-frame-width",
              "name": "Drag to set frame width",
              "what": "The handle on a frame edge sets its width, with a live percentage while you drag.",
              "path": "Workflow > Unified Workflow > custom mode > frame",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "custom mode",
                "frame"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-drag-to-set-frame-width"
            },
            {
              "slug": "reload-this-frame",
              "name": "Reload this frame",
              "what": "Refresh button in a custom frame header that reloads only that frame.",
              "path": "Workflow > Unified Workflow > custom mode > frame > reload",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "custom mode",
                "frame",
                "reload"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-reload-this-frame"
            },
            {
              "slug": "close-this-frame",
              "name": "Close this frame",
              "what": "Removes one custom frame and rebalances the rest.",
              "path": "Workflow > Unified Workflow > custom mode > frame > close",
              "steps": [
                "Workflow",
                "Unified Workflow",
                "custom mode",
                "frame",
                "close"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-close-this-frame"
            },
            {
              "slug": "layout-is-remembered",
              "name": "Layout is remembered",
              "what": "The mode, the frames, their widths, the column count and any hidden panes are all kept in the browser between visits.",
              "path": "Workflow > Unified Workflow",
              "steps": [
                "Workflow",
                "Unified Workflow"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-layout-is-remembered"
            }
          ]
        }
      ]
    },
    {
      "slug": "developer-api-console",
      "name": "Developer API console",
      "url": "https://eto.tools/dashboard/api/",
      "summary": "Where an Enterprise account creates its API key, connects an MCP client, and configures and watches outbound webhooks.",
      "anchor": "https://eto.tools/dev/docs/#where-developer-api-console",
      "markdown": "https://eto.tools/dev/docs/where/developer-api-console.md",
      "sections": [
        {
          "slug": "developer-api-console-overview",
          "name": "Overview",
          "features": [
            {
              "slug": "requests-today",
              "name": "Requests today",
              "what": "Shows todays request count against the daily quota with a fill bar.",
              "path": "Developer API console > Overview",
              "steps": [
                "Developer API console",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-requests-today"
            },
            {
              "slug": "this-month-2",
              "name": "This month",
              "what": "Shows the request count for the current month.",
              "path": "Developer API console > Overview",
              "steps": [
                "Developer API console",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-this-month-2"
            },
            {
              "slug": "latency",
              "name": "Latency",
              "what": "Shows the average response time for your API calls.",
              "path": "Developer API console > Overview",
              "steps": [
                "Developer API console",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-latency"
            },
            {
              "slug": "errors",
              "name": "Errors",
              "what": "Shows the error rate across your recent API calls.",
              "path": "Developer API console > Overview",
              "steps": [
                "Developer API console",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-errors"
            },
            {
              "slug": "usage-chart",
              "name": "Usage chart",
              "what": "Charts daily requests over the last 7 or 30 days.",
              "path": "Developer API console > Overview",
              "steps": [
                "Developer API console",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-usage-chart"
            },
            {
              "slug": "top-endpoints",
              "name": "Top endpoints",
              "what": "Ranks the endpoints you call most.",
              "path": "Developer API console > Overview",
              "steps": [
                "Developer API console",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-top-endpoints"
            },
            {
              "slug": "generate-api-key",
              "name": "Generate API key",
              "what": "Creates the account API key and shows the raw value once in a modal.",
              "path": "Developer API console > Overview > Generate API key",
              "steps": [
                "Developer API console",
                "Overview",
                "Generate API key"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-generate-api-key"
            },
            {
              "slug": "rotate-key",
              "name": "Rotate key",
              "what": "Issues a new key and stops the old one working.",
              "path": "Developer API console > Overview > Rotate key",
              "steps": [
                "Developer API console",
                "Overview",
                "Rotate key"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "API key",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-rotate-key"
            },
            {
              "slug": "revoke-key",
              "name": "Revoke key",
              "what": "Deletes the key so anything using it stops working at once.",
              "path": "Developer API console > Overview > Revoke key",
              "steps": [
                "Developer API console",
                "Overview",
                "Revoke key"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "API key",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-revoke-key"
            },
            {
              "slug": "key-details",
              "name": "Key details",
              "what": "Shows the key prefix, creation date, last use and requests used against the daily limit.",
              "path": "Developer API console > Overview",
              "steps": [
                "Developer API console",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "API key",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-key-details"
            },
            {
              "slug": "quickstart",
              "name": "Quickstart",
              "what": "Shows a ready curl call against the stores endpoint with your key filled in.",
              "path": "Developer API console > Overview",
              "steps": [
                "Developer API console",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "API key",
              "api_operation_id": "stores_list",
              "anchor": "https://eto.tools/dev/docs/#feat-quickstart"
            },
            {
              "slug": "recent-requests",
              "name": "Recent requests",
              "what": "Tables your latest API calls with endpoint, status and timing.",
              "path": "Developer API console > Overview",
              "steps": [
                "Developer API console",
                "Overview"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "API key",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-recent-requests"
            }
          ]
        },
        {
          "slug": "developer-api-console-mcp-connect",
          "name": "MCP Connect",
          "features": [
            {
              "slug": "claude-cli-command",
              "name": "Claude CLI command",
              "what": "Shows the claude mcp add command pointing at mcp.eto.tools with your key header.",
              "path": "Developer API console > MCP Connect",
              "steps": [
                "Developer API console",
                "MCP Connect"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-claude-cli-command"
            },
            {
              "slug": "generate-connection-key",
              "name": "Generate connection key",
              "what": "Creates a key and drops it straight into the shown MCP command.",
              "path": "Developer API console > MCP Connect > Generate connection key",
              "steps": [
                "Developer API console",
                "MCP Connect",
                "Generate connection key"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-generate-connection-key"
            },
            {
              "slug": "copy-command",
              "name": "Copy command",
              "what": "Copies the filled MCP command to the clipboard.",
              "path": "Developer API console > MCP Connect > Copy command",
              "steps": [
                "Developer API console",
                "MCP Connect",
                "Copy command"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy-command"
            },
            {
              "slug": "connector-url",
              "name": "Connector URL",
              "what": "Shows the plain MCP endpoint for clients that take a URL.",
              "path": "Developer API console > MCP Connect",
              "steps": [
                "Developer API console",
                "MCP Connect"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-connector-url"
            },
            {
              "slug": "client-tabs",
              "name": "Client tabs",
              "what": "Switches the setup instructions between Claude, ChatGPT and Perplexity.",
              "path": "Developer API console > MCP Connect",
              "steps": [
                "Developer API console",
                "MCP Connect"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-client-tabs"
            }
          ]
        },
        {
          "slug": "developer-api-console-webhooks",
          "name": "Webhooks",
          "features": [
            {
              "slug": "destination-url",
              "name": "Destination URL",
              "what": "Sets the server Eto posts order events to.",
              "path": "Developer API console > Webhooks",
              "steps": [
                "Developer API console",
                "Webhooks"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-destination-url"
            },
            {
              "slug": "send-test",
              "name": "Send test",
              "what": "Fires a sample event at the URL in the field and shows the response.",
              "path": "Developer API console > Webhooks > Send test",
              "steps": [
                "Developer API console",
                "Webhooks",
                "Send test"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-send-test"
            },
            {
              "slug": "deliver-events-to-this-url",
              "name": "Deliver events to this URL",
              "what": "Pauses or resumes delivery without losing the configuration.",
              "path": "Developer API console > Webhooks",
              "steps": [
                "Developer API console",
                "Webhooks"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-deliver-events-to-this-url"
            },
            {
              "slug": "run-test",
              "name": "Run test",
              "what": "Sends a chosen event for a chosen store to the saved URL, the internal test endpoint or a custom URL, and prints the full response.",
              "path": "Developer API console > Webhooks > Run test",
              "steps": [
                "Developer API console",
                "Webhooks",
                "Run test"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-run-test"
            },
            {
              "slug": "internal-test-endpoint",
              "name": "Internal test endpoint",
              "what": "Routes the test to a built-in inbox so a webhook can be tried without a public server.",
              "path": "Developer API console > Webhooks > Send to > Internal test endpoint",
              "steps": [
                "Developer API console",
                "Webhooks",
                "Send to",
                "Internal test endpoint"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-internal-test-endpoint"
            },
            {
              "slug": "events",
              "name": "Events",
              "what": "Chooses which Eto events are forwarded, with a live count.",
              "path": "Developer API console > Webhooks > Events",
              "steps": [
                "Developer API console",
                "Webhooks",
                "Events"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-events"
            },
            {
              "slug": "stores-to-forward",
              "name": "Stores to forward",
              "what": "Picks which stores forward events, with search, a select-all/none/visible/invert menu and a Test selected button.",
              "path": "Developer API console > Webhooks > Stores",
              "steps": [
                "Developer API console",
                "Webhooks",
                "Stores"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-stores-to-forward"
            },
            {
              "slug": "deliveries",
              "name": "Deliveries",
              "what": "Lists recent delivery attempts with status, and charts deliveries by day.",
              "path": "Developer API console > Webhooks > Deliveries",
              "steps": [
                "Developer API console",
                "Webhooks",
                "Deliveries"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": "webhooks_deliveries",
              "anchor": "https://eto.tools/dev/docs/#feat-deliveries"
            },
            {
              "slug": "retry-2",
              "name": "Retry",
              "what": "Re-sends one failed delivery.",
              "path": "Developer API console > Webhooks > Deliveries > Retry",
              "steps": [
                "Developer API console",
                "Webhooks",
                "Deliveries",
                "Retry"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": "webhook_delivery_retry",
              "anchor": "https://eto.tools/dev/docs/#feat-retry-2"
            },
            {
              "slug": "signing-secret",
              "name": "Signing secret",
              "what": "Shows the secret used to sign payloads, with copy and rotate.",
              "path": "Developer API console > Webhooks",
              "steps": [
                "Developer API console",
                "Webhooks"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-signing-secret"
            },
            {
              "slug": "save-4",
              "name": "Save",
              "what": "Writes the URL, events, stores and active flag together.",
              "path": "Developer API console > Webhooks > Save",
              "steps": [
                "Developer API console",
                "Webhooks",
                "Save"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-save-4"
            },
            {
              "slug": "remove",
              "name": "Remove",
              "what": "Deletes the webhook configuration.",
              "path": "Developer API console > Webhooks > Remove",
              "steps": [
                "Developer API console",
                "Webhooks",
                "Remove"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-remove"
            }
          ]
        }
      ]
    },
    {
      "slug": "settings",
      "name": "Settings",
      "url": "https://eto.tools/settings/",
      "summary": "Seven tabs holding account, billing, AI provider, notification, order integration, theme and affiliate settings.",
      "anchor": "https://eto.tools/dev/docs/#where-settings",
      "markdown": "https://eto.tools/dev/docs/where/settings.md",
      "sections": [
        {
          "slug": "settings-account",
          "name": "Account",
          "features": [
            {
              "slug": "email",
              "name": "Email",
              "what": "Shows the email the account signs in with.",
              "path": "Settings > Account > Account",
              "steps": [
                "Settings",
                "Account",
                "Account"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-email"
            },
            {
              "slug": "email-confirmed",
              "name": "Email confirmed",
              "what": "Shows whether the sign-in email has been verified.",
              "path": "Settings > Account > Account",
              "steps": [
                "Settings",
                "Account",
                "Account"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-email-confirmed"
            },
            {
              "slug": "joined",
              "name": "Joined",
              "what": "Shows the date the account was created.",
              "path": "Settings > Account > Account",
              "steps": [
                "Settings",
                "Account",
                "Account"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-joined"
            },
            {
              "slug": "update-name",
              "name": "Update name",
              "what": "Opens a form that saves a new first and last name.",
              "path": "Settings > Account > Account > Update name",
              "steps": [
                "Settings",
                "Account",
                "Account",
                "Update name"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-update-name"
            },
            {
              "slug": "change-password",
              "name": "Change password",
              "what": "Opens a form that swaps the password after checking the current one.",
              "path": "Settings > Account > Account > Change password",
              "steps": [
                "Settings",
                "Account",
                "Account",
                "Change password"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-change-password"
            },
            {
              "slug": "delete-account",
              "name": "Delete account",
              "what": "Arms a second confirm click that permanently deletes the account and all of its data.",
              "path": "Settings > Account > Account > Delete account",
              "steps": [
                "Settings",
                "Account",
                "Account",
                "Delete account"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-account"
            },
            {
              "slug": "time-zone",
              "name": "Time zone",
              "what": "Picks the zone that groups order dates and day totals on the Orders page, with a searchable list and a live clock.",
              "path": "Settings > Account > Preferences > Time zone",
              "steps": [
                "Settings",
                "Account",
                "Preferences",
                "Time zone"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-time-zone"
            },
            {
              "slug": "automatic-time-zone",
              "name": "Automatic time zone",
              "what": "Follows the device time zone instead of a fixed one.",
              "path": "Settings > Account > Preferences > Time zone > Automatic",
              "steps": [
                "Settings",
                "Account",
                "Preferences",
                "Time zone",
                "Automatic"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-automatic-time-zone"
            },
            {
              "slug": "download-eto-extension",
              "name": "Download Eto Extension",
              "what": "Downloads the Chrome extension zip and shows the load-unpacked install steps.",
              "path": "Settings > Account > Eto Extension > Manage",
              "steps": [
                "Settings",
                "Account",
                "Eto Extension",
                "Manage"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "extension feature",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-download-eto-extension"
            },
            {
              "slug": "disconnect-extension",
              "name": "Disconnect extension",
              "what": "Revokes the browser extension link to this account.",
              "path": "Settings > Account > Eto Extension > Manage > Disconnect",
              "steps": [
                "Settings",
                "Account",
                "Eto Extension",
                "Manage",
                "Disconnect"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "extension feature",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-disconnect-extension"
            }
          ]
        },
        {
          "slug": "settings-billing",
          "name": "Billing",
          "features": [
            {
              "slug": "free-trial-card",
              "name": "Free Trial card",
              "what": "Shows the trial state with start and end dates when a trial is running or available.",
              "path": "Settings > Billing",
              "steps": [
                "Settings",
                "Billing"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-free-trial-card"
            },
            {
              "slug": "start-free-trial",
              "name": "Start Free Trial",
              "what": "Sends an eligible account to onboarding to pick a plan and start the trial at no charge.",
              "path": "Settings > Billing > Start Free Trial",
              "steps": [
                "Settings",
                "Billing",
                "Start Free Trial"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-start-free-trial"
            },
            {
              "slug": "subscription-card",
              "name": "Subscription card",
              "what": "Shows plan name, status pill, billing cycle, renewal or cancellation date and the current period.",
              "path": "Settings > Billing",
              "steps": [
                "Settings",
                "Billing"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-subscription-card"
            },
            {
              "slug": "refresh-4",
              "name": "Refresh",
              "what": "Re-reads the subscription snapshot from Stripe.",
              "path": "Settings > Billing > Refresh",
              "steps": [
                "Settings",
                "Billing",
                "Refresh"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-4"
            },
            {
              "slug": "daily-usage",
              "name": "Daily Usage",
              "what": "Lists the daily caps and current counts for searches, bulk research, keyword analysis, connected stores, assistants and Shop Spy.",
              "path": "Settings > Billing > Daily Usage",
              "steps": [
                "Settings",
                "Billing",
                "Daily Usage"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-daily-usage"
            },
            {
              "slug": "upgrade-plan",
              "name": "Upgrade Plan",
              "what": "Sends the account to onboarding to change plan.",
              "path": "Settings > Billing > Upgrade Plan",
              "steps": [
                "Settings",
                "Billing",
                "Upgrade Plan"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-upgrade-plan"
            },
            {
              "slug": "manage-billing",
              "name": "Manage Billing",
              "what": "Opens the Stripe customer portal for invoices, card changes and cancellation.",
              "path": "Settings > Billing > Manage Billing",
              "steps": [
                "Settings",
                "Billing",
                "Manage Billing"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "Stripe customer",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-manage-billing"
            }
          ]
        },
        {
          "slug": "settings-ai",
          "name": "AI",
          "features": [
            {
              "slug": "eto-credits",
              "name": "Eto Credits",
              "what": "Uses the platform AI allowance, with a credits-this-month meter and reset date.",
              "path": "Settings > AI > AI Provider > Eto Credits",
              "steps": [
                "Settings",
                "AI",
                "AI Provider",
                "Eto Credits"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "top-tier plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-eto-credits"
            },
            {
              "slug": "your-vertex-ai",
              "name": "Your Vertex AI",
              "what": "Runs Gemini through your own GCP project using a project ID and service account JSON.",
              "path": "Settings > AI > AI Provider > Your Vertex AI",
              "steps": [
                "Settings",
                "AI",
                "AI Provider",
                "Your Vertex AI"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-your-vertex-ai"
            },
            {
              "slug": "gemini-api-key",
              "name": "Gemini API Key",
              "what": "Runs Gemini on a Google AI Studio key billed to your own Google account.",
              "path": "Settings > AI > AI Provider > Gemini API Key",
              "steps": [
                "Settings",
                "AI",
                "AI Provider",
                "Gemini API Key"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gemini-api-key"
            },
            {
              "slug": "provider-status-bar",
              "name": "Provider status bar",
              "what": "States which provider is live, or warns that no provider is configured.",
              "path": "Settings > AI > AI Provider",
              "steps": [
                "Settings",
                "AI",
                "AI Provider"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-provider-status-bar"
            },
            {
              "slug": "save-provider",
              "name": "Save provider",
              "what": "Saves the selected provider and its credentials.",
              "path": "Settings > AI > AI Provider > Save provider",
              "steps": [
                "Settings",
                "AI",
                "AI Provider",
                "Save provider"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-save-provider"
            }
          ]
        },
        {
          "slug": "settings-notifications",
          "name": "Notifications",
          "features": [
            {
              "slug": "play-sale-sound",
              "name": "Play sale sound",
              "what": "Toggles the sound that plays when a new order is detected, saving on change.",
              "path": "Settings > Notifications > Play sale sound",
              "steps": [
                "Settings",
                "Notifications",
                "Play sale sound"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-play-sale-sound"
            },
            {
              "slug": "push-notifications-on-your-phone",
              "name": "Push notifications on your phone",
              "what": "Explains that phone alerts come through the Eto mobile app and links a request email.",
              "path": "Settings > Notifications",
              "steps": [
                "Settings",
                "Notifications"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-push-notifications-on-your-phone"
            },
            {
              "slug": "test-notification-and-sound",
              "name": "Test notification & sound",
              "what": "Fires a sample toast and plays the sale sound so both can be checked.",
              "path": "Settings > Notifications > Test notification & sound",
              "steps": [
                "Settings",
                "Notifications",
                "Test notification & sound"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-test-notification-and-sound"
            },
            {
              "slug": "eto-mobile-app",
              "name": "Eto mobile app",
              "what": "A separate iOS client, requested from the owner here, that shows stores, orders and order breakdowns, finance figures and draft listings, and pushes a phone alert on a new order.",
              "path": "Settings > Notifications > Contact the owner",
              "steps": [
                "Settings",
                "Notifications",
                "Contact the owner"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-eto-mobile-app"
            }
          ]
        },
        {
          "slug": "settings-order-settings",
          "name": "Order Settings",
          "features": [
            {
              "slug": "printify-api-token",
              "name": "Printify API Token",
              "what": "Stores a Printify token so Printify orders and costs can be pulled in.",
              "path": "Settings > Order Settings > Printify",
              "steps": [
                "Settings",
                "Order Settings",
                "Printify"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-printify-api-token"
            },
            {
              "slug": "toggle-printify-token-visibility",
              "name": "Toggle Printify token visibility",
              "what": "Shows or hides the stored Printify token in the field.",
              "path": "Settings > Order Settings > Printify",
              "steps": [
                "Settings",
                "Order Settings",
                "Printify"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-toggle-printify-token-visibility"
            },
            {
              "slug": "shop-2",
              "name": "Shop",
              "what": "Picks which Printify shop the token should read, loaded from Printify after the token is saved.",
              "path": "Settings > Order Settings > Printify > Shop",
              "steps": [
                "Settings",
                "Order Settings",
                "Printify",
                "Shop"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "Printify token",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-shop-2"
            },
            {
              "slug": "printify-to-store-currency",
              "name": "Printify to Store Currency",
              "what": "Sets one exchange rate per non-USD store currency so Printify costs convert correctly.",
              "path": "Settings > Order Settings > Currency Conversion",
              "steps": [
                "Settings",
                "Order Settings",
                "Currency Conversion"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-printify-to-store-currency"
            },
            {
              "slug": "save-rates",
              "name": "Save Rates",
              "what": "Saves the entered currency rates.",
              "path": "Settings > Order Settings > Currency Conversion > Save Rates",
              "steps": [
                "Settings",
                "Order Settings",
                "Currency Conversion",
                "Save Rates"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-save-rates"
            },
            {
              "slug": "webhook-url",
              "name": "Webhook URL",
              "what": "Shows the Eto endpoint Printify should post to, with a copy button.",
              "path": "Settings > Order Settings > Webhooks > Copy URL",
              "steps": [
                "Settings",
                "Order Settings",
                "Webhooks",
                "Copy URL"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-webhook-url"
            },
            {
              "slug": "events-to-track",
              "name": "Events to Track",
              "what": "Chooses which Printify events to subscribe to: order created, sent to production, shipment created and shipment delivered.",
              "path": "Settings > Order Settings > Webhooks",
              "steps": [
                "Settings",
                "Order Settings",
                "Webhooks"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-events-to-track"
            },
            {
              "slug": "enable-webhooks",
              "name": "Enable Webhooks",
              "what": "Registers the selected Printify events against the webhook URL.",
              "path": "Settings > Order Settings > Webhooks > Enable Webhooks",
              "steps": [
                "Settings",
                "Order Settings",
                "Webhooks",
                "Enable Webhooks"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "Printify token",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-enable-webhooks"
            },
            {
              "slug": "disable",
              "name": "Disable",
              "what": "Removes the registered Printify webhooks.",
              "path": "Settings > Order Settings > Webhooks > Disable",
              "steps": [
                "Settings",
                "Order Settings",
                "Webhooks",
                "Disable"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "Printify webhooks enabled",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-disable"
            },
            {
              "slug": "recent-events",
              "name": "Recent Events",
              "what": "Lists the most recent Printify webhook deliveries once webhooks are on.",
              "path": "Settings > Order Settings > Webhooks",
              "steps": [
                "Settings",
                "Order Settings",
                "Webhooks"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "Printify webhooks enabled",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-recent-events"
            }
          ]
        },
        {
          "slug": "settings-appearance",
          "name": "Appearance",
          "features": [
            {
              "slug": "dark-mode-colours",
              "name": "Dark Mode colours",
              "what": "Sets the page background and sidebar colour used in dark mode, by picker or hex field.",
              "path": "Settings > Appearance > Theme",
              "steps": [
                "Settings",
                "Appearance",
                "Theme"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-dark-mode-colours"
            },
            {
              "slug": "light-mode-colours",
              "name": "Light Mode colours",
              "what": "Sets the page background and sidebar colour used in light mode, by picker or hex field.",
              "path": "Settings > Appearance > Theme",
              "steps": [
                "Settings",
                "Appearance",
                "Theme"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-light-mode-colours"
            },
            {
              "slug": "save-2",
              "name": "Save",
              "what": "Stores the four custom colours in the browser and applies them across the app.",
              "path": "Settings > Appearance > Theme > Save",
              "steps": [
                "Settings",
                "Appearance",
                "Theme",
                "Save"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-save-2"
            },
            {
              "slug": "reset",
              "name": "Reset",
              "what": "Clears the custom colours and puts both themes back to their defaults.",
              "path": "Settings > Appearance > Theme > Reset",
              "steps": [
                "Settings",
                "Appearance",
                "Theme",
                "Reset"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-reset"
            }
          ]
        },
        {
          "slug": "settings-affiliates",
          "name": "Affiliates",
          "features": [
            {
              "slug": "create-link",
              "name": "Create Link",
              "what": "Claims a custom slug at eto.tools/af/ as your referral link.",
              "path": "Settings > Affiliates > Create Link",
              "steps": [
                "Settings",
                "Affiliates",
                "Create Link"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-create-link"
            },
            {
              "slug": "copy-2",
              "name": "Copy",
              "what": "Copies the affiliate link to the clipboard.",
              "path": "Settings > Affiliates > Copy",
              "steps": [
                "Settings",
                "Affiliates",
                "Copy"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "affiliate link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy-2"
            },
            {
              "slug": "affiliate-stats",
              "name": "Affiliate stats",
              "what": "Shows headline referral numbers such as signups, conversions and earnings.",
              "path": "Settings > Affiliates",
              "steps": [
                "Settings",
                "Affiliates"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "affiliate link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-affiliate-stats"
            },
            {
              "slug": "referred-revenue",
              "name": "Referred revenue",
              "what": "Charts the revenue generated by referred accounts over time.",
              "path": "Settings > Affiliates",
              "steps": [
                "Settings",
                "Affiliates"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "affiliate link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-referred-revenue"
            },
            {
              "slug": "your-commission",
              "name": "Your commission",
              "what": "Charts your commission over time.",
              "path": "Settings > Affiliates",
              "steps": [
                "Settings",
                "Affiliates"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "affiliate link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-your-commission"
            },
            {
              "slug": "recently-referred-users",
              "name": "Recently Referred Users",
              "what": "Lists the latest accounts that signed up through your link with their status.",
              "path": "Settings > Affiliates",
              "steps": [
                "Settings",
                "Affiliates"
              ],
              "url": "https://eto.tools/settings/",
              "requires": "affiliate link",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-recently-referred-users"
            }
          ]
        }
      ]
    },
    {
      "slug": "sidebar",
      "name": "Sidebar",
      "url": "https://eto.tools/dashboard/",
      "summary": "The rail down the left of every dashboard page: navigation, the theme switch, and the quick panels that float research tools over whatever page you are on.",
      "anchor": "https://eto.tools/dev/docs/#where-sidebar",
      "markdown": "https://eto.tools/dev/docs/where/sidebar.md",
      "sections": [
        {
          "slug": "sidebar-sidebar-navigation",
          "name": "Sidebar navigation",
          "features": [
            {
              "slug": "structure-mode",
              "name": "Structure mode",
              "what": "Shows the sidebar as sections: Finance, Listings, VA Management, Research, Developer, Settings and Admin.",
              "path": "Sidebar > Structure",
              "steps": [
                "Sidebar",
                "Structure"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-structure-mode"
            },
            {
              "slug": "workflow-mode",
              "name": "Workflow mode",
              "what": "Shows the sidebar as numbered steps from Product Hunt through to Quick Upload, with a Unified Workflow link on top.",
              "path": "Sidebar > Workflow",
              "steps": [
                "Sidebar",
                "Workflow"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-workflow-mode"
            },
            {
              "slug": "dashboard-2",
              "name": "Dashboard",
              "what": "Opens the main dashboard.",
              "path": "Sidebar > Dashboard",
              "steps": [
                "Sidebar",
                "Dashboard"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-dashboard-2"
            },
            {
              "slug": "analytics",
              "name": "Analytics",
              "what": "Opens the analytics page.",
              "path": "Sidebar > Analytics",
              "steps": [
                "Sidebar",
                "Analytics"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-analytics"
            },
            {
              "slug": "orders-4",
              "name": "Orders",
              "what": "Opens the orders page.",
              "path": "Sidebar > Finance > Orders",
              "steps": [
                "Sidebar",
                "Finance",
                "Orders"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders-4"
            },
            {
              "slug": "finance",
              "name": "Finance",
              "what": "Opens the finance page.",
              "path": "Sidebar > Finance > Finance",
              "steps": [
                "Sidebar",
                "Finance",
                "Finance"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-finance"
            },
            {
              "slug": "stores-2",
              "name": "Stores",
              "what": "Opens the connected stores page.",
              "path": "Sidebar > Listings > Stores",
              "steps": [
                "Sidebar",
                "Listings",
                "Stores"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": "connect_stores feature",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-stores-2"
            },
            {
              "slug": "listing-manager-2",
              "name": "Listing Manager",
              "what": "Opens the listing manager.",
              "path": "Sidebar > Listings > Listing Manager",
              "steps": [
                "Sidebar",
                "Listings",
                "Listing Manager"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": "listing_manager feature",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-listing-manager-2"
            },
            {
              "slug": "quick-upload",
              "name": "Quick upload",
              "what": "Opens the quick upload workspace.",
              "path": "Sidebar > Listings > Quick upload",
              "steps": [
                "Sidebar",
                "Listings",
                "Quick upload"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": "quick_upload feature",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-quick-upload"
            },
            {
              "slug": "va-admin",
              "name": "VA Admin",
              "what": "Opens virtual assistant management.",
              "path": "Sidebar > VA Management > VA Admin",
              "steps": [
                "Sidebar",
                "VA Management",
                "VA Admin"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": "va_management feature",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-va-admin"
            },
            {
              "slug": "product-hunt-3",
              "name": "Product Hunt",
              "what": "Opens the Etsy product research page.",
              "path": "Sidebar > Research > Product Hunt",
              "steps": [
                "Sidebar",
                "Research",
                "Product Hunt"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": "product_hunt feature",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-product-hunt-3"
            },
            {
              "slug": "keywords-3",
              "name": "Keywords",
              "what": "Opens keyword analysis.",
              "path": "Sidebar > Research > Keywords",
              "steps": [
                "Sidebar",
                "Research",
                "Keywords"
              ],
              "url": "https://eto.tools/dashboard/keywords/",
              "requires": "staff",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-keywords-3"
            },
            {
              "slug": "shop-spy",
              "name": "Shop Spy",
              "what": "Opens the shop lookup tool.",
              "path": "Sidebar > Research > Shop Spy",
              "steps": [
                "Sidebar",
                "Research",
                "Shop Spy"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": "shop_spy feature",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-shop-spy"
            },
            {
              "slug": "gallery-3",
              "name": "Gallery",
              "what": "Opens the AI image gallery.",
              "path": "Sidebar > Research > Gallery",
              "steps": [
                "Sidebar",
                "Research",
                "Gallery"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": "ai_studio feature",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gallery-3"
            },
            {
              "slug": "api",
              "name": "API",
              "what": "Opens the developer API console.",
              "path": "Sidebar > Developer > API",
              "steps": [
                "Sidebar",
                "Developer",
                "API"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": "Enterprise plan",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-api"
            },
            {
              "slug": "settings-3",
              "name": "Settings",
              "what": "Opens the settings page.",
              "path": "Sidebar > Settings",
              "steps": [
                "Sidebar",
                "Settings"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-settings-3"
            },
            {
              "slug": "taxonomy-browser",
              "name": "Taxonomy Browser",
              "what": "Opens the Etsy category browser.",
              "path": "Sidebar > Admin > Taxonomy",
              "steps": [
                "Sidebar",
                "Admin",
                "Taxonomy"
              ],
              "url": "https://eto.tools/dashboard/taxonomy/",
              "requires": "staff",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-taxonomy-browser"
            },
            {
              "slug": "sign-out",
              "name": "Sign out",
              "what": "Signs you out and returns to the public site.",
              "path": "Sidebar > Sign out",
              "steps": [
                "Sidebar",
                "Sign out"
              ],
              "url": "https://eto.tools/auth/logout/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sign-out"
            },
            {
              "slug": "locked-nav-item",
              "name": "Locked nav item",
              "what": "A feature outside the current plan shows in place but opens the upgrade flow instead of the page.",
              "path": "Sidebar",
              "steps": [
                "Sidebar"
              ],
              "url": "https://eto.tools/onboarding/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-locked-nav-item"
            }
          ]
        },
        {
          "slug": "sidebar-sidebar-controls",
          "name": "Sidebar controls",
          "features": [
            {
              "slug": "collapse-sidebar",
              "name": "Collapse sidebar",
              "what": "Shrinks the sidebar to an icon rail and remembers the choice; it starts collapsed on narrow screens.",
              "path": "Sidebar > Collapse sidebar",
              "steps": [
                "Sidebar",
                "Collapse sidebar"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-collapse-sidebar"
            },
            {
              "slug": "icon-rail",
              "name": "Icon rail",
              "what": "The collapsed sidebar keeps every destination plus search, the three quick panels, theme and sign out as tooltipped icons.",
              "path": "Sidebar > collapsed rail",
              "steps": [
                "Sidebar",
                "collapsed rail"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-icon-rail"
            },
            {
              "slug": "theme",
              "name": "Theme",
              "what": "Switches between the light and dark theme and stores the choice in the browser.",
              "path": "Sidebar > Theme",
              "steps": [
                "Sidebar",
                "Theme"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-theme"
            },
            {
              "slug": "usage-limits-box",
              "name": "Usage limits box",
              "what": "Shows the plan name and the remaining daily allowance for searches, bulk research, keyword analysis, stores, assistants and Shop Spy.",
              "path": "Sidebar",
              "steps": [
                "Sidebar"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-usage-limits-box"
            },
            {
              "slug": "limit-reached-modal",
              "name": "Limit reached modal",
              "what": "Blocks a capped feature, states the usage against the cap and offers Upgrade Plan.",
              "path": "Sidebar",
              "steps": [
                "Sidebar"
              ],
              "url": "https://eto.tools/onboarding/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-limit-reached-modal"
            },
            {
              "slug": "new-order-toast",
              "name": "New order toast",
              "what": "Shows a popup and plays the sale sound when a new order event arrives, deduplicated across tabs.",
              "path": "Sidebar > new order toast",
              "steps": [
                "Sidebar",
                "new order toast"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-new-order-toast"
            }
          ]
        },
        {
          "slug": "sidebar-quick-panels",
          "name": "Quick panels",
          "features": [
            {
              "slug": "quick-thoughts",
              "name": "Quick Thoughts",
              "what": "Opens a floating panel with Favourites, Thoughts and History tabs.",
              "path": "Sidebar > Quick Thoughts",
              "steps": [
                "Sidebar",
                "Quick Thoughts"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-quick-thoughts"
            },
            {
              "slug": "favourites",
              "name": "Favourites",
              "what": "Lists saved listings with a search box, a refresh button and a sort menu covering demand, price and age in both directions.",
              "path": "Sidebar > Quick Thoughts > Favourites",
              "steps": [
                "Sidebar",
                "Quick Thoughts",
                "Favourites"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-favourites"
            },
            {
              "slug": "remove-favourite",
              "name": "Remove favourite",
              "what": "Drops one listing from the favourites list.",
              "path": "Sidebar > Quick Thoughts > Favourites > Remove",
              "steps": [
                "Sidebar",
                "Quick Thoughts",
                "Favourites",
                "Remove"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-remove-favourite"
            },
            {
              "slug": "thoughts-3",
              "name": "Thoughts",
              "what": "A free text notepad that saves itself as you type.",
              "path": "Sidebar > Quick Thoughts > Thoughts",
              "steps": [
                "Sidebar",
                "Quick Thoughts",
                "Thoughts"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-thoughts-3"
            },
            {
              "slug": "history",
              "name": "History",
              "what": "Lists your recent searches so one can be reopened.",
              "path": "Sidebar > Quick Thoughts > History",
              "steps": [
                "Sidebar",
                "Quick Thoughts",
                "History"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-history"
            },
            {
              "slug": "quick-keyword-search",
              "name": "Quick Keyword Search",
              "what": "Checks a keyword demand and competition in a floating panel, with mini metrics and a trend chart.",
              "path": "Sidebar > Keyword Search",
              "steps": [
                "Sidebar",
                "Keyword Search"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "plan tier 3+",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-quick-keyword-search"
            },
            {
              "slug": "quick-product-search",
              "name": "Quick Product Search",
              "what": "Looks up any Etsy listing by ID or pasted URL without leaving the page.",
              "path": "Sidebar > Product Search",
              "steps": [
                "Sidebar",
                "Product Search"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-quick-product-search"
            },
            {
              "slug": "pretty-json",
              "name": "Pretty / JSON",
              "what": "Switches the product lookup result between a readable card and the raw JSON.",
              "path": "Sidebar > Product Search > Pretty",
              "steps": [
                "Sidebar",
                "Product Search",
                "Pretty"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-pretty-json"
            },
            {
              "slug": "copy-all-tags",
              "name": "Copy all tags",
              "what": "Copies every tag on the looked-up listing to the clipboard.",
              "path": "Sidebar > Product Search > Copy all tags",
              "steps": [
                "Sidebar",
                "Product Search",
                "Copy all tags"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy-all-tags"
            },
            {
              "slug": "drag-to-move",
              "name": "Drag to move",
              "what": "The title bar grip drags a quick panel anywhere on screen, clamped to the viewport.",
              "path": "Sidebar > Quick Thoughts > drag handle",
              "steps": [
                "Sidebar",
                "Quick Thoughts",
                "drag handle"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-drag-to-move"
            },
            {
              "slug": "drag-to-resize",
              "name": "Drag to resize",
              "what": "Every edge and corner of a quick panel is a resize grip.",
              "path": "Sidebar > Quick Thoughts > corner grip",
              "steps": [
                "Sidebar",
                "Quick Thoughts",
                "corner grip"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-drag-to-resize"
            },
            {
              "slug": "keyboard-nudge",
              "name": "Keyboard nudge",
              "what": "With a panel focused, arrow keys move it and Shift plus arrows resize it.",
              "path": "Sidebar > Quick Thoughts",
              "steps": [
                "Sidebar",
                "Quick Thoughts"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-keyboard-nudge"
            },
            {
              "slug": "reset-size-and-position",
              "name": "Reset size and position",
              "what": "Puts a quick panel back to its default box.",
              "path": "Sidebar > Quick Thoughts > Reset size and position",
              "steps": [
                "Sidebar",
                "Quick Thoughts",
                "Reset size and position"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-reset-size-and-position"
            }
          ]
        }
      ]
    },
    {
      "slug": "command-palette",
      "name": "Command palette",
      "url": "https://eto.tools/dashboard/",
      "summary": "Cmd+K from anywhere: one box that jumps to a page, runs a control on the page you are on, or searches your listings, orders and stores.",
      "anchor": "https://eto.tools/dev/docs/#where-command-palette",
      "markdown": "https://eto.tools/dev/docs/where/command-palette.md",
      "sections": [
        {
          "slug": "command-palette-opening-and-searching",
          "name": "Opening and searching",
          "features": [
            {
              "slug": "search-or-jump-to",
              "name": "Search or jump to...",
              "what": "Opens the command palette; Cmd+K or Ctrl+K opens it from any page.",
              "path": "Command palette",
              "steps": [
                "Command palette"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-or-jump-to"
            },
            {
              "slug": "fuzzy-ranking",
              "name": "Fuzzy ranking",
              "what": "Matches whole words, prefixes, one-character typos and scattered letters, and boosts commands belonging to the page you are on or next to.",
              "path": "Command palette",
              "steps": [
                "Command palette"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-fuzzy-ranking"
            },
            {
              "slug": "recents",
              "name": "Recents",
              "what": "Remembers the last eight commands you ran and floats them up the list.",
              "path": "Command palette",
              "steps": [
                "Command palette"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-recents"
            },
            {
              "slug": "universal-search",
              "name": "Universal search",
              "what": "From two characters, searches your own listings, orders and stores on the server and folds the hits into the same list.",
              "path": "Command palette",
              "steps": [
                "Command palette"
              ],
              "url": "https://eto.tools/api/search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-universal-search"
            },
            {
              "slug": "store-aware-commands",
              "name": "Store-aware commands",
              "what": "Commands written for one store resolve to the store you last opened, so the label names it.",
              "path": "Command palette",
              "steps": [
                "Command palette"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": "connected store",
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-aware-commands"
            },
            {
              "slug": "run-on-arrival",
              "name": "Run on arrival",
              "what": "Enter navigates to the destination page and then clicks, focuses or sets the control the command names.",
              "path": "Command palette",
              "steps": [
                "Command palette"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-run-on-arrival"
            },
            {
              "slug": "open-in-a-new-tab",
              "name": "Open in a new tab",
              "what": "Cmd+Enter or Ctrl+Enter runs the highlighted command in a new tab.",
              "path": "Command palette",
              "steps": [
                "Command palette"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-open-in-a-new-tab"
            },
            {
              "slug": "keyboard-navigation",
              "name": "Keyboard navigation",
              "what": "Arrow keys move the highlight, Enter runs it and Escape closes the palette.",
              "path": "Command palette",
              "steps": [
                "Command palette"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-keyboard-navigation"
            }
          ]
        },
        {
          "slug": "command-palette-pages",
          "name": "Pages",
          "features": [
            {
              "slug": "go-to-dashboard",
              "name": "Go to Dashboard",
              "what": "Jumps straight to the Dashboard page.",
              "path": "Command palette > Go to Dashboard",
              "steps": [
                "Command palette",
                "Go to Dashboard"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-dashboard"
            },
            {
              "slug": "go-to-analytics",
              "name": "Go to Analytics",
              "what": "Jumps straight to the Analytics page.",
              "path": "Command palette > Go to Analytics",
              "steps": [
                "Command palette",
                "Go to Analytics"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-analytics"
            },
            {
              "slug": "go-to-orders",
              "name": "Go to Orders",
              "what": "Jumps straight to the Orders page.",
              "path": "Command palette > Go to Orders",
              "steps": [
                "Command palette",
                "Go to Orders"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-orders"
            },
            {
              "slug": "go-to-finance",
              "name": "Go to Finance",
              "what": "Jumps straight to the Finance page.",
              "path": "Command palette > Go to Finance",
              "steps": [
                "Command palette",
                "Go to Finance"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-finance"
            },
            {
              "slug": "go-to-stores",
              "name": "Go to Stores",
              "what": "Jumps straight to the Stores page.",
              "path": "Command palette > Go to Stores",
              "steps": [
                "Command palette",
                "Go to Stores"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-stores"
            },
            {
              "slug": "go-to-listing-manager",
              "name": "Go to Listing Manager",
              "what": "Jumps straight to the Listing Manager page.",
              "path": "Command palette > Go to Listing Manager",
              "steps": [
                "Command palette",
                "Go to Listing Manager"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-listing-manager"
            },
            {
              "slug": "go-to-quick-upload",
              "name": "Go to Quick upload",
              "what": "Jumps straight to the Quick upload page.",
              "path": "Command palette > Go to Quick upload",
              "steps": [
                "Command palette",
                "Go to Quick upload"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-quick-upload"
            },
            {
              "slug": "go-to-va-admin",
              "name": "Go to VA Admin",
              "what": "Jumps straight to the VA Admin page.",
              "path": "Command palette > Go to VA Admin",
              "steps": [
                "Command palette",
                "Go to VA Admin"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-va-admin"
            },
            {
              "slug": "go-to-product-hunt",
              "name": "Go to Product Hunt",
              "what": "Jumps straight to the Product Hunt page.",
              "path": "Command palette > Go to Product Hunt",
              "steps": [
                "Command palette",
                "Go to Product Hunt"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-product-hunt"
            },
            {
              "slug": "go-to-keywords",
              "name": "Go to Keywords",
              "what": "Jumps straight to the Keywords page.",
              "path": "Command palette > Go to Keywords",
              "steps": [
                "Command palette",
                "Go to Keywords"
              ],
              "url": "https://eto.tools/dashboard/keywords/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-keywords"
            },
            {
              "slug": "go-to-gallery",
              "name": "Go to Gallery",
              "what": "Jumps straight to the Gallery page.",
              "path": "Command palette > Go to Gallery",
              "steps": [
                "Command palette",
                "Go to Gallery"
              ],
              "url": "https://eto.tools/dashboard/gallery/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-gallery"
            },
            {
              "slug": "go-to-shop-spy",
              "name": "Go to Shop Spy",
              "what": "Jumps straight to the Shop Spy page.",
              "path": "Command palette > Go to Shop Spy",
              "steps": [
                "Command palette",
                "Go to Shop Spy"
              ],
              "url": "https://eto.tools/dashboard/shop-spy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-shop-spy"
            },
            {
              "slug": "go-to-settings",
              "name": "Go to Settings",
              "what": "Jumps straight to the Settings page.",
              "path": "Command palette > Go to Settings",
              "steps": [
                "Command palette",
                "Go to Settings"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-settings"
            },
            {
              "slug": "go-to-workflow",
              "name": "Go to Workflow",
              "what": "Jumps straight to the Workflow page.",
              "path": "Command palette > Go to Workflow",
              "steps": [
                "Command palette",
                "Go to Workflow"
              ],
              "url": "https://eto.tools/dashboard/workflow/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-workflow"
            },
            {
              "slug": "go-to-api-console",
              "name": "Go to API console",
              "what": "Jumps straight to the API console page.",
              "path": "Command palette > Go to API console",
              "steps": [
                "Command palette",
                "Go to API console"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-api-console"
            },
            {
              "slug": "go-to-taxonomy-browser",
              "name": "Go to Taxonomy browser",
              "what": "Jumps straight to the Taxonomy browser page.",
              "path": "Command palette > Go to Taxonomy browser",
              "steps": [
                "Command palette",
                "Go to Taxonomy browser"
              ],
              "url": "https://eto.tools/dashboard/taxonomy/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-taxonomy-browser"
            },
            {
              "slug": "go-to-bulk-research",
              "name": "Go to Bulk research",
              "what": "Jumps straight to the Bulk research page.",
              "path": "Command palette > Go to Bulk research",
              "steps": [
                "Command palette",
                "Go to Bulk research"
              ],
              "url": "https://eto.tools/dashboard/bulk-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-bulk-research"
            },
            {
              "slug": "go-to-customer-support",
              "name": "Go to Customer support",
              "what": "Jumps straight to the Customer support page.",
              "path": "Command palette > Go to Customer support",
              "steps": [
                "Command palette",
                "Go to Customer support"
              ],
              "url": "https://eto.tools/dashboard/support/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-go-to-customer-support"
            }
          ]
        },
        {
          "slug": "command-palette-dashboard",
          "name": "Dashboard",
          "features": [
            {
              "slug": "home-tab",
              "name": "Home tab",
              "what": "Live updates, needs fulfilment, finance snapshot.",
              "path": "Command palette > Home tab",
              "steps": [
                "Command palette",
                "Home tab"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-home-tab"
            },
            {
              "slug": "issues-tab",
              "name": "Issues tab",
              "what": "Stores that need attention.",
              "path": "Command palette > Issues tab",
              "steps": [
                "Command palette",
                "Issues tab"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-issues-tab"
            },
            {
              "slug": "listings-tab",
              "name": "Listings tab",
              "what": "Active listings that have run out of stock.",
              "path": "Command palette > Listings tab",
              "steps": [
                "Command palette",
                "Listings tab"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-listings-tab"
            },
            {
              "slug": "switch-store-2",
              "name": "Switch store",
              "what": "Open the store switcher.",
              "path": "Command palette > Switch store",
              "steps": [
                "Command palette",
                "Switch store"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-switch-store-2"
            },
            {
              "slug": "dashboard-store",
              "name": "Dashboard · {store}",
              "what": "Show this store on the dashboard.",
              "path": "Command palette > Dashboard · {store}",
              "steps": [
                "Command palette",
                "Dashboard · {store}"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-dashboard-store"
            },
            {
              "slug": "all-stores-view",
              "name": "All stores view",
              "what": "Combine every store on the dashboard.",
              "path": "Command palette > All stores view",
              "steps": [
                "Command palette",
                "All stores view"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-stores-view"
            },
            {
              "slug": "all-stores-currency-setup",
              "name": "All stores currency setup",
              "what": "Common currency and per-store rates.",
              "path": "Command palette > All stores currency setup",
              "steps": [
                "Command palette",
                "All stores currency setup"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-stores-currency-setup"
            },
            {
              "slug": "out-of-stock-listings",
              "name": "Out of stock listings",
              "what": "Per store, sorted by what they earned.",
              "path": "Command palette > Listings > Out of stock listings",
              "steps": [
                "Command palette",
                "Listings",
                "Out of stock listings"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-out-of-stock-listings"
            },
            {
              "slug": "run-store-health-check",
              "name": "Run store health check",
              "what": "Check every store connection with Etsy.",
              "path": "Command palette > Issues > Run store health check",
              "steps": [
                "Command palette",
                "Issues",
                "Run store health check"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-run-store-health-check"
            },
            {
              "slug": "sort-stores-by-most-sales",
              "name": "Sort stores by most sales",
              "what": "Opens sort stores by most sales on Dashboard.",
              "path": "Command palette > Store switcher > Sort stores by most sales",
              "steps": [
                "Command palette",
                "Store switcher",
                "Sort stores by most sales"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-stores-by-most-sales"
            },
            {
              "slug": "sort-stores-a-to-z",
              "name": "Sort stores A to Z",
              "what": "Opens sort stores A to Z on Dashboard.",
              "path": "Command palette > Store switcher > Sort stores A to Z",
              "steps": [
                "Command palette",
                "Store switcher",
                "Sort stores A to Z"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-stores-a-to-z"
            },
            {
              "slug": "today-3",
              "name": "Today",
              "what": "Sets the money window to today only.",
              "path": "Command palette > Period > Today",
              "steps": [
                "Command palette",
                "Period",
                "Today"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-today-3"
            },
            {
              "slug": "yesterday-2",
              "name": "Yesterday",
              "what": "Sets the money window to yesterday only.",
              "path": "Command palette > Period > Yesterday",
              "steps": [
                "Command palette",
                "Period",
                "Yesterday"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-yesterday-2"
            },
            {
              "slug": "last-7-days-2",
              "name": "Last 7 days",
              "what": "Sets the money window to the last seven days.",
              "path": "Command palette > Period > Last 7 days",
              "steps": [
                "Command palette",
                "Period",
                "Last 7 days"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-last-7-days-2"
            },
            {
              "slug": "this-month-3",
              "name": "This month",
              "what": "Sets the money window to the current month so far.",
              "path": "Command palette > Period > This month",
              "steps": [
                "Command palette",
                "Period",
                "This month"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-this-month-3"
            },
            {
              "slug": "this-year-2",
              "name": "This year",
              "what": "Sets the money window to the current year so far.",
              "path": "Command palette > Period > This year",
              "steps": [
                "Command palette",
                "Period",
                "This year"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-this-year-2"
            },
            {
              "slug": "custom-date-range",
              "name": "Custom date range",
              "what": "Pick two dates on the calendar.",
              "path": "Command palette > Period > Custom date range",
              "steps": [
                "Command palette",
                "Period",
                "Custom date range"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-custom-date-range"
            },
            {
              "slug": "settled-lens",
              "name": "Settled lens",
              "what": "Money on the day it moved.",
              "path": "Command palette > Finance > Settled lens",
              "steps": [
                "Command palette",
                "Finance",
                "Settled lens"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-settled-lens"
            },
            {
              "slug": "outcome-lens",
              "name": "Outcome lens",
              "what": "What each day's sales turned out to be worth.",
              "path": "Command palette > Finance > Outcome lens",
              "steps": [
                "Command palette",
                "Finance",
                "Outcome lens"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-outcome-lens"
            },
            {
              "slug": "orders-chart-2",
              "name": "Orders chart",
              "what": "Switches the dashboard chart to the number of orders.",
              "path": "Command palette > Finance > Orders chart",
              "steps": [
                "Command palette",
                "Finance",
                "Orders chart"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders-chart-2"
            },
            {
              "slug": "sales-chart",
              "name": "Sales chart",
              "what": "Switches the dashboard chart to gross sales.",
              "path": "Command palette > Finance > Sales chart",
              "steps": [
                "Command palette",
                "Finance",
                "Sales chart"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sales-chart"
            },
            {
              "slug": "cogs-chart",
              "name": "COGS chart",
              "what": "Switches the dashboard chart to cost of goods.",
              "path": "Command palette > Finance > COGS chart",
              "steps": [
                "Command palette",
                "Finance",
                "COGS chart"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-cogs-chart"
            },
            {
              "slug": "this-store-only-needs-fulfilment",
              "name": "This store only (needs fulfilment)",
              "what": "Toggle the store filter on the live panel.",
              "path": "Command palette > Live updates > This store only (needs fulfilment)",
              "steps": [
                "Command palette",
                "Live updates",
                "This store only (needs fulfilment)"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-this-store-only-needs-fulfilment"
            },
            {
              "slug": "inactive-stores-needs-fulfilment",
              "name": "Inactive stores (needs fulfilment)",
              "what": "Include orders from disconnected stores.",
              "path": "Command palette > Live updates > Inactive stores (needs fulfilment)",
              "steps": [
                "Command palette",
                "Live updates",
                "Inactive stores (needs fulfilment)"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-inactive-stores-needs-fulfilment"
            },
            {
              "slug": "clear-live-updates",
              "name": "Clear live updates",
              "what": "Dismiss every order event.",
              "path": "Command palette > Live updates > Clear live updates",
              "steps": [
                "Command palette",
                "Live updates",
                "Clear live updates"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-clear-live-updates"
            },
            {
              "slug": "view-all-needing-fulfilment",
              "name": "View all needing fulfilment",
              "what": "Unfulfilled physical orders.",
              "path": "Command palette > Live updates > View all needing fulfilment",
              "steps": [
                "Command palette",
                "Live updates",
                "View all needing fulfilment"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-view-all-needing-fulfilment"
            }
          ]
        },
        {
          "slug": "command-palette-analytics",
          "name": "Analytics",
          "features": [
            {
              "slug": "analytics-today",
              "name": "Analytics · Today",
              "what": "Hour-by-hour for today.",
              "path": "Command palette > Period > Analytics · Today",
              "steps": [
                "Command palette",
                "Period",
                "Analytics · Today"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-analytics-today"
            },
            {
              "slug": "analytics-last-7-days",
              "name": "Analytics · Last 7 days",
              "what": "Opens analytics · Last 7 days on Analytics.",
              "path": "Command palette > Period > Analytics · Last 7 days",
              "steps": [
                "Command palette",
                "Period",
                "Analytics · Last 7 days"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-analytics-last-7-days"
            },
            {
              "slug": "analytics-last-30-days",
              "name": "Analytics · Last 30 days",
              "what": "Opens analytics · Last 30 days on Analytics.",
              "path": "Command palette > Period > Analytics · Last 30 days",
              "steps": [
                "Command palette",
                "Period",
                "Analytics · Last 30 days"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-analytics-last-30-days"
            },
            {
              "slug": "analytics-last-90-days",
              "name": "Analytics · Last 90 days",
              "what": "Opens analytics · Last 90 days on Analytics.",
              "path": "Command palette > Period > Analytics · Last 90 days",
              "steps": [
                "Command palette",
                "Period",
                "Analytics · Last 90 days"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-analytics-last-90-days"
            },
            {
              "slug": "analytics-year-to-date",
              "name": "Analytics · Year to date",
              "what": "Opens analytics · Year to date on Analytics.",
              "path": "Command palette > Period > Analytics · Year to date",
              "steps": [
                "Command palette",
                "Period",
                "Analytics · Year to date"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-analytics-year-to-date"
            },
            {
              "slug": "analytics-store",
              "name": "Analytics · {store}",
              "what": "Show this store on Analytics.",
              "path": "Command palette > Analytics · {store}",
              "steps": [
                "Command palette",
                "Analytics · {store}"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-analytics-store"
            },
            {
              "slug": "where-to-sell-next",
              "name": "Where to sell next",
              "what": "Ranked markets on the Orders map.",
              "path": "Command palette > Where to sell next",
              "steps": [
                "Command palette",
                "Where to sell next"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-where-to-sell-next"
            },
            {
              "slug": "live-orders-on-the-map",
              "name": "Live orders on the map",
              "what": "Watch orders land as they arrive.",
              "path": "Command palette > Live orders on the map",
              "steps": [
                "Command palette",
                "Live orders on the map"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-live-orders-on-the-map"
            },
            {
              "slug": "orders-map-3d-globe",
              "name": "Orders map · 3D globe",
              "what": "Switches the orders map from flat to a 3D globe.",
              "path": "Command palette > Orders map · 3D globe",
              "steps": [
                "Command palette",
                "Orders map · 3D globe"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders-map-3d-globe"
            },
            {
              "slug": "refresh-analytics",
              "name": "Refresh analytics",
              "what": "Recompute every panel now.",
              "path": "Command palette > Refresh analytics",
              "steps": [
                "Command palette",
                "Refresh analytics"
              ],
              "url": "https://eto.tools/dashboard/analytics/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-analytics"
            }
          ]
        },
        {
          "slug": "command-palette-orders",
          "name": "Orders",
          "features": [
            {
              "slug": "search-orders",
              "name": "Search orders",
              "what": "Order number, buyer, product, SKU.",
              "path": "Command palette > Search orders",
              "steps": [
                "Command palette",
                "Search orders"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-orders"
            },
            {
              "slug": "orders-store",
              "name": "Orders · {store}",
              "what": "Only this store's orders.",
              "path": "Command palette > Orders · {store}",
              "steps": [
                "Command palette",
                "Orders · {store}"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders-store"
            },
            {
              "slug": "clear-order-filters",
              "name": "Clear order filters",
              "what": "Clears every active order filter and shows the whole list again.",
              "path": "Command palette > Clear order filters",
              "steps": [
                "Command palette",
                "Clear order filters"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-clear-order-filters"
            },
            {
              "slug": "orders-without-cogs",
              "name": "Orders without COGS",
              "what": "Orders missing a cost of goods.",
              "path": "Command palette > Orders without COGS",
              "steps": [
                "Command palette",
                "Orders without COGS"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-orders-without-cogs"
            },
            {
              "slug": "sync-orders-from-etsy",
              "name": "Sync orders from Etsy",
              "what": "Choose a range to pull.",
              "path": "Command palette > Sync orders from Etsy",
              "steps": [
                "Command palette",
                "Sync orders from Etsy"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sync-orders-from-etsy"
            },
            {
              "slug": "sync-printify-2",
              "name": "Sync Printify",
              "what": "Match Printify orders and pull tracking.",
              "path": "Command palette > Sync Printify",
              "steps": [
                "Command palette",
                "Sync Printify"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sync-printify-2"
            },
            {
              "slug": "import-cogs-from-csv",
              "name": "Import COGs from CSV",
              "what": "Starts the four-step wizard that imports costs from a CSV file.",
              "path": "Command palette > Import COGs from CSV",
              "steps": [
                "Command palette",
                "Import COGs from CSV"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-import-cogs-from-csv"
            },
            {
              "slug": "share-with-supplier-2",
              "name": "Share with supplier",
              "what": "Create a supplier link or download a CSV.",
              "path": "Command palette > Share with supplier",
              "steps": [
                "Command palette",
                "Share with supplier"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-share-with-supplier-2"
            },
            {
              "slug": "manage-share-links",
              "name": "Manage share links",
              "what": "Active and trashed supplier links.",
              "path": "Command palette > Manage share links",
              "steps": [
                "Command palette",
                "Manage share links"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-manage-share-links"
            },
            {
              "slug": "custom-dates-2",
              "name": "Custom dates",
              "what": "Pick a date range on the calendar.",
              "path": "Command palette > Date range > Custom dates",
              "steps": [
                "Command palette",
                "Date range",
                "Custom dates"
              ],
              "url": "https://eto.tools/dashboard/orders/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-custom-dates-2"
            }
          ]
        },
        {
          "slug": "command-palette-finance",
          "name": "Finance",
          "features": [
            {
              "slug": "finance-store",
              "name": "Finance · {store}",
              "what": "Open this store in Finance.",
              "path": "Command palette > Finance · {store}",
              "steps": [
                "Command palette",
                "Finance · {store}"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-finance-store"
            },
            {
              "slug": "all-stores-finance",
              "name": "All stores (Finance)",
              "what": "Combined view across every store.",
              "path": "Command palette > All stores (Finance)",
              "steps": [
                "Command palette",
                "All stores (Finance)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-stores-finance"
            },
            {
              "slug": "settled-lens-2",
              "name": "Settled lens",
              "what": "Money that moved, on the day it moved.",
              "path": "Command palette > Settled lens",
              "steps": [
                "Command palette",
                "Settled lens"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-settled-lens-2"
            },
            {
              "slug": "outcome-lens-2",
              "name": "Outcome lens",
              "what": "What each day's sales turned out to be worth.",
              "path": "Command palette > Outcome lens",
              "steps": [
                "Command palette",
                "Outcome lens"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-outcome-lens-2"
            },
            {
              "slug": "pick-a-day-or-range",
              "name": "Pick a day or range",
              "what": "Opens the calendar to choose one day or a range of days.",
              "path": "Command palette > Pick a day or range",
              "steps": [
                "Command palette",
                "Pick a day or range"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-pick-a-day-or-range"
            },
            {
              "slug": "copy-view-as-json",
              "name": "Copy view as JSON",
              "what": "Current figures to the clipboard.",
              "path": "Command palette > Copy view as JSON",
              "steps": [
                "Command palette",
                "Copy view as JSON"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy-view-as-json"
            },
            {
              "slug": "verify-with-etsy-again",
              "name": "Verify with Etsy again",
              "what": "Re-runs the check that compares stored figures against Etsy.",
              "path": "Command palette > Verify with Etsy again",
              "steps": [
                "Command palette",
                "Verify with Etsy again"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-verify-with-etsy-again"
            },
            {
              "slug": "refresh-today-2",
              "name": "Refresh today",
              "what": "Re-fetch today from Etsy.",
              "path": "Command palette > Settings > Refresh today",
              "steps": [
                "Command palette",
                "Settings",
                "Refresh today"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-today-2"
            },
            {
              "slug": "refresh-previous-7-days-2",
              "name": "Refresh previous 7 days",
              "what": "Opens refresh previous 7 days on Finance.",
              "path": "Command palette > Settings > Refresh previous 7 days",
              "steps": [
                "Command palette",
                "Settings",
                "Refresh previous 7 days"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-previous-7-days-2"
            },
            {
              "slug": "refresh-previous-30-days-2",
              "name": "Refresh previous 30 days",
              "what": "Opens refresh previous 30 days on Finance.",
              "path": "Command palette > Settings > Refresh previous 30 days",
              "steps": [
                "Command palette",
                "Settings",
                "Refresh previous 30 days"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-previous-30-days-2"
            },
            {
              "slug": "refresh-a-range-of-days",
              "name": "Refresh a range of days",
              "what": "Pick the days to re-fetch.",
              "path": "Command palette > Settings > Refresh a range of days",
              "steps": [
                "Command palette",
                "Settings",
                "Refresh a range of days"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-a-range-of-days"
            },
            {
              "slug": "adjust-ad-spend-timing-2",
              "name": "Adjust ad spend timing",
              "what": "Move ad charges to the day they were earned.",
              "path": "Command palette > Settings > Adjust ad spend timing",
              "steps": [
                "Command palette",
                "Settings",
                "Adjust ad spend timing"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-adjust-ad-spend-timing-2"
            },
            {
              "slug": "remove-unpaid-sales",
              "name": "Remove unpaid sales",
              "what": "Hide cancelled orders that were never paid.",
              "path": "Command palette > Settings > Remove unpaid sales",
              "steps": [
                "Command palette",
                "Settings",
                "Remove unpaid sales"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-remove-unpaid-sales"
            },
            {
              "slug": "convert-currency-2",
              "name": "Convert currency",
              "what": "Show every figure in another currency.",
              "path": "Command palette > Settings > Convert currency",
              "steps": [
                "Command palette",
                "Settings",
                "Convert currency"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-convert-currency-2"
            },
            {
              "slug": "currency-settings-2",
              "name": "Currency settings",
              "what": "Exchange rates between your stores.",
              "path": "Command palette > Settings > Currency settings",
              "steps": [
                "Command palette",
                "Settings",
                "Currency settings"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-currency-settings-2"
            },
            {
              "slug": "manage-subscriptions-2",
              "name": "Manage subscriptions",
              "what": "Software you pay for outside Etsy.",
              "path": "Command palette > Settings > Manage subscriptions",
              "steps": [
                "Command palette",
                "Settings",
                "Manage subscriptions"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-manage-subscriptions-2"
            },
            {
              "slug": "set-up-skipped-stores-2",
              "name": "Set up skipped stores",
              "what": "Re-run finance setup for stores you skipped.",
              "path": "Command palette > Settings > Set up skipped stores",
              "steps": [
                "Command palette",
                "Settings",
                "Set up skipped stores"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-set-up-skipped-stores-2"
            },
            {
              "slug": "delete-all-finance-data-2",
              "name": "Delete all finance data",
              "what": "Wipes every stored finance figure for the account and starts again.",
              "path": "Command palette > Settings > Delete all finance data",
              "steps": [
                "Command palette",
                "Settings",
                "Delete all finance data"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-all-finance-data-2"
            },
            {
              "slug": "store-exchange-rates",
              "name": "Store exchange rates",
              "what": "Opens the tab holding the exchange rate between each store currency.",
              "path": "Command palette > Currency settings > Store exchange rates",
              "steps": [
                "Command palette",
                "Currency settings",
                "Store exchange rates"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-exchange-rates"
            },
            {
              "slug": "export-statement-as-csv",
              "name": "Export statement as CSV",
              "what": "Etsy statement layout for the selected window.",
              "path": "Command palette > Export > Export statement as CSV",
              "steps": [
                "Command palette",
                "Export",
                "Export statement as CSV"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-export-statement-as-csv"
            },
            {
              "slug": "export-statement-as-excel",
              "name": "Export statement as Excel",
              "what": ".xlsx workbook, one sheet per store.",
              "path": "Command palette > Export > Export statement as Excel",
              "steps": [
                "Command palette",
                "Export",
                "Export statement as Excel"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-export-statement-as-excel"
            },
            {
              "slug": "all-stores-tab-2",
              "name": "All stores tab",
              "what": "Combined breakdown (all stores view).",
              "path": "Command palette > Breakdown > All stores tab",
              "steps": [
                "Command palette",
                "Breakdown",
                "All stores tab"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-stores-tab-2"
            },
            {
              "slug": "per-store-tab-2",
              "name": "Per store tab",
              "what": "Every store side by side (all stores view).",
              "path": "Command palette > Breakdown > Per store tab",
              "steps": [
                "Command palette",
                "Breakdown",
                "Per store tab"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-per-store-tab-2"
            },
            {
              "slug": "net-profit-breakdown",
              "name": "Net profit breakdown",
              "what": "Opens net profit breakdown on Finance.",
              "path": "Command palette > Breakdown > Net profit breakdown",
              "steps": [
                "Command palette",
                "Breakdown",
                "Net profit breakdown"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-net-profit-breakdown"
            },
            {
              "slug": "gross-profit-breakdown",
              "name": "Gross profit breakdown",
              "what": "Opens gross profit breakdown on Finance.",
              "path": "Command palette > Breakdown > Gross profit breakdown",
              "steps": [
                "Command palette",
                "Breakdown",
                "Gross profit breakdown"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-gross-profit-breakdown"
            },
            {
              "slug": "sales-breakdown",
              "name": "Sales breakdown",
              "what": "Opens sales breakdown on Finance.",
              "path": "Command palette > Breakdown > Sales breakdown",
              "steps": [
                "Command palette",
                "Breakdown",
                "Sales breakdown"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sales-breakdown"
            },
            {
              "slug": "fees-breakdown-2",
              "name": "Fees breakdown",
              "what": "Opens fees breakdown on Finance.",
              "path": "Command palette > Breakdown > Fees breakdown",
              "steps": [
                "Command palette",
                "Breakdown",
                "Fees breakdown"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-fees-breakdown-2"
            },
            {
              "slug": "ads-breakdown-2",
              "name": "Ads breakdown",
              "what": "Opens ads breakdown on Finance.",
              "path": "Command palette > Breakdown > Ads breakdown",
              "steps": [
                "Command palette",
                "Breakdown",
                "Ads breakdown"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ads-breakdown-2"
            },
            {
              "slug": "profit-per-product-2",
              "name": "Profit per product",
              "what": "Products view for the selected range.",
              "path": "Command palette > Range > Profit per product",
              "steps": [
                "Command palette",
                "Range",
                "Profit per product"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-profit-per-product-2"
            },
            {
              "slug": "all-transactions-2",
              "name": "All transactions",
              "what": "Every group in the selected range.",
              "path": "Command palette > Range > All transactions",
              "steps": [
                "Command palette",
                "Range",
                "All transactions"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-transactions-2"
            },
            {
              "slug": "issues-unrecognised-groups",
              "name": "Issues (unrecognised groups)",
              "what": "Ledger groups that could not be categorised.",
              "path": "Command palette > Range > Issues (unrecognised groups)",
              "steps": [
                "Command palette",
                "Range",
                "Issues (unrecognised groups)"
              ],
              "url": "https://eto.tools/dashboard/finances/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-issues-unrecognised-groups"
            }
          ]
        },
        {
          "slug": "command-palette-stores",
          "name": "Stores",
          "features": [
            {
              "slug": "connect-a-store-3",
              "name": "Connect a store",
              "what": "Starts the Etsy authorisation that connects a shop to Eto.",
              "path": "Command palette > Connect a store",
              "steps": [
                "Command palette",
                "Connect a store"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-connect-a-store-3"
            },
            {
              "slug": "refresh-stores",
              "name": "Refresh stores",
              "what": "Re-sync the store list from Etsy.",
              "path": "Command palette > Refresh stores",
              "steps": [
                "Command palette",
                "Refresh stores"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-stores"
            },
            {
              "slug": "search-stores-5",
              "name": "Search stores",
              "what": "Opens search stores on Stores.",
              "path": "Command palette > Search stores",
              "steps": [
                "Command palette",
                "Search stores"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-stores-5"
            },
            {
              "slug": "hidden-stores",
              "name": "Hidden stores",
              "what": "Lists the stores you have hidden from the dashboard, Orders or Finance.",
              "path": "Command palette > Hidden stores",
              "steps": [
                "Command palette",
                "Hidden stores"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hidden-stores"
            },
            {
              "slug": "all-stores-list",
              "name": "All stores (list)",
              "what": "Opens all stores (list) on Stores.",
              "path": "Command palette > All stores (list)",
              "steps": [
                "Command palette",
                "All stores (list)"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-stores-list"
            },
            {
              "slug": "select-all-stores-2",
              "name": "Select all stores",
              "what": "Ticks every store in the list so a bulk action applies to all of them.",
              "path": "Command palette > Select all stores",
              "steps": [
                "Command palette",
                "Select all stores"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all-stores-2"
            },
            {
              "slug": "store-details-store",
              "name": "Store details · {store}",
              "what": "Stats, status, shipping profiles.",
              "path": "Command palette > Store details · {store}",
              "steps": [
                "Command palette",
                "Store details · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-store-details-store"
            },
            {
              "slug": "refresh-store-details-store",
              "name": "Refresh store details · {store}",
              "what": "Pulls this store details from Etsy again.",
              "path": "Command palette > Refresh store details · {store}",
              "steps": [
                "Command palette",
                "Refresh store details · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-store-details-store"
            },
            {
              "slug": "order-notifications-store",
              "name": "Order notifications · {store}",
              "what": "Toggle webhook notifications for this store.",
              "path": "Command palette > Order notifications · {store}",
              "steps": [
                "Command palette",
                "Order notifications · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-order-notifications-store"
            },
            {
              "slug": "disconnect-store-2",
              "name": "Disconnect · {store}",
              "what": "Remove this store from Eto.",
              "path": "Command palette > Disconnect · {store}",
              "steps": [
                "Command palette",
                "Disconnect · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-disconnect-store-2"
            },
            {
              "slug": "turn-order-notifications-on-for-all-stores",
              "name": "Turn order notifications on for all stores",
              "what": "Opens turn order notifications on for all stores on Stores.",
              "path": "Command palette > Bulk > Turn order notifications on for all stores",
              "steps": [
                "Command palette",
                "Bulk",
                "Turn order notifications on for all stores"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-turn-order-notifications-on-for-all-stores"
            },
            {
              "slug": "turn-order-notifications-off-for-all-stores",
              "name": "Turn order notifications off for all stores",
              "what": "Opens turn order notifications off for all stores on Stores.",
              "path": "Command palette > Bulk > Turn order notifications off for all stores",
              "steps": [
                "Command palette",
                "Bulk",
                "Turn order notifications off for all stores"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-turn-order-notifications-off-for-all-stores"
            },
            {
              "slug": "bulk-visibility",
              "name": "Bulk visibility",
              "what": "Show or hide stores on Orders, Finance, Listings.",
              "path": "Command palette > Bulk > Bulk visibility",
              "steps": [
                "Command palette",
                "Bulk",
                "Bulk visibility"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-bulk-visibility"
            },
            {
              "slug": "hide-from-orders-store",
              "name": "Hide from Orders · {store}",
              "what": "Toggle this store on the Orders page.",
              "path": "Command palette > Visibility > Hide from Orders · {store}",
              "steps": [
                "Command palette",
                "Visibility",
                "Hide from Orders · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-from-orders-store"
            },
            {
              "slug": "hide-from-finance-store",
              "name": "Hide from Finance · {store}",
              "what": "Toggle this store on the Finance page.",
              "path": "Command palette > Visibility > Hide from Finance · {store}",
              "steps": [
                "Command palette",
                "Visibility",
                "Hide from Finance · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-from-finance-store"
            },
            {
              "slug": "hide-from-listings-store",
              "name": "Hide from Listings · {store}",
              "what": "Toggle this store in the Listing Manager.",
              "path": "Command palette > Visibility > Hide from Listings · {store}",
              "steps": [
                "Command palette",
                "Visibility",
                "Hide from Listings · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hide-from-listings-store"
            }
          ]
        },
        {
          "slug": "command-palette-store-details",
          "name": "Store details",
          "features": [
            {
              "slug": "shop-information-store",
              "name": "Shop information · {store}",
              "what": "Currency, location, languages, created.",
              "path": "Command palette > Shop information · {store}",
              "steps": [
                "Command palette",
                "Shop information · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-shop-information-store"
            },
            {
              "slug": "shop-status-store",
              "name": "Shop status · {store}",
              "what": "Vacation, custom requests, payments.",
              "path": "Command palette > Shop status · {store}",
              "steps": [
                "Command palette",
                "Shop status · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-shop-status-store"
            },
            {
              "slug": "shipping-profiles-store",
              "name": "Shipping profiles · {store}",
              "what": "Opens shipping profiles · {store} on Stores.",
              "path": "Command palette > Shipping profiles · {store}",
              "steps": [
                "Command palette",
                "Shipping profiles · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-shipping-profiles-store"
            },
            {
              "slug": "shop-announcement-store",
              "name": "Shop announcement · {store}",
              "what": "Opens shop announcement · {store} on Stores.",
              "path": "Command palette > Shop announcement · {store}",
              "steps": [
                "Command palette",
                "Shop announcement · {store}"
              ],
              "url": "https://eto.tools/dashboard/stores/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-shop-announcement-store"
            }
          ]
        },
        {
          "slug": "command-palette-listing-manager",
          "name": "Listing Manager",
          "features": [
            {
              "slug": "listings-store",
              "name": "Listings · {store}",
              "what": "Open this store in the Listing Manager.",
              "path": "Command palette > Listings · {store}",
              "steps": [
                "Command palette",
                "Listings · {store}"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-listings-store"
            },
            {
              "slug": "grid-view-2",
              "name": "Grid view",
              "what": "Opens grid view on Listing Manager.",
              "path": "Command palette > Grid view",
              "steps": [
                "Command palette",
                "Grid view"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-grid-view-2"
            },
            {
              "slug": "list-view-2",
              "name": "List view",
              "what": "Opens list view on Listing Manager.",
              "path": "Command palette > List view",
              "steps": [
                "Command palette",
                "List view"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-list-view-2"
            },
            {
              "slug": "grid-columns",
              "name": "Grid columns",
              "what": "Sets how many cards fit across one row of the grid.",
              "path": "Command palette > Grid columns",
              "steps": [
                "Command palette",
                "Grid columns"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-grid-columns"
            },
            {
              "slug": "search-listings",
              "name": "Search listings",
              "what": "Opens search listings on Listing Manager.",
              "path": "Command palette > Search listings",
              "steps": [
                "Command palette",
                "Search listings"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-listings"
            },
            {
              "slug": "refresh-this-store-s-listings",
              "name": "Refresh this store's listings",
              "what": "Opens refresh this store's listings on Listing Manager.",
              "path": "Command palette > Refresh this store's listings",
              "steps": [
                "Command palette",
                "Refresh this store's listings"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-this-store-s-listings"
            },
            {
              "slug": "refresh-all-stores-listings",
              "name": "Refresh all stores' listings",
              "what": "Opens refresh all stores' listings on Listing Manager.",
              "path": "Command palette > Refresh all stores' listings",
              "steps": [
                "Command palette",
                "Refresh all stores' listings"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-refresh-all-stores-listings"
            },
            {
              "slug": "default-mode",
              "name": "Default mode",
              "what": "Opens default mode on Listing Manager.",
              "path": "Command palette > Mode > Default mode",
              "steps": [
                "Command palette",
                "Mode",
                "Default mode"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-default-mode"
            },
            {
              "slug": "edit-products-mode",
              "name": "Edit products mode",
              "what": "Select listings for bulk actions.",
              "path": "Command palette > Mode > Edit products mode",
              "steps": [
                "Command palette",
                "Mode",
                "Edit products mode"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-edit-products-mode"
            },
            {
              "slug": "edit-storewide-mode",
              "name": "Edit storewide mode",
              "what": "Rules that apply to whole stores.",
              "path": "Command palette > Mode > Edit storewide mode",
              "steps": [
                "Command palette",
                "Mode",
                "Edit storewide mode"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-edit-storewide-mode"
            },
            {
              "slug": "all-listings",
              "name": "All listings",
              "what": "Opens all listings on Listing Manager.",
              "path": "Command palette > Status > All listings",
              "steps": [
                "Command palette",
                "Status",
                "All listings"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-all-listings"
            },
            {
              "slug": "active-listings-2",
              "name": "Active listings",
              "what": "Opens active listings on Listing Manager.",
              "path": "Command palette > Status > Active listings",
              "steps": [
                "Command palette",
                "Status",
                "Active listings"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-active-listings-2"
            },
            {
              "slug": "inactive-listings",
              "name": "Inactive listings",
              "what": "Opens inactive listings on Listing Manager.",
              "path": "Command palette > Status > Inactive listings",
              "steps": [
                "Command palette",
                "Status",
                "Inactive listings"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-inactive-listings"
            },
            {
              "slug": "draft-listings",
              "name": "Draft listings",
              "what": "Opens draft listings on Listing Manager.",
              "path": "Command palette > Status > Draft listings",
              "steps": [
                "Command palette",
                "Status",
                "Draft listings"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-draft-listings"
            },
            {
              "slug": "filter-by-shop-section",
              "name": "Filter by shop section",
              "what": "Opens filter by shop section on Listing Manager.",
              "path": "Command palette > Filters > Filter by shop section",
              "steps": [
                "Command palette",
                "Filters",
                "Filter by shop section"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-filter-by-shop-section"
            },
            {
              "slug": "filter-by-type",
              "name": "Filter by type",
              "what": "Narrows the listings to digital or physical products.",
              "path": "Command palette > Filters > Filter by type",
              "steps": [
                "Command palette",
                "Filters",
                "Filter by type"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-filter-by-type"
            },
            {
              "slug": "sort-listings",
              "name": "Sort listings",
              "what": "Quantity, views, favourites, sold, price, age.",
              "path": "Command palette > Filters > Sort listings",
              "steps": [
                "Command palette",
                "Filters",
                "Sort listings"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-listings"
            },
            {
              "slug": "filter-by-age",
              "name": "Filter by age",
              "what": "Listings created within a period.",
              "path": "Command palette > Filters > Filter by age",
              "steps": [
                "Command palette",
                "Filters",
                "Filter by age"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-filter-by-age"
            },
            {
              "slug": "select-all-listings",
              "name": "Select all listings",
              "what": "Opens select all listings on Listing Manager.",
              "path": "Command palette > Bulk > Select all listings",
              "steps": [
                "Command palette",
                "Bulk",
                "Select all listings"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all-listings"
            },
            {
              "slug": "select-all-drafts",
              "name": "Select all drafts",
              "what": "Opens select all drafts on Listing Manager.",
              "path": "Command palette > Bulk > Select all drafts",
              "steps": [
                "Command palette",
                "Bulk",
                "Select all drafts"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all-drafts"
            },
            {
              "slug": "select-all-active",
              "name": "Select all active",
              "what": "Opens select all active on Listing Manager.",
              "path": "Command palette > Bulk > Select all active",
              "steps": [
                "Command palette",
                "Bulk",
                "Select all active"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all-active"
            },
            {
              "slug": "select-all-inactive",
              "name": "Select all inactive",
              "what": "Opens select all inactive on Listing Manager.",
              "path": "Command palette > Bulk > Select all inactive",
              "steps": [
                "Command palette",
                "Bulk",
                "Select all inactive"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-select-all-inactive"
            },
            {
              "slug": "edit-processing-profiles-2",
              "name": "Edit processing profiles",
              "what": "Production partners for the selected listings.",
              "path": "Command palette > Bulk > Edit processing profiles",
              "steps": [
                "Command palette",
                "Bulk",
                "Edit processing profiles"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-edit-processing-profiles-2"
            },
            {
              "slug": "edit-quantity-2",
              "name": "Edit quantity",
              "what": "Set stock for the selected listings.",
              "path": "Command palette > Bulk > Edit quantity",
              "steps": [
                "Command palette",
                "Bulk",
                "Edit quantity"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-edit-quantity-2"
            },
            {
              "slug": "copy-listings-to-another-store",
              "name": "Copy listings to another store",
              "what": "Opens copy listings to another store on Listing Manager.",
              "path": "Command palette > Bulk > Copy listings to another store",
              "steps": [
                "Command palette",
                "Bulk",
                "Copy listings to another store"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-copy-listings-to-another-store"
            },
            {
              "slug": "activate-selected-on-etsy",
              "name": "Activate selected on Etsy",
              "what": "Publish drafts ($0.20 each).",
              "path": "Command palette > Bulk > Activate selected on Etsy",
              "steps": [
                "Command palette",
                "Bulk",
                "Activate selected on Etsy"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-activate-selected-on-etsy"
            },
            {
              "slug": "delete-selected-from-etsy",
              "name": "Delete selected from Etsy",
              "what": "Opens delete selected from Etsy on Listing Manager.",
              "path": "Command palette > Bulk > Delete selected from Etsy",
              "steps": [
                "Command palette",
                "Bulk",
                "Delete selected from Etsy"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-selected-from-etsy"
            },
            {
              "slug": "auto-quantity-control-2",
              "name": "Auto quantity control",
              "what": "Keep stock topped up automatically.",
              "path": "Command palette > Storewide > Auto quantity control",
              "steps": [
                "Command palette",
                "Storewide",
                "Auto quantity control"
              ],
              "url": "https://eto.tools/dashboard/listings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-auto-quantity-control-2"
            }
          ]
        },
        {
          "slug": "command-palette-quick-upload",
          "name": "Quick upload",
          "features": [
            {
              "slug": "active-listings-uploads",
              "name": "Active listings (uploads)",
              "what": "Listings already live.",
              "path": "Command palette > Active listings (uploads)",
              "steps": [
                "Command palette",
                "Active listings (uploads)"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-active-listings-uploads"
            },
            {
              "slug": "drafts-2",
              "name": "Drafts",
              "what": "Listings not yet published.",
              "path": "Command palette > Drafts",
              "steps": [
                "Command palette",
                "Drafts"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-drafts-2"
            },
            {
              "slug": "scheduled-uploads",
              "name": "Scheduled uploads",
              "what": "Listings queued to publish later.",
              "path": "Command palette > Scheduled uploads",
              "steps": [
                "Command palette",
                "Scheduled uploads"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-scheduled-uploads"
            },
            {
              "slug": "new-listing-2",
              "name": "New listing",
              "what": "Creates an empty listing and opens the workspace on it.",
              "path": "Command palette > New listing",
              "steps": [
                "Command palette",
                "New listing"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-new-listing-2"
            },
            {
              "slug": "bulk-csv-import",
              "name": "Bulk CSV import",
              "what": "Create many listings from a spreadsheet.",
              "path": "Command palette > Bulk CSV import",
              "steps": [
                "Command palette",
                "Bulk CSV import"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-bulk-csv-import"
            },
            {
              "slug": "delete-selected-uploads",
              "name": "Delete selected uploads",
              "what": "Opens delete selected uploads on Quick upload.",
              "path": "Command palette > Delete selected uploads",
              "steps": [
                "Command palette",
                "Delete selected uploads"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-selected-uploads"
            },
            {
              "slug": "import-an-etsy-listing-by-id",
              "name": "Import an Etsy listing by ID",
              "what": "Start from an existing listing.",
              "path": "Command palette > New > Import an Etsy listing by ID",
              "steps": [
                "Command palette",
                "New",
                "Import an Etsy listing by ID"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-import-an-etsy-listing-by-id"
            },
            {
              "slug": "start-a-blank-digital-listing",
              "name": "Start a blank digital listing",
              "what": "Opens start a blank digital listing on Quick upload.",
              "path": "Command palette > New > Start a blank digital listing",
              "steps": [
                "Command palette",
                "New",
                "Start a blank digital listing"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-start-a-blank-digital-listing"
            },
            {
              "slug": "start-a-blank-physical-listing",
              "name": "Start a blank physical listing",
              "what": "Opens start a blank physical listing on Quick upload.",
              "path": "Command palette > New > Start a blank physical listing",
              "steps": [
                "Command palette",
                "New",
                "Start a blank physical listing"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-start-a-blank-physical-listing"
            }
          ]
        },
        {
          "slug": "command-palette-listing-workspace",
          "name": "Listing workspace",
          "features": [
            {
              "slug": "generate-title-with-ai",
              "name": "Generate title with AI",
              "what": "Opens generate title with AI on Quick upload.",
              "path": "Command palette > Generate title with AI",
              "steps": [
                "Command palette",
                "Generate title with AI"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-generate-title-with-ai"
            },
            {
              "slug": "generate-description-with-ai",
              "name": "Generate description with AI",
              "what": "Opens generate description with AI on Quick upload.",
              "path": "Command palette > Generate description with AI",
              "steps": [
                "Command palette",
                "Generate description with AI"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-generate-description-with-ai"
            },
            {
              "slug": "add-images",
              "name": "Add images",
              "what": "Opens add images on Quick upload.",
              "path": "Command palette > Add images",
              "steps": [
                "Command palette",
                "Add images"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-images"
            },
            {
              "slug": "choose-category-2",
              "name": "Choose category",
              "what": "Picks the Etsy category the listing belongs to.",
              "path": "Command palette > Choose category",
              "steps": [
                "Command palette",
                "Choose category"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-choose-category-2"
            },
            {
              "slug": "choose-target-stores",
              "name": "Choose target stores",
              "what": "Opens choose target stores on Quick upload.",
              "path": "Command palette > Choose target stores",
              "steps": [
                "Command palette",
                "Choose target stores"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-choose-target-stores"
            },
            {
              "slug": "about-section",
              "name": "About section",
              "what": "Title, description, media.",
              "path": "Command palette > About section",
              "steps": [
                "Command palette",
                "About section"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-about-section"
            },
            {
              "slug": "price-and-inventory-section",
              "name": "Price & inventory section",
              "what": "Opens price & inventory section on Quick upload.",
              "path": "Command palette > Price & inventory section",
              "steps": [
                "Command palette",
                "Price & inventory section"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-price-and-inventory-section"
            },
            {
              "slug": "details-section",
              "name": "Details section",
              "what": "Category, tags, materials, stores.",
              "path": "Command palette > Details section",
              "steps": [
                "Command palette",
                "Details section"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-details-section"
            },
            {
              "slug": "publish-listing",
              "name": "Publish listing",
              "what": "Opens publish listing on Quick upload.",
              "path": "Command palette > Publish listing",
              "steps": [
                "Command palette",
                "Publish listing"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-publish-listing"
            },
            {
              "slug": "schedule-publish",
              "name": "Schedule publish",
              "what": "Opens schedule publish on Quick upload.",
              "path": "Command palette > Schedule publish",
              "steps": [
                "Command palette",
                "Schedule publish"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-schedule-publish"
            },
            {
              "slug": "bulk-upload-variants",
              "name": "Bulk upload variants",
              "what": "Generate many variants of this listing.",
              "path": "Command palette > Bulk upload variants",
              "steps": [
                "Command palette",
                "Bulk upload variants"
              ],
              "url": "https://eto.tools/dashboard/single-research/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-bulk-upload-variants"
            }
          ]
        },
        {
          "slug": "command-palette-va-admin",
          "name": "VA Admin",
          "features": [
            {
              "slug": "add-a-virtual-assistant",
              "name": "Add a virtual assistant",
              "what": "Opens add a virtual assistant on VA Admin.",
              "path": "Command palette > Add a virtual assistant",
              "steps": [
                "Command palette",
                "Add a virtual assistant"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-add-a-virtual-assistant"
            },
            {
              "slug": "search-assistants",
              "name": "Search assistants",
              "what": "Opens search assistants on VA Admin.",
              "path": "Command palette > Search assistants",
              "steps": [
                "Command palette",
                "Search assistants"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-assistants"
            },
            {
              "slug": "assistant-details",
              "name": "Assistant details",
              "what": "Opens assistant details on VA Admin.",
              "path": "Command palette > Edit > Assistant details",
              "steps": [
                "Command palette",
                "Edit",
                "Assistant details"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-assistant-details"
            },
            {
              "slug": "assistant-activity-2",
              "name": "Assistant activity",
              "what": "Logins, searches, listings, fulfilments.",
              "path": "Command palette > Edit > Assistant activity",
              "steps": [
                "Command palette",
                "Edit",
                "Assistant activity"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-assistant-activity-2"
            },
            {
              "slug": "toggle-assistant-active",
              "name": "Toggle assistant active",
              "what": "Opens toggle assistant active on VA Admin.",
              "path": "Command palette > Edit > Toggle assistant active",
              "steps": [
                "Command palette",
                "Edit",
                "Toggle assistant active"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-toggle-assistant-active"
            },
            {
              "slug": "delete-this-assistant",
              "name": "Delete this assistant",
              "what": "Opens delete this assistant on VA Admin.",
              "path": "Command palette > Edit > Delete this assistant",
              "steps": [
                "Command palette",
                "Edit",
                "Delete this assistant"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-this-assistant"
            },
            {
              "slug": "order-permissions",
              "name": "Order permissions",
              "what": "Which stores this assistant can handle orders for.",
              "path": "Command palette > Permissions > Order permissions",
              "steps": [
                "Command palette",
                "Permissions",
                "Order permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-order-permissions"
            },
            {
              "slug": "upload-permissions",
              "name": "Upload permissions",
              "what": "Which stores this assistant can upload to.",
              "path": "Command palette > Permissions > Upload permissions",
              "steps": [
                "Command palette",
                "Permissions",
                "Upload permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-upload-permissions"
            },
            {
              "slug": "enable-all-stores",
              "name": "Enable all stores",
              "what": "Opens enable all stores on VA Admin.",
              "path": "Command palette > Permissions > Enable all stores",
              "steps": [
                "Command palette",
                "Permissions",
                "Enable all stores"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-enable-all-stores"
            },
            {
              "slug": "disable-all-stores",
              "name": "Disable all stores",
              "what": "Opens disable all stores on VA Admin.",
              "path": "Command palette > Permissions > Disable all stores",
              "steps": [
                "Command palette",
                "Permissions",
                "Disable all stores"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-disable-all-stores"
            },
            {
              "slug": "save-permissions",
              "name": "Save permissions",
              "what": "Opens save permissions on VA Admin.",
              "path": "Command palette > Permissions > Save permissions",
              "steps": [
                "Command palette",
                "Permissions",
                "Save permissions"
              ],
              "url": "https://eto.tools/dashboard/va-admin/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-save-permissions"
            }
          ]
        },
        {
          "slug": "command-palette-product-hunt",
          "name": "Product Hunt",
          "features": [
            {
              "slug": "hunt-for-products",
              "name": "Hunt for products",
              "what": "Type a keyword and search Etsy.",
              "path": "Command palette > Hunt for products",
              "steps": [
                "Command palette",
                "Hunt for products"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-hunt-for-products"
            },
            {
              "slug": "run-the-search",
              "name": "Run the search",
              "what": "Opens run the search on Product Hunt.",
              "path": "Command palette > Run the search",
              "steps": [
                "Command palette",
                "Run the search"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-run-the-search"
            },
            {
              "slug": "search-settings-2",
              "name": "Search settings",
              "what": "Amount, age, detail level, optimized mode.",
              "path": "Command palette > Search settings",
              "steps": [
                "Command palette",
                "Search settings"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-settings-2"
            },
            {
              "slug": "grid-columns-2",
              "name": "Grid columns",
              "what": "Sets how many cards fit across one row of the grid.",
              "path": "Command palette > Grid columns",
              "steps": [
                "Command palette",
                "Grid columns"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-grid-columns-2"
            },
            {
              "slug": "ai-gems",
              "name": "AI Gems",
              "what": "AI-picked low-competition winners.",
              "path": "Command palette > AI Gems",
              "steps": [
                "Command palette",
                "AI Gems"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ai-gems"
            },
            {
              "slug": "keyword-analysis",
              "name": "Keyword analysis",
              "what": "Tags and keywords across the results.",
              "path": "Command palette > Keyword analysis",
              "steps": [
                "Command palette",
                "Keyword analysis"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-keyword-analysis"
            },
            {
              "slug": "next-page-of-results",
              "name": "Next page of results",
              "what": "Opens next page of results on Product Hunt.",
              "path": "Command palette > Next page of results",
              "steps": [
                "Command palette",
                "Next page of results"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-next-page-of-results"
            },
            {
              "slug": "previous-page-of-results",
              "name": "Previous page of results",
              "what": "Opens previous page of results on Product Hunt.",
              "path": "Command palette > Previous page of results",
              "steps": [
                "Command palette",
                "Previous page of results"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-previous-page-of-results"
            },
            {
              "slug": "amount-of-products-3",
              "name": "Amount of products",
              "what": "How many listings to scan.",
              "path": "Command palette > Settings > Amount of products",
              "steps": [
                "Command palette",
                "Settings",
                "Amount of products"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-amount-of-products-3"
            },
            {
              "slug": "max-listing-age",
              "name": "Max listing age",
              "what": "Only listings younger than N months.",
              "path": "Command palette > Settings > Max listing age",
              "steps": [
                "Command palette",
                "Settings",
                "Max listing age"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-max-listing-age"
            },
            {
              "slug": "full-product-details-2",
              "name": "Full product details",
              "what": "Fetches the full detail of every listing found, which is slower but complete.",
              "path": "Command palette > Settings > Full product details",
              "steps": [
                "Command palette",
                "Settings",
                "Full product details"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-full-product-details-2"
            },
            {
              "slug": "optimized-mode-2",
              "name": "Optimized mode",
              "what": "AI filtering and ranking.",
              "path": "Command palette > Settings > Optimized mode",
              "steps": [
                "Command palette",
                "Settings",
                "Optimized mode"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-optimized-mode-2"
            },
            {
              "slug": "sort-results",
              "name": "Sort results",
              "what": "Opens sort results on Product Hunt.",
              "path": "Command palette > Filters > Sort results",
              "steps": [
                "Command palette",
                "Filters",
                "Sort results"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-sort-results"
            },
            {
              "slug": "filter-by-listing-type",
              "name": "Filter by listing type",
              "what": "Narrows the results to physical or digital listings.",
              "path": "Command palette > Filters > Filter by listing type",
              "steps": [
                "Command palette",
                "Filters",
                "Filter by listing type"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-filter-by-listing-type"
            },
            {
              "slug": "filter-by-variations",
              "name": "Filter by variations",
              "what": "Opens filter by variations on Product Hunt.",
              "path": "Command palette > Filters > Filter by variations",
              "steps": [
                "Command palette",
                "Filters",
                "Filter by variations"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-filter-by-variations"
            },
            {
              "slug": "filter-by-ships-from-country",
              "name": "Filter by ships-from country",
              "what": "Opens filter by ships-from country on Product Hunt.",
              "path": "Command palette > Filters > Filter by ships-from country",
              "steps": [
                "Command palette",
                "Filters",
                "Filter by ships-from country"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-filter-by-ships-from-country"
            },
            {
              "slug": "search-within-results-2",
              "name": "Search within results",
              "what": "Opens search within results on Product Hunt.",
              "path": "Command palette > Filters > Search within results",
              "steps": [
                "Command palette",
                "Filters",
                "Search within results"
              ],
              "url": "https://eto.tools/dashboard/etsy-search/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-search-within-results-2"
            }
          ]
        },
        {
          "slug": "command-palette-settings",
          "name": "Settings",
          "features": [
            {
              "slug": "account",
              "name": "Account",
              "what": "Profile, security, time zone.",
              "path": "Command palette > Account",
              "steps": [
                "Command palette",
                "Account"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-account"
            },
            {
              "slug": "billing",
              "name": "Billing",
              "what": "Plan and subscription (opens the Stripe portal on paid plans).",
              "path": "Command palette > Billing",
              "steps": [
                "Command palette",
                "Billing"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-billing"
            },
            {
              "slug": "ai-provider",
              "name": "AI provider",
              "what": "Eto credits, Vertex AI or your own Gemini key.",
              "path": "Command palette > AI provider",
              "steps": [
                "Command palette",
                "AI provider"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-ai-provider"
            },
            {
              "slug": "notifications",
              "name": "Notifications",
              "what": "Opens notifications on Settings.",
              "path": "Command palette > Notifications",
              "steps": [
                "Command palette",
                "Notifications"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-notifications"
            },
            {
              "slug": "order-settings",
              "name": "Order settings",
              "what": "Printify, currency rates, webhooks.",
              "path": "Command palette > Order settings",
              "steps": [
                "Command palette",
                "Order settings"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-order-settings"
            },
            {
              "slug": "appearance",
              "name": "Appearance",
              "what": "Switches the app between the light and dark theme.",
              "path": "Command palette > Appearance",
              "steps": [
                "Command palette",
                "Appearance"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-appearance"
            },
            {
              "slug": "affiliates",
              "name": "Affiliates",
              "what": "Your referral link and commissions.",
              "path": "Command palette > Affiliates",
              "steps": [
                "Command palette",
                "Affiliates"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-affiliates"
            },
            {
              "slug": "update-name-2",
              "name": "Update name",
              "what": "Opens update name on Settings.",
              "path": "Command palette > Account > Update name",
              "steps": [
                "Command palette",
                "Account",
                "Update name"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-update-name-2"
            },
            {
              "slug": "change-password-2",
              "name": "Change password",
              "what": "Opens change password on Settings.",
              "path": "Command palette > Account > Change password",
              "steps": [
                "Command palette",
                "Account",
                "Change password"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-change-password-2"
            },
            {
              "slug": "time-zone-2",
              "name": "Time zone",
              "what": "How order dates and day totals are grouped.",
              "path": "Command palette > Account > Time zone",
              "steps": [
                "Command palette",
                "Account",
                "Time zone"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-time-zone-2"
            },
            {
              "slug": "eto-browser-extension",
              "name": "Eto browser extension",
              "what": "Opens eto browser extension on Settings.",
              "path": "Command palette > Account > Eto browser extension",
              "steps": [
                "Command palette",
                "Account",
                "Eto browser extension"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-eto-browser-extension"
            },
            {
              "slug": "delete-account-2",
              "name": "Delete account",
              "what": "Starts the permanent account deletion, which cannot be undone.",
              "path": "Command palette > Account > Delete account",
              "steps": [
                "Command palette",
                "Account",
                "Delete account"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-delete-account-2"
            },
            {
              "slug": "daily-usage-limits",
              "name": "Daily usage limits",
              "what": "Opens daily usage limits on Settings.",
              "path": "Command palette > Billing > Daily usage limits",
              "steps": [
                "Command palette",
                "Billing",
                "Daily usage limits"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-daily-usage-limits"
            },
            {
              "slug": "manage-billing-2",
              "name": "Manage billing",
              "what": "Opens the Stripe portal to change the card, plan or invoices.",
              "path": "Command palette > Billing > Manage billing",
              "steps": [
                "Command palette",
                "Billing",
                "Manage billing"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-manage-billing-2"
            },
            {
              "slug": "upgrade-plan-2",
              "name": "Upgrade plan",
              "what": "Opens upgrade plan on Settings.",
              "path": "Command palette > Billing > Upgrade plan",
              "steps": [
                "Command palette",
                "Billing",
                "Upgrade plan"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-upgrade-plan-2"
            },
            {
              "slug": "play-sale-sound-3",
              "name": "Play sale sound",
              "what": "Turns the sale sound on a new order on or off.",
              "path": "Command palette > Notifications > Play sale sound",
              "steps": [
                "Command palette",
                "Notifications",
                "Play sale sound"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-play-sale-sound-3"
            },
            {
              "slug": "test-notification-and-sound-2",
              "name": "Test notification and sound",
              "what": "Opens test notification and sound on Settings.",
              "path": "Command palette > Notifications > Test notification and sound",
              "steps": [
                "Command palette",
                "Notifications",
                "Test notification and sound"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-test-notification-and-sound-2"
            },
            {
              "slug": "printify-api-token-2",
              "name": "Printify API token",
              "what": "Opens printify API token on Settings.",
              "path": "Command palette > Orders > Printify API token",
              "steps": [
                "Command palette",
                "Orders",
                "Printify API token"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-printify-api-token-2"
            },
            {
              "slug": "currency-rates-for-order-costs",
              "name": "Currency rates for order costs",
              "what": "Opens currency rates for order costs on Settings.",
              "path": "Command palette > Orders > Currency rates for order costs",
              "steps": [
                "Command palette",
                "Orders",
                "Currency rates for order costs"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-currency-rates-for-order-costs"
            },
            {
              "slug": "printify-webhooks",
              "name": "Printify webhooks",
              "what": "Order and shipment events.",
              "path": "Command palette > Orders > Printify webhooks",
              "steps": [
                "Command palette",
                "Orders",
                "Printify webhooks"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-printify-webhooks"
            },
            {
              "slug": "create-affiliate-link",
              "name": "Create affiliate link",
              "what": "Opens create affiliate link on Settings.",
              "path": "Command palette > Affiliates > Create affiliate link",
              "steps": [
                "Command palette",
                "Affiliates",
                "Create affiliate link"
              ],
              "url": "https://eto.tools/settings/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-create-affiliate-link"
            }
          ]
        },
        {
          "slug": "command-palette-api-console",
          "name": "API console",
          "features": [
            {
              "slug": "api-keys",
              "name": "API keys",
              "what": "Opens the panel that creates, rotates and revokes API keys.",
              "path": "Command palette > API keys",
              "steps": [
                "Command palette",
                "API keys"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-api-keys"
            },
            {
              "slug": "mcp-connect",
              "name": "MCP connect",
              "what": "Connect Claude or another MCP client.",
              "path": "Command palette > MCP connect",
              "steps": [
                "Command palette",
                "MCP connect"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-mcp-connect"
            },
            {
              "slug": "api-webhooks",
              "name": "API webhooks",
              "what": "Opens the panel that points Eto order events at your own server.",
              "path": "Command palette > API webhooks",
              "steps": [
                "Command palette",
                "API webhooks"
              ],
              "url": "https://eto.tools/dashboard/api/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-api-webhooks"
            }
          ]
        },
        {
          "slug": "command-palette-sidebar",
          "name": "Sidebar",
          "features": [
            {
              "slug": "quick-thoughts-2",
              "name": "Quick thoughts",
              "what": "Favourites, notes and search history.",
              "path": "Command palette > Quick thoughts",
              "steps": [
                "Command palette",
                "Quick thoughts"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-quick-thoughts-2"
            },
            {
              "slug": "quick-keyword-search-2",
              "name": "Quick keyword search",
              "what": "Check a keyword without leaving the page.",
              "path": "Command palette > Quick keyword search",
              "steps": [
                "Command palette",
                "Quick keyword search"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-quick-keyword-search-2"
            },
            {
              "slug": "quick-product-search-2",
              "name": "Quick product search",
              "what": "Opens the quick product search panel over the current page.",
              "path": "Command palette > Quick product search",
              "steps": [
                "Command palette",
                "Quick product search"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-quick-product-search-2"
            },
            {
              "slug": "toggle-dark-mode",
              "name": "Toggle dark mode",
              "what": "Opens toggle dark mode on the app.",
              "path": "Command palette > Toggle dark mode",
              "steps": [
                "Command palette",
                "Toggle dark mode"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-toggle-dark-mode"
            },
            {
              "slug": "collapse-or-expand-the-sidebar",
              "name": "Collapse or expand the sidebar",
              "what": "Opens collapse or expand the sidebar on the app.",
              "path": "Command palette > Collapse or expand the sidebar",
              "steps": [
                "Command palette",
                "Collapse or expand the sidebar"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-collapse-or-expand-the-sidebar"
            },
            {
              "slug": "workflow-mode-sidebar",
              "name": "Workflow mode (sidebar)",
              "what": "Show the sidebar as numbered steps.",
              "path": "Command palette > Workflow mode (sidebar)",
              "steps": [
                "Command palette",
                "Workflow mode (sidebar)"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-workflow-mode-sidebar"
            },
            {
              "slug": "structure-mode-sidebar",
              "name": "Structure mode (sidebar)",
              "what": "Show the sidebar as sections.",
              "path": "Command palette > Structure mode (sidebar)",
              "steps": [
                "Command palette",
                "Structure mode (sidebar)"
              ],
              "url": "https://eto.tools/dashboard/",
              "requires": null,
              "api_operation_id": null,
              "anchor": "https://eto.tools/dev/docs/#feat-structure-mode-sidebar"
            }
          ]
        }
      ]
    }
  ]
}