Selling
Seller quickstart
This page walks a seller from nothing to a published listing and back, against
the sandbox. Every step below is one curl call.
Not live yet. sandbox.metzia.ai does not answer until the sandbox is
attached. Read the steps now and run them when the host answers.
Take a sandbox keyLink to this section
The sandbox issues a key to anyone who asks. It needs no account and no
approval, and the key it returns holds catalog:write and catalog:read.
curl -X POST -H 'content-type: application/json' https://sandbox.metzia.ai/api/sandbox/keysThe answer carries the key once. Keep it in a shell variable.
export METZIA_KEY=osk_test_...A sandbox key works on the sandbox host alone. The same key against
https://metzia.ai reads HTTP 401.
Publish one listingLink to this section
The body is the listing. The seller comes from the key, so the body names no
seller. notAFitWhen is required, because a buying agent needs the
disqualifier more than it needs another feature.
curl -X POST https://sandbox.metzia.ai/api/v1/products \
-H "authorization: Bearer $METZIA_KEY" \
-H 'content-type: application/json' \
-d '{"sku":"mailer-pro","name":"Mailer Pro","categorySlug":"transactional-email",
"pricingModel":"seat","delivers":"api_key","provisioning":"delegated",
"summary":"Transactional email for a growing product team.",
"notAFitWhen":"It is not a fit for a team that sends bulk marketing campaigns.",
"pricePoints":[{"plan":"pro","amountMicros":"25000000","unitName":"per seat per month","interval":"month"}]}'A price is micro-units of USD, one millionth of a dollar, sent as a string of digits. JSON carries no integer that wide.
Read it backLink to this section
curl -H "authorization: Bearer $METZIA_KEY" https://sandbox.metzia.ai/api/v1/productsThe answer lists the listing you just published. The pair of your seller and the sku names it, so sending the same sku again updates it and advances the version rather than creating a second listing.
What changes on the live hostLink to this section
Three things, and nothing else.
- The host is
https://metzia.ai. - The key comes from the seller portal and carries the prefix
osk_sel_. - Your seller account is approved and an owner has accepted the agreement.
The request shapes are the same. docs/api/products.md holds every field, the
error codes, and the idempotency rules.
The sandbox is rebuilt every weekLink to this section
Every Sunday the sandbox database is dropped and rebuilt from the fixtures. Your sandbox seller, your key, and your listings go with it. Take a new key and run the steps again.
What this page holds nextLink to this section
Issue #120 ships the SDK publish transport, and the six line TypeScript client
replaces the curl calls above when it lands.
Updated 2026-09-16