Developer docs menu

REST reference

Every endpoint of both APIs - 348 operations - rendered from the OpenAPI documents the services themselves emit.

There are two APIs and they are not the same thing. The buyer API is what a widget, a cart or your own front end talks to: it is public, it is rate-limited hard, and it never returns a rate, a cost or a margin. The merchant API is what your shop talks to: configurations, the inbox, customers, widgets, billing. A buyer never touches it.

Both documents are OpenAPI 3.1 and you can download them: buyer · merchant. A router test in each service fails the build if a route exists without a document entry, so what is below is the whole surface, not a curated subset.

Quotometry buyer API v0.1.4

Instant quoting for manufacturing shops: upload → analyse → price → quote → order. Errors are RFC 9457 problem+json with stable codes (docs/agent-docs/api/errors.md). Rate limits per spec §6.9.

Base URL https://api.quotometry.example

AuthenticationHow it is sent
secretKeySecret API key (sk_…), scoped
widgetKeyPublishable widget key; the Origin header must be on the widget's allow-list

meta

get /healthz Liveness

No authentication.

StatusMeaningBody
200 OK Text
429 Rate limited (Retry-After) Problem
4XX Problem Problem
get /metrics Prometheus scrape (internal; `METRICS_TOKEN` when set)

No authentication.

StatusMeaningBody
200 OK Text
429 Rate limited (Retry-After) Problem
4XX Problem Problem
get /readyz Readiness (database reachable)

No authentication.

StatusMeaningBody
200 OK Text
429 Rate limited (Retry-After) Problem
4XX Problem Problem
get /v1/openapi.json This document

No authentication.

StatusMeaningBody
200 OK OpenApi
429 Rate limited (Retry-After) Problem
4XX Problem Problem

hosted

get /v1/hosted/quotes/{token} A sent quote, as the buyer sees it

No authentication.

StatusMeaningBody
200 OK HostedQuote
429 Rate limited (Retry-After) Problem
4XX Problem Problem
post /v1/hosted/quotes/{token}/accept Accept a sent quote and order at the quoted price

No authentication. Request body: Accept.

StatusMeaningBody
200 OK HostedAccepted
429 Rate limited (Retry-After) Problem
4XX Problem Problem
get /v1/hosted/quotes/{token}/pdf The sent quote as a PDF

No authentication.

StatusMeaningBody
200 OK Pdf
429 Rate limited (Retry-After) Problem
4XX Problem Problem

models

get /v1/models/{id} Model status and parts

Authenticate with widgetKey or secretKey.

StatusMeaningBody
200 OK ModelView
429 Rate limited (Retry-After) Problem
4XX Problem Problem
get /v1/models/{id}/events Analysis progress as server-sent events

Authenticate with widgetKey or secretKey.

StatusMeaningBody
200 OK EventStream
429 Rate limited (Retry-After) Problem
4XX Problem Problem
get /v1/models/{id}/preview The model's preview mesh (binary glTF), or one body's with `?part=`, for a browser that cannot reach `preview_url`

Authenticate with widgetKey or secretKey.

StatusMeaningBody
200 OK Glb
429 Rate limited (Retry-After) Problem
4XX Problem Problem
get /v1/models/{id}/thumbnail The model's thumbnail (PNG), or one body's with `?part=`, for a browser that cannot reach `thumbnail_url`

Authenticate with widgetKey or secretKey.

StatusMeaningBody
200 OK Png
429 Rate limited (Retry-After) Problem
4XX Problem Problem
post /v1/uploads Presign an upload and create the model

Authenticate with widgetKey or secretKey. Request body: CreateUpload.

StatusMeaningBody
200 OK UploadCreated
429 Rate limited (Retry-After) Problem
4XX Problem Problem
post /v1/uploads/{id}/complete Mark an upload complete and queue the analysis

Authenticate with widgetKey or secretKey. Request body: CompleteUpload.

StatusMeaningBody
200 OK ModelQueued
429 Rate limited (Retry-After) Problem
4XX Problem Problem
put /v1/uploads/{id}/content Relay a small file's bytes through the API, for a browser that cannot reach the upload URL

Authenticate with widgetKey or secretKey. Request body: Bytes.

StatusMeaningBody
204 Stored -
429 Rate limited (Retry-After) Problem
4XX Problem Problem
post /v1/uploads/{id}/parts Parts still to upload, for resuming an interrupted multipart upload

Authenticate with widgetKey or secretKey.

StatusMeaningBody
200 OK UploadCreated
429 Rate limited (Retry-After) Problem
4XX Problem Problem
put /v1/uploads/{id}/parts/{number} Relay one part of a multipart upload through the API, for a browser that cannot reach the part URL

Authenticate with widgetKey or secretKey. Request body: Bytes.

StatusMeaningBody
204 Stored -
429 Rate limited (Retry-After) Problem
4XX Problem Problem

orders

post /v1/orders Place an order from a quote (idempotent with Idempotency-Key)

Authenticate with widgetKey or secretKey. Request body: OrderBody.

StatusMeaningBody
200 OK OrderView
429 Rate limited (Retry-After) Problem
4XX Problem Problem

pricing

post /v1/price Price line items (coupon, customer token, e-mail claim honoured)

Authenticate with widgetKey or secretKey. Request body: PriceBody.

StatusMeaningBody
200 OK PriceView
429 Rate limited (Retry-After) Problem
4XX Problem Problem

quotes

post /v1/quotes Save a quote

Authenticate with widgetKey or secretKey. Request body: PriceBody.

StatusMeaningBody
200 OK QuoteView
429 Rate limited (Retry-After) Problem
4XX Problem Problem
get /v1/quotes/{id} Read a saved quote

Authenticate with widgetKey or secretKey.

StatusMeaningBody
200 OK QuoteView
429 Rate limited (Retry-After) Problem
4XX Problem Problem
post /v1/quotes/{id}/share Give the buyer a link back to their own quote

Authenticate with widgetKey or secretKey. Request body: ShareBody.

StatusMeaningBody
200 OK ShareView
429 Rate limited (Retry-After) Problem
4XX Problem Problem
post /v1/rfqs Request a manual quote

Authenticate with widgetKey or secretKey. Request body: RfqBody.

StatusMeaningBody
200 OK RfqCreated
429 Rate limited (Retry-After) Problem
4XX Problem Problem

widget

get /v1/widgets/{key}/bootstrap Widget bootstrap: configurations, options, limits, theme, checkout mode

Authenticate with widgetKey or secretKey.

StatusMeaningBody
200 OK Bootstrap
429 Rate limited (Retry-After) Problem
4XX Problem Problem

Quotometry merchant API v0.1.4

Control plane for merchants (session cookie + X-Quotometry-Tenant) and platform staff (/staff). Bodies and responses are typed in @quotometry/control-client; errors are RFC 9457 problem+json (docs/agent-docs/api/errors.md).

Base URL https://api.quotometry.example

AuthenticationHow it is sent
sessionSent in the quotometry_session cookie
staffSessionSent in the quotometry_staff cookie

meta

get /healthz Liveness

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /metrics Prometheus scrape (internal; `METRICS_TOKEN` when set)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /readyz Readiness: the database answers

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/mail/provider/{provider} A bounce or complaint from the mail provider (`resend`: Svix-signed; `ses`: SNS, basic auth)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/mail/unsubscribe Unsubscribe page for a signed link (returns HTML)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/mail/unsubscribe One-click unsubscribe (RFC 8058; returns HTML)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/openapi.json This document

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem

staff

get /staff/v1/announcements Announcements

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/announcements Create an announcement

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/announcements/{id} Delete an announcement

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/audit Staff audit log (?tenant, ?action, ?actor, ?from, ?to, ?limit, ?offset)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/auth/login Staff sign-in

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/auth/logout Staff sign-out

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/auth/me Current staff user

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/auth/totp/disable Switch staff two-factor off (password required)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/auth/totp/enable Confirm staff two-factor, returns recovery codes

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/auth/totp/setup Start staff two-factor enrolment

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/blocklist Sign-up blocklist

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/blocklist Block a domain / e-mail

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/blocklist/{id} Unblock

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/catalog/effective/{process} The catalogue as merchants see it

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/catalog/quality What is missing from catalogue entries

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/catalog/revisions Catalogue revisions

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/catalog/revisions Start a catalogue revision

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/catalog/revisions/{id} The differences a revision carries

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/catalog/revisions/{id} Throw a draft revision away

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /staff/v1/catalog/revisions/{id}/entries Add or replace a catalogue entry

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/catalog/revisions/{id}/entries Take a difference back out

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/catalog/revisions/{id}/import Import machines or materials from CSV

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/catalog/revisions/{id}/publish Publish a catalogue revision

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/coupons Platform coupons shops can claim

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/coupons Issue a platform coupon

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/coupons/{id}/active Stop or restart a platform coupon

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/deliverability How every shop's buyer mail is landing, worst first

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/domains Every shop's hostnames, the ones not serving first

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/domains/{id} Take a hostname off a shop, and out of the provider

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/domains/{id}/recheck Put a hostname back in the sweep's hands now

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/domains/{id}/verify Say a hostname is proved when DNS cannot (superadmin, with a reason)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/flags Feature flags

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/flags Create or change a feature flag

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/flags/{key} Remove a feature flag

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/flags/{key}/tenants Tenants decided individually for a flag

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/flags/{key}/tenants Decide one tenant for a flag

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/legal Legal document versions, drafts included

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/legal Draft a new document version

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /staff/v1/legal/{id} Edit a draft version

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/legal/{id} Discard a draft version

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/legal/{id}/publish Publish a document version

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/mail-templates Platform e-mail wording and what each message may say

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /staff/v1/mail-templates/{key} Reword a platform e-mail

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/mail-templates/{key} Back to the built-in wording

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/mail-templates/{key}/preview Preview wording with example values

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/mail-templates/{key}/revisions What a message used to say

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/mail/events A bounce or complaint from the mail provider

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/overview Platform overview (MRR, sign-ups, usage, queues, geometry workers)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/overview/series The platform per day over the last 30 days

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/payments Payments ledger (?limit, ?offset; whole ledger as CSV on Accept: text/csv)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/plan-code The code a new plan with this name would be given (?name)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/plans Plans (one row per code, with status and whether it may be deleted) and every version

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/plans New plan (code derived from the name) or its next version; retires the version on sale

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/plans/{code} Delete a whole plan no shop has ever subscribed to (409 plan_in_use)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/plans/{code}/migrate Migrate subscribers to the latest version

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/plans/{code}/{version} Delete a plan version no shop has ever subscribed to (409 plan_in_use)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/plans/{code}/{version}/activate Put a version on sale, retiring the one that was

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/plans/{code}/{version}/archive Retire a plan version, or put it back on sale

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/platform/dns Whether the platform's own DNS is in place: the edge, the wildcard and the CNAME target

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/platform/geometry-workers The geometry workers' limits, each worker's last sample and verdict, and how many to run

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /staff/v1/platform/geometry-workers Set analyses per worker, analyses per shop and the analysis timeout

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/platform/geometry-workers/series Worker utilisation, queue, wait and run times and the busiest shops over 24h, 7d or 30d

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/platform/mail How the platform's mail leaves: the transport chosen, each one's key hint, addresses, SES's account

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /staff/v1/platform/mail Choose Resend, Amazon SES or an SMTP server; store keys (sealed) and the platform's addresses

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/platform/mail/domain Register the platform's own sending domains with the chosen provider; the records each needs

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/platform/mail/ses/notifications Create SES's configuration set, SNS topic and subscription for bounces and complaints

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/platform/mail/test Send a test message through a transport

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/platform/names The sites domain and CNAME target, and where each came from

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /staff/v1/platform/names Rename the platform: the sites domain or the CNAME target

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/platform/payments The payment provider chosen, Stripe's key hint and webhook URL, shops held by each provider

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /staff/v1/platform/payments Choose the payment provider; store Stripe's keys (sealed)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/platform/sign-in The sign-in providers, their redirect addresses and linked accounts

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /staff/v1/platform/sign-in/{id} Add or change a sign-in provider: issuer, client id, secret (sealed), on, sign-up allowed

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/platform/sign-in/{id} Remove a sign-in provider and every account's link to it

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/platform/site-cache The memory budget for shop websites and what each quote-api server holds

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /staff/v1/platform/site-cache Set the memory budget for shop websites, per server

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/platform/widget-versions The widget versions a shop may choose, the default, and how many widgets pin each

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /staff/v1/platform/widget-versions/{version} List a widget version or change one: its loader and core address, notes, retired

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /staff/v1/platform/widget-versions/{version} Take a widget version off the list; widgets pinning it follow the default

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/platform/widget-versions/{version}/default Make a widget version the default every unpinned widget loads

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/referrals Sign-ups by referring tenant

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/site-reports What people have reported about shops' websites

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/site-reports/{id} Record that a report was looked at, and what came of it

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/sites Every shop's website (?q=, ?filter=new|noindex|reported|suspended)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/staff Staff users

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/staff Create a staff user

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /staff/v1/staff/{id} Update a staff user

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/subscriptions Subscriptions overview (?status, ?limit, ?offset)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/system Queues, dead jobs, analysis failures

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/system/jobs/{id} Retry a dead job

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/system/series Mail per day and analysis failures over a span (?from, ?to)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/tenants Tenants list (?q, ?plan, ?status, ?limit, ?offset)

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/tenants/{id} Tenant detail

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /staff/v1/tenants/{id} Tenant notes and tags

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/tenants/{id}/billing Tenant billing view

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/tenants/{id}/discount Set the agreed discount on this shop's own bill

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/tenants/{id}/impersonate Read-only impersonation session

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/tenants/{id}/invoices Issue an invoice

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/tenants/{id}/invoices/{invoice}/close Close an invoice

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/tenants/{id}/payments Record a manual payment

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/tenants/{id}/quota-override Quota override

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /staff/v1/tenants/{id}/site-reports The reports about one shop

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/tenants/{id}/site/status Suspend a shop's website, or restore it

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/tenants/{id}/status Suspend / reactivate a tenant

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/tenants/{id}/subscription Assign a plan

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /staff/v1/tenants/{id}/subscription/status Set subscription status

Authenticate with staffSession.

StatusMeaningBody
200 OK -
4XX Problem Problem

analytics

get /v1/analytics/demand Demand insight (?from, ?to, ?mode, ?widgets)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/analytics/funnel Funnel (?from, ?to, ?mode, ?widgets)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/analytics/operations Operations

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/analytics/revenue Revenue (?from, ?to, ?mode, ?widgets)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/analytics/summary KPI tiles (?mode=live|test|all, ?widgets=wgt_…,…)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/analytics/usage Usage per configuration per day (?from, ?to, ?mode, ?widgets)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/analytics/usage.csv Usage as CSV

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

tenant

get /v1/announcements Platform announcements for merchants

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/audit Audit log of this shop, paged (?action, ?actor, ?from, ?to, ?q, ?limit, ?offset), with filter facets

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/invitations/{id} Revoke a pending invitation

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/members Team members, pending invitations, roles and notification events

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/members/me/notifications Own notification preferences

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/members/{user} Change a member's role or notifications

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/members/{user} Remove a member

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/tenant Tenant profile and settings blocks (company, regional, tax, shipping, calendar, notifications, documents, files, abuse)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/tenant Update tenant profile and settings

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

developers

get /v1/api-keys The keys that still work, with when each was last used (never a secret)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/api-keys Create a secret API key (shown once)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/api-keys/{id} Revoke a key: its next request is refused

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/events Recent events (?limit, ?offset; answers total)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/mail/log What this shop's account sent, and what happened to it (?status, ?kind, ?limit, ?offset; answers total)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /v1/mail/routes Which sender each kind of mail goes from (orders, quotes, team)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/mail/senders This shop's senders, and which mail each one sends

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/mail/senders Add a sender: your domain, your mail server or your Resend account

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /v1/mail/senders/{id} Change a sender

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/mail/senders/{id} Remove a sender: its mail goes from our address

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/mail/senders/{id}/test Send a test message through your own server or account

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/mail/senders/{id}/verify Read a domain sender's records now

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/mail/suppressions Addresses we will not write to

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/mail/suppressions/{id} Write to this address again

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/webhook-deliveries/{id}/replay Replay a delivery

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/webhook-endpoints Endpoints

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/webhook-endpoints Create an endpoint

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/webhook-endpoints/{id} Update an endpoint

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/webhook-endpoints/{id} Delete an endpoint

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/webhook-endpoints/{id}/deliveries Delivery log

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/webhook-endpoints/{id}/rotate Rotate the signing secret

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/webhook-endpoints/{id}/test Test-fire

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

auth

get /v1/auth/identities The providers linked to this account, and the ones it could link

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/auth/identities/{id} Unlink a provider, unless it is the only way into the account

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/identities/{id}/link Begin linking a provider to this account: answers the address to go to

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/invitations Invite a member

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/invitations/accept Accept an invitation as the signed-in invitee

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/invitations/lookup What an invitation link offers: shop, role, address, whether it has an account

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/invitations/register Create an account from an invitation and join the shop, signed in

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/login Log in (session cookie)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/logout Log out

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/auth/me Current user and memberships

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/auth/oidc/providers The sign-in providers a person may use, and whether each allows sign-up

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/oidc/second-factor The authenticator code after a provider's sign-in

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/auth/oidc/{id}/callback Where the provider sends the browser back; redirects to the console

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/oidc/{id}/start Begin a sign-in or sign-up with a provider: answers the address to go to

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/auth/password Change the password (revokes other sessions)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/password/forgot Request a password-reset link (always answers the same)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/password/reset Set a new password from a reset token

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/auth/permissions Permission matrix for the current role

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/auth/security Verification state, two-factor state, active sessions

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/signup Sign up: creates the user, the tenant and the owner membership

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/totp/disable Switch two-factor off (password required)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/totp/enable Confirm two-factor enrolment, returns recovery codes

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/totp/setup Start two-factor enrolment

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/verify Confirm an e-mail address with the token from the link

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/auth/verify/send Send or re-send the verification link

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/features Feature flags for this tenant

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/legal Legal documents in force with who in this shop accepted each, and what this user must still accept

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/legal/accept Record that this user accepted a document version

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

billing

get /v1/billing Billing page data: plan, usage, invoices, payments

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/cancel Cancel at period end

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/change Change plan (manual billing): upgrade now with an invoice, downgrade at period end; refused when a payment provider is chosen

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/change/cancel Keep the current plan: take back a scheduled change

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/checkout Start hosted checkout with the chosen provider, or change the plan of a subscription it holds

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/coupon Claim a platform coupon for this shop

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/billing/invoices/{id} Subscription invoice as a PDF (id ends in `.pdf`)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/invoices/{id}/pay Pay an open manual invoice by card: a checkout with the chosen online provider

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/portal Open the portal of the provider holding the subscription

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/preview What a plan change costs today, when it applies, and what stops a smaller plan fitting

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/sandbox/pay Sandbox: pay a test checkout with a test card

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/billing/sandbox/session Sandbox: what a test checkout is for (?session=)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/sandbox/simulate Sandbox: make a renewal or a failed payment happen now

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/billing/webhooks/stripe Stripe webhook (signed)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/subscription Current subscription and plan

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

configurations

get /v1/configurations Configurations

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations Create from a template

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/import Import

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/configurations/{id} Configuration with draft and versions

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/configurations/{id} Delete a configuration that was never quoted

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/{id}/archive Archive: stop offering it and take it off every widget

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/{id}/backtest Backtest the draft against stored quotes

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/configurations/{id}/buyer-options What the widget would show a buyer, from the draft

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/configurations/{id}/calibrate What this process can be calibrated on, for one machine

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/{id}/calibrate Fit calibratable coefficients to parts the shop has made

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/configurations/{id}/diff Semantic diff between versions

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /v1/configurations/{id}/draft Save the draft (If-Match etag)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/{id}/duplicate Duplicate

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/configurations/{id}/export Export

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/configurations/{id}/finishes Finish presets, priced at this draft's own labour rates

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/configurations/{id}/golden Golden parts

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/{id}/golden Add a golden part

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/configurations/{id}/golden/evaluate Evaluate golden parts against the draft

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/configurations/{id}/golden/{gid} Remove a golden part

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/{id}/publish Publish the draft as a new version

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/{id}/restore Restore an archived configuration

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/{id}/rollback Roll back to a version

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/{id}/simulate Sample quote with the draft

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/configurations/{id}/usage Usage of a configuration

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/configurations/{id}/validate Validate the draft

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/configurations/{id}/versions Versions

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/parts/{id}/preview A part's name, size and preview mesh link

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/processes/{id}/catalog Platform catalogue for a process

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/processes/{id}/settings-schema Settings schema of a process

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/samples Upload a sample part for the simulator

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/samples/catalogue The sample parts the platform ships

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/samples/catalogue/{key} Extrude a shipped sample and analyse it

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/samples/{id} Sample analysis status and parts, each with its preview mesh

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

customers

get /v1/coupons Coupons

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/coupons Create a coupon

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/coupons/{id} Update a coupon

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/coupons/{id} Delete a coupon

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/coupons/{id}/uses Coupon uses

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/customers Customers (?q, ?tag, ?from, ?to, ?limit, ?offset; answers total)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/customers.csv Customers as CSV

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/customers/token Mint a customer token

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/customers/token-secret Whether a customer-token secret exists

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/customers/token-secret Rotate the customer-token secret (shown once)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/customers/{id} Customer detail with history

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/customers/{id} Update a customer

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/customers/{id} GDPR delete

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/customers/{id}/export GDPR export

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/price-lists Price lists

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/price-lists Create a price list

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/price-lists/{id} Update a price list

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/price-lists/{id} Delete a price list

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

widgets

get /v1/domains Every hostname this shop holds, and the records to add

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /v1/domains Claim a hostname for the shop website (or, from the E-mail page, its mail)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/domains/adopt Show the shop website on a hostname its widget's hosted page already serves

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/domains/{id} Give a hostname back

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/domains/{id}/verify Read the proof record now

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site The shop's website: its draft, its themes, the masters, its versions, the quotas

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/site Change the address the website answers on

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/assets The website's media library

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/site/assets Upload a picture (bytes in the body)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/site/assets/{id} Say what a picture shows

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/site/assets/{id} Remove a picture

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/assets/{id}/file A picture's bytes, for the console's media library

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /v1/site/draft The website's settings and the theme it wears (needs `If-Match`)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/master-download/{id} A master template as a zip (public)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/masters/{id} A master template's home page with its sample content (public, HTML)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/masters/{id}/ A master template's home page (public, HTML)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/masters/{id}/{*rest} Any page or file of a master template (public)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/site/publish Publish the theme the website wears: what buyers read

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/site/rollback Serve an earlier published version again, its theme back in the editor

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/slug-check Whether an address on the platform domain is free (?slug=)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/themes The master templates a website may start from (public)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/site/themes A copy of a master template, or of one of the shop's themes

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/site/themes/upload A theme from a zip (bytes in the body)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/themes/{id} One theme: its manifest, content, files and issues

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/site/themes/{id} A theme's name or content (`If-Match`)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/site/themes/{id} Remove a theme the website is not wearing

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/site/themes/{id}/activate The website wears this theme from the next publish

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/themes/{id}/download The theme as a zip

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/site/themes/{id}/files/{*path} One file of a theme, for the code view

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /v1/site/themes/{id}/files/{*path} Write one file of a theme (bytes in the body, `If-Match`)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/site/themes/{id}/files/{*path} Remove the shop's version of a file

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/site/themes/{id}/preview A short-lived address the editor's preview is served from

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/widget-versions The widget versions a widget may pin, the default first

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/widgets Widgets

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/widgets Create a widget

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/widgets/{id} Update a widget (theme, badge, origins, enabled)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/widgets/{id} Delete a widget

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/widgets/{id}/check Install checker

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/widgets/{id}/configurations Attach a configuration

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/widgets/{id}/configurations/{cfg} Detach a configuration

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
put /v1/widgets/{id}/domain Claim a custom domain for the hosted page

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/widgets/{id}/domain Release the custom domain

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/widgets/{id}/domain/verify Prove the domain points here

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/widgets/{id}/duplicate Copy a widget (new key, no origins, switched off)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/widgets/{id}/go-live A test widget becomes live: new live key, the test key stops working

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

inbox

patch /v1/inbox/assign/{entity}/{id} Assignment and tags

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/messages Messages people wrote through the shop's website

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/inbox/messages/{id} Mark a message read, or spam

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/notes/{entity}/{id} Notes

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/inbox/notes/{entity}/{id} Add a note

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/inbox/notes/{id} Delete a note

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/orders Orders (?mode, ?widgets, ?from, ?to, ?limit, ?offset; answers total)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/orders/{id} Order detail

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/orders/{id}/pdf Order confirmation / pro-forma PDF

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/orders/{id}/spec.pdf Print specification: what to make and how, no prices

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/inbox/orders/{id}/status Set order status (+ tracking)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/parts/{id}/download Presigned download of a quoted part's file (audited)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/quotes Quotes and RFQs (?rfq, ?status, ?q, ?mode, ?widgets, ?from, ?to, ?limit, ?offset; answers total)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/quotes/{id} Quote detail

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/inbox/quotes/{id}/convert Convert to an order

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/inbox/quotes/{id}/decline Decline

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/inbox/quotes/{id}/lines/{position}/price Override a line price

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/quotes/{id}/pdf Quote PDF

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/inbox/quotes/{id}/send Send the quote (accept link)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/inbox/quotes/{id}/spec.pdf Print specification of a quote's parts, no prices

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

library

get /v1/library Library entities (machines, materials)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/library Create a library entity

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/library.csv Library as CSV

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/library/import Import library CSV

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/library/{id} Entity with where-used

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
patch /v1/library/{id} Update an entity

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
delete /v1/library/{id} Delete an unreferenced entity

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/library/{id}/apply Library-wide change into linked drafts

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/library/{id}/archive Archive / restore

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
post /v1/library/{id}/stock Set live stock (entity or colour)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/library/{id}/usage Where used

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

privacy

get /v1/privacy/downloads Download audit, paged (?q, ?who, ?from, ?to, ?limit, ?offset)

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/privacy/export Tenant data export

Authenticate with session.

StatusMeaningBody
200 OK -
4XX Problem Problem

public

get /v1/public/plans The plans on sale and public, in pricing-page order (cacheable)

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem
get /v1/public/session Whether the visitor is signed in to the console: always 200; a name, initials and shop when they are

No authentication.

StatusMeaningBody
200 OK -
4XX Problem Problem

What every error looks like

Every non-2xx response is an RFC 9457 problem document with a stable code. Match on the code, never on the prose - the prose is translated and rewritten, the code is a wire name and never changes. See Errors.