Stitchwork Docs
stitchwork.io

Start here

Your 7-day trial

A new workspace starts on a seven-day free trial with every feature switched on. No card, no plan picker, no feature gates. Here is exactly how access works and a plan that fits in the week.

What's included

Everything. There is no reduced trial tier: the ranking engine, webhooks, imports, Stripe Connect, the public API and unlimited team members are all live from the moment you name your workspace. The only limits are the ones that apply to every account — the event ingest rate cap and the 20 MB import ceiling.

There is no checkout

Stitchwork accounts are sold by hand. There is no plan catalogue, no public price and nothing to buy in the app. When the trial ends, commercial terms are agreed with us and recorded against your workspace — you will not be asked to enter a card to keep working.

How access is enforced

Your workspace carries a single access state. It is the only thing the gate reads, and nothing derived — no webhook, no background job — ever writes it.

StateMeaningAccess
trial The default for a brand-new workspace. A free trial is running. Full, while the trial end date is in the future.
active Terms agreed. No trial dependency. Full, indefinitely.
suspended Locked by an operator — non-payment, a dispute, a request from you. Locked. Beats a live trial deliberately: a lock has to be the last word.
closed The account has ended. Locked.

Access is evaluated on every request. There is no scheduled job, so an expired trial locks the workspace the next time somebody loads a page — not overnight, and not a day late.

What a locked workspace looks like

SurfaceBehaviour
App pagesRedirected to /locked, which explains the situation and shows the support address.
JSON API402 Payment Required with {"error":"This workspace is locked…"}. Distinct from the 403 that means "you're not the owner".
Public quote pagesKeep working. A customer halfway through paying a quote is never interrupted by your billing state.
Tracking ingestKeeps working. Events, the tag script and the public recommendation endpoints are ungated by construction.
External ingestKeeps working. POST /quotes/external and POST /orders/external never resolve a workspace through the gate.
Nothing is deleted

A lock is a gate, not a wipe. Products, customers, quotes, orders, events and webhook subscriptions are all exactly where you left them when access is restored.

Getting unlocked or extended

Ask. Trials can be extended, and a workspace can be moved to active at any point. Operators do this from the back office; there is also an out-of-band ops endpoint for it (Ops endpoints) which is disabled unless the instance sets an admin key.

A week that works

You do not need all seven days, but this is the order that avoids dead ends — each day makes the next one produce visible results.

  1. Day 1 — Catalogue in

    Sign up, name the workspace, import products. Get web_url and category populated even if nothing else is. Add a channel for each physical location.

    Done when Products shows your real SKUs with prices and categories.

  2. Day 2 — History in

    Import a year or two of orders. This is the single highest-leverage thing in the week: it fills the bestseller signal, seeds the customer list, and makes every ranking output immediately credible instead of empty.

    Done when Rankings shows a non-zero bestseller input count and the unmatched-SKU list is short.

  3. Day 3 — Tag live

    Generate keys, install the script tag, wire view_product and add_to_cart into your own site code. Confirm the consent mode matches your legal position.

    Done when Rankings shows product views accumulating and a customer timeline has web rows on it.

  4. Day 4 — Tune and show

    Open Rankings, look at the top 50 with their per-signal contributions, and move the sliders until the order matches what a good salesperson would say. Then drop <sw-recs> somewhere real, or re-rank one category page.

    Done when A visitor on your site sees an order you would defend.

  5. Day 5 — Sell something

    Invite one salesperson, scope them to a channel, and have them build a real quote for a real customer. Send it. Watch it arrive on the customer's phone.

    Done when A quote has reached sent and the customer has opened it.

  6. Day 6 — Close the loop

    Print QR codes for the store, add the join endpoint to your site, and — if you take card payments on quotes — connect Stripe. Subscribe a webhook to whatever system needs to know about orders.

    Done when A store visit appears on a customer timeline next to their browsing.

  7. Day 7 — Decide

    You now have real data, a real quote and a real personalised surface. Talk to us about terms, or don't — nothing you built goes anywhere.

Things you can safely put off

Trials get derailed by optional work. None of these block anything else, so leave them until you have decided to stay:

Clearing out test data

You will make a mess in week one — that is what a trial is for. Deletes are real, not cosmetic, so the mess actually goes:

To removeDo thisNotes
A test quote DELETE /api/v1/quotes/{id} Takes its lines and timeline with it. An order converted from it survives.
A test order DELETE /api/v1/orders/{id} The sale stops counting towards revenue and the bestseller signal.
A test customer DELETE /api/v1/customers/{id}?cascade=1 Refuses with 409 and exact counts first, unless you pass cascade.
A test product DELETE /api/v1/products/{id} Marks it discontinued rather than deleting — history stays intact.
Deleting never breaks tracking

Deleting a quote or a customer does not sever the connection between a browser and a person. A deleted customer's visitor is detached, not destroyed — the cookie, its events and its campaign touches survive as anonymous browsing, ready to be identified again by a later quote.

All four are owner-only. See Roles and permissions.