Endpoints Specification
Core HTTP routes for products, scrape, destinations, legal, and system.
The panel below this article (on the docs page) lists live method/path rows when available. This page is the narrative spec.
Products
GET /api/products?q=&page=1&pageSize=25 — paginated catalog for the session org. q filters title/SKU.
Product detail, history, and per-id routes live under /api/products/:id. History is an audit of catalog edits, not marketplace order history.
Publish: POST /api/products/publish with product and destination ids (see API Reference).
Scrape and import
POST /api/scrape — { "urls": ["https://..."], "persist": true }
POST /api/import/url — same family; prefer this from the Import UI.
POST /api/import/document — multipart file. POST /api/extension/ingest — API key.
Destinations
GET /api/destinations — connected accounts, health, breaker flags.
DELETE /api/destinations?id= — disconnect. Does not delete canonical products.
OAuth start URLs are per integration (TikTok connect, Shopify, etc.).
Legal
GET /api/legal/status — which documents the org has signed.
POST /api/legal/sign — record acceptance of Privacy / Terms / DPA as implemented.
System
Admin session required.
GET /api/system — queue depths, breaker states, Redis health.
POST /api/system actions: replay_dlq, purge_dlq, flush_redis. Flush Redis is destructive (locks, queues, idempotency). Use only in lab.
Interactive reference
curl -s "http://localhost:3000/api/products?q=hoodie&page=1&pageSize=25"