Specialist API · portfolio item 03
Check an online product listing before you publish it
Automated listing preflight service. An agent or client submits a draft listing; the service returns a structured score out of 100, PASS / WARNING / FAIL checks, missing information and prioritised recommendations. Marketplace rules are currently prototype logic and are not official marketplace guidance. Paid API calls use x402.
Endpoints
GET · JSON · free and x402-metered
/api/public/preflightRun a full preflight assessment against the general profile (or pass ?platform=).
query / path params
platform, title, description, price, currency, category, keywords, features, imageCount, shipping, returns
example
/api/public/preflight?platform=general&title=Pour%20Over%20Kettle%201L&price=34.99/api/public/preflight/{platform}Platform-scoped preflight. Adds simulated marketplace-specific checks on top of the core checks.
query / path params
platform path segment: general | amazon | etsy | shopify | tiktok
example
/api/public/preflight/amazon?imageCount=6&keywords=gooseneck%20kettle,coffee%20kettle/api/public/preflight-price/{platform}Free price check. Returns the indicative price and payment details without creating a quote.
query / path params
same listing fields · strict=1 refuses missing fields
example
/api/public/preflight-price/shopify?strict=1&title=.../api/public/paid-preflight/{platform}x402-metered preflight. Returns 402 with an x402 payment challenge; retry with X-PAYMENT. The active payment network and asset are published at /api/public/pricing (Base Sepolia test-USDC rail proven end to end; live mainnet payment configuration is enabled).
query / path params
listing fields · strict=1 · headers: X-PAYMENT, Idempotency-Key
example
/api/public/paid-preflight/shopify?strict=1&title=.../api/public/pricingMachine-readable price, network, asset, limits, retry steps and discovery links.
query / path params
none
example
/api/public/pricing/.well-known/x402 · /openapi.json · /llms.txtAgent discovery: x402 manifest, OpenAPI description and a plain-language agent guide. Error codes at /errors.
query / path params
none
example
/.well-known/x402Platform profiles
simulated marketplace rule sets
- General
generalBaseline marketplace-agnostic checks only.
- Amazon
amazonDemo rules approximating Amazon-style title length, bullet count and image expectations.
- Etsy
etsyDemo rules approximating Etsy-style tag counts, handmade/materials detail and photo depth.
- Shopify
shopifyDemo rules approximating own-store SEO needs: meta-length title, rich copy, policy clarity.
- TikTok Shop
tiktokDemo rules approximating TikTok Shop short-form title, price point and media expectations.
Response shape
abridged
{
"api": "product-listing-preflight",
"version": "0.3.0-poc",
"mode": "live",
"platform": "amazon",
"score": 82,
"verdict": "NEEDS_WORK",
"counts": { "pass": 9, "warning": 3, "fail": 0 },
"checks": [
{
"id": "title.present",
"label": "Title present",
"scope": "core",
"status": "PASS",
"weight": 12,
"detail": "Title is 63 characters."
}
],
"missingInformation": [],
"recommendations": ["Images supplied: Demo threshold: 4+ images..."],
"keywordObservations": { "count": 5, "unique": 5, "inTitle": ["coffee kettle"] },
"summary": "Preflight scored 82/100 ..."
}Scope & roadmap
- · Rule data lives in an isolated engine module, so real UK and marketplace policy rules can replace the demo thresholds without changing the API contract.
- · Checks are weighted; the score is the weighted proportion of passes (warnings count as half).
- · Metered pay-per-call access via x402: the Base Sepolia test-USDC rail was proven end to end with three on-chain settlements, and live Base mainnet payment configuration is enabled. Marketplace checks remain prototype logic, not official marketplace guidance.
- · Live Base mainnet payment configuration is enabled, and terms, refunds and contact information are published.
- · Planned, not built: API keys, rule versioning, bulk submission.