{"openapi":"3.1.0","info":{"title":"The Slopstop local demo API","version":"0.9.0","description":"Discovery is functional. Payments and agent jobs are simulations only. No commercial licenses or live settlement. Authentication and private delivery require operator configuration. All prices are illustrative USD cents. V2 adds durable local catalog, quotes, simulated-budget orders and delivery grants. Single shared local principal, no authentication. Operator policy is disabled by default. Never expose these endpoints as real commerce. Authenticated mode verifies operator-provided bearer credentials and isolates buyer records; live credential issuance is not included. Remote MCP uses configured bearer headers, not OAuth discovery. Private binary delivery is grant-gated. Payments remain simulated."},"servers":[{"url":"http://127.0.0.1:3210","description":"Local evaluation only"}],"paths":{"/api/v1/assets":{"get":{"operationId":"searchAssets","summary":"Discover and compare demo assets","parameters":[{"name":"q","in":"query","schema":{"type":"string","maxLength":200}},{"name":"category","in":"query","schema":{"enum":["all","prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]}},{"name":"max_price_cents","in":"query","schema":{"type":"integer","minimum":0}},{"name":"compatibility","in":"query","schema":{"enum":["all","plain-text","json","svg","javascript-esm"]}},{"name":"license_id","in":"query","schema":{"enum":["all","demo-evaluation"]}},{"name":"sort","in":"query","schema":{"enum":["featured","price_asc","price_desc"]}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Asset"}},"total":{"type":"integer","minimum":0},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":0},"demo":{"type":"boolean","const":true}},"required":["items","total","offset","limit","demo"],"additionalProperties":false}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/assets/{id}":{"get":{"operationId":"getAsset","summary":"Inspect metadata and evaluation terms","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/assets/{id}/sample":{"get":{"operationId":"getSample","summary":"Read a free sample, not paid delivery","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"demo":{"type":"boolean","const":true},"asset_id":{"type":"string"},"filename":{"type":"string"},"sha256":{"type":"string"},"content":{"type":"string"}},"required":["demo","asset_id","filename","sha256","content"],"additionalProperties":false}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/quotes":{"post":{"operationId":"quoteAsset","summary":"Check an illustrative price against an explicit budget","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asset_id":{"type":"string"},"max_price_cents":{"type":"integer","minimum":0}},"required":["asset_id","max_price_cents"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/simulations":{"post":{"operationId":"simulatePurchase","summary":"No-charge stateless purchase simulation","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asset_id":{"type":"string"},"max_price_cents":{"type":"integer","minimum":0},"confirm_demo":{"type":"boolean","const":true}},"required":["asset_id","max_price_cents","confirm_demo"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"demo":{"type":"boolean","const":true},"asset_id":{"type":"string"},"version":{"type":"string"},"currency":{"const":"USD"},"price_cents":{"type":"integer","minimum":0},"charged_cents":{"type":"integer","const":0},"license":{"type":"string"},"sha256":{"type":"string"},"status":{"const":"simulated"},"download_path":{"type":"string"},"notice":{"type":"string"}},"required":["demo","asset_id","version","currency","price_cents","charged_cents","license","sha256","status","download_path","notice"],"additionalProperties":false}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/services":{"get":{"operationId":"listServices","summary":"Discover proposed agent services","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Service"}},"demo":{"type":"boolean","const":true}},"required":["items","demo"],"additionalProperties":false}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/services/{id}":{"get":{"operationId":"getService","summary":"Inspect service inputs and permissions","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/job-simulations":{"post":{"operationId":"simulateJob","summary":"Validate a brief and budget without executing an agent","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"service_id":{"type":"string"},"brief":{"type":"string","minLength":10,"maxLength":2000},"max_price_cents":{"type":"integer","minimum":0},"confirm_demo":{"type":"boolean","const":true},"idempotency_key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{8,80}$"}},"required":["service_id","brief","max_price_cents","confirm_demo","idempotency_key"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"job_id":{"type":"string"},"service_id":{"type":"string"},"demo":{"type":"boolean","const":true},"status":{"const":"simulated"},"charged_cents":{"const":0},"price_cents":{"type":"integer","minimum":0},"currency":{"const":"USD"},"permissions_used":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"type":"string"}},"execution_started":{"const":false},"delivery":{"type":"object","properties":{"filename":{"type":"string"},"content":{"type":"string"}},"required":["filename","content"],"additionalProperties":false},"notice":{"type":"string"}},"required":["job_id","service_id","demo","status","charged_cents","price_cents","currency","permissions_used","stages","execution_started","delivery","notice"],"additionalProperties":false}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/assets":{"get":{"operationId":"discoverDurableAssets","summary":"Search the durable published catalog","parameters":[{"name":"q","in":"query","schema":{"type":"string","maxLength":200}},{"name":"category","in":"query","schema":{"enum":["all","prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]}},{"name":"max_price_cents","in":"query","schema":{"type":"integer","minimum":0}},{"name":"compatibility","in":"query","schema":{"enum":["all","plain-text","json","svg","javascript-esm","binary-file"]}},{"name":"license_id","in":"query","schema":{"enum":["all","demo-evaluation"]}},{"name":"sort","in":"query","schema":{"enum":["featured","price_asc","price_desc"]}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Asset"}},"total":{"type":"integer","minimum":0},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":0},"demo":{"type":"boolean","const":true}},"required":["items","total","offset","limit","demo"],"additionalProperties":false}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/assets/{id}":{"get":{"operationId":"inspectDurableAsset","summary":"Inspect the currently published version","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/policy":{"get":{"operationId":"getDemoPolicy","summary":"Read operator-controlled local simulated budget; NOT payment authorization","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"demo":{"type":"boolean","const":true},"principal":{"const":"local-demo"},"enabled":{"type":"boolean"},"total_cents":{"type":"integer","minimum":0},"per_order_cents":{"type":"integer","minimum":0},"spent_cents":{"type":"integer","minimum":0},"remaining_cents":{"type":"integer","minimum":0},"expires_at":{"type":"integer","minimum":0},"allowed_categories":{"type":"array","items":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]}},"allowed_services":{"type":"array","items":{"type":"string"}},"notice":{"type":"string"}},"required":["demo","principal","enabled","spent_cents","remaining_cents","notice"]}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, invalid, expired or revoked credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient scope or no active grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"policy:read"}},"/api/v2/quotes":{"post":{"operationId":"createExactQuote","summary":"Persist an immutable 15-minute DEMO quote; service briefs are stored locally","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"enum":["asset","service"],"default":"asset"},"asset_id":{"type":"string"},"service_id":{"type":"string"},"brief":{"type":"string","minLength":10,"maxLength":2000},"max_price_cents":{"type":"integer","minimum":0}},"required":["max_price_cents"],"additionalProperties":false}}}},"responses":{"201":{"description":"Successful demo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExactQuote"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, invalid, expired or revoked credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient scope or no active grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"quote:write","x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/v2/quotes/{id}":{"get":{"operationId":"getExactQuote","summary":"Read stored quote and expiry","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExactQuote"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, invalid, expired or revoked credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient scope or no active grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"quote:read"}},"/api/v2/orders":{"post":{"operationId":"purchaseDemoOrder","summary":"Atomically record an order, consume simulated budget and issue a demo grant; retry safely with the same key","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"quote_id":{"type":"string"},"idempotency_key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{8,80}$"},"confirm_demo":{"type":"boolean","const":true}},"required":["quote_id","idempotency_key","confirm_demo"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, invalid, expired or revoked credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient scope or no active grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"order:write","x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]},"get":{"operationId":"listDemoOrders","summary":"Latest 50 orders for the shared local demo principal","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Order"}},"total":{"type":"integer","minimum":0},"demo":{"type":"boolean","const":true}},"required":["items","total","demo"],"additionalProperties":false}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, invalid, expired or revoked credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient scope or no active grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"order:read"}},"/api/v2/orders/{id}":{"get":{"operationId":"getDemoOrder","summary":"Read durable order status","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, invalid, expired or revoked credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient scope or no active grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"order:read"}},"/api/v2/orders/{id}/delivery":{"get":{"operationId":"getDemoDelivery","summary":"Deliver pinned evaluation content through an active demo grant; refunded grants fail closed","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"demo":{"type":"boolean","const":true},"asset_id":{"type":"string"},"version":{"type":"string"},"filename":{"type":"string"},"sha256":{"type":"string"},"content":{"type":"string"}},"required":["demo","filename","sha256","content"]},{"type":"object","properties":{"demo":{"type":"boolean","const":true},"asset_id":{"type":"string"},"version":{"type":"string"},"filename":{"type":"string"},"sha256":{"type":"string"},"bytes":{"type":"integer","minimum":0},"mime_type":{"type":"string"},"private_blob":{"const":true},"download_path":{"type":"string"}},"required":["demo","filename","sha256","bytes","private_blob","download_path"]}]}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, invalid, expired or revoked credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient scope or no active grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"delivery:read"}},"/api/v2/jobs/{id}":{"get":{"operationId":"getDemoJob","summary":"Inspect durable simulation job status; no AI executor is attached","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"job_id":{"type":"string"},"status":{"enum":["queued-demo","delivered-demo","canceled-demo"]},"service_id":{"type":"string"},"input_hash":{"type":"string"},"created_at":{"type":"integer","minimum":0},"completed_at":{"type":"integer","minimum":0},"output":{"type":["object","null"]},"demo":{"type":"boolean","const":true},"execution_started":{"const":false},"notice":{"type":"string"}},"required":["job_id","status","service_id","input_hash","created_at","output","demo","execution_started","notice"]}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, invalid, expired or revoked credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient scope or no active grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"job:read"}},"/api/v2/orders/{id}/file":{"get":{"operationId":"downloadPrivateFile","summary":"Download owned, active-grant bytes as an attachment; rechecks ownership, revocation and checksum","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Binary attachment; never inline preview","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, invalid, expired or revoked credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient scope or no active grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"delivery:read"}},"/api/v2/capabilities":{"get":{"operationId":"getCapabilities","summary":"Discover operating mode and remote agent transport","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/services":{"get":{"operationId":"listServicesV2","summary":"Public service discovery","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Service"}},"demo":{"type":"boolean","const":true}},"required":["items","demo"],"additionalProperties":false}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/services/{id}":{"get":{"operationId":"inspectServiceV2","summary":"Public service metadata","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/mcp":{"post":{"operationId":"mcpStreamableHttp","summary":"Authenticated MCP 2025-11-25 JSON-response Streamable HTTP; stateless, no SSE sessions or OAuth discovery","security":[{"bearerAuth":[]}],"parameters":[{"name":"MCP-Protocol-Version","in":"header","schema":{"const":"2025-11-25"},"description":"Required after initialize"},{"name":"Accept","in":"header","required":true,"schema":{"const":"application/json, text/event-stream"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"const":"2.0"},"id":{"type":["string","number"]},"method":{"type":"string"},"params":{"type":"object"}},"required":["jsonrpc","method"]}}}},"responses":{"200":{"description":"JSON-RPC response","content":{"application/json":{"schema":{"type":"object"}}}},"202":{"description":"Notification accepted; no body"},"400":{"description":"Invalid message or unsupported protocol","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Origin or access denied","content":{"application/json":{"schema":{"type":"object"}}}},"406":{"description":"Required Accept types missing","content":{"application/json":{"schema":{"type":"object"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v3/providers":{"get":{"operationId":"providerStatus","summary":"Actual disabled payment/execution and configured scanner status; configured is not a health check","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v3/seller":{"get":{"operationId":"sellerProfile","summary":"Own seller profile and review state","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:read"},"post":{"operationId":"registerSeller","summary":"Register pending seller profile; operator approval required","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"display_name":{"type":"string","minLength":3,"maxLength":80},"bio":{"type":"string","minLength":10,"maxLength":1000},"rights_declaration":{"const":true}},"required":["display_name","bio","rights_declaration"],"additionalProperties":false}}}},"responses":{"201":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:write","x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/v3/seller/listings":{"get":{"operationId":"sellerListings","summary":"Own latest 50 listing drafts","parameters":[{"name":"q","in":"query","schema":{"type":"string","maxLength":120}},{"name":"status","in":"query","schema":{"enum":["draft","submitted","published","rejected"]}},{"name":"category","in":"query","schema":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:read","description":"Own inventory only: status counts, filtered results, upload state, next action, published path and explicit unavailable fee/payout state. Includes private seller cost estimates."},"post":{"operationId":"createSellerListing","summary":"Create draft with owned quarantined upload","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":120},"description":{"type":"string","minLength":10,"maxLength":2000},"category":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]},"version":{"type":"string","pattern":"^[0-9]+[.][0-9]+[.][0-9]+$"},"price_cents":{"type":"integer","minimum":0,"maximum":10000000},"provenance":{"type":"string","minLength":10,"maxLength":1000},"rights_declaration":{"const":true},"upload_id":{"type":"string"},"requirements":{"type":"string","maxLength":1000},"included":{"type":"string","maxLength":1000},"limitations":{"type":"string","maxLength":1000},"quality_notes":{"type":"string","maxLength":1000},"input_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"output_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"model":{"type":"string","maxLength":120},"creation_cost_cents":{"type":"integer","minimum":0,"maximum":1000000000},"cost_visibility":{"enum":["private","public"],"default":"private"}},"required":["title","description","category","version","price_cents","provenance","rights_declaration","upload_id"],"additionalProperties":false}}}},"responses":{"201":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:write","x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/v3/seller/listings/{id}":{"get":{"operationId":"sellerListing","summary":"Own listing draft and revision","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:read"},"put":{"operationId":"editSellerListing","summary":"Replace draft with optimistic revision check; immutable versions require new version","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":120},"description":{"type":"string","minLength":10,"maxLength":2000},"category":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]},"version":{"type":"string","pattern":"^[0-9]+[.][0-9]+[.][0-9]+$"},"price_cents":{"type":"integer","minimum":0,"maximum":10000000},"provenance":{"type":"string","minLength":10,"maxLength":1000},"rights_declaration":{"const":true},"upload_id":{"type":"string"},"requirements":{"type":"string","maxLength":1000},"included":{"type":"string","maxLength":1000},"limitations":{"type":"string","maxLength":1000},"quality_notes":{"type":"string","maxLength":1000},"input_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"output_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"model":{"type":"string","maxLength":120},"creation_cost_cents":{"type":"integer","minimum":0,"maximum":1000000000},"cost_visibility":{"enum":["private","public"],"default":"private"},"expected_revision":{"type":"integer","minimum":0}},"required":["title","description","category","version","price_cents","provenance","rights_declaration","upload_id","expected_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}],"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:write","x-browser-csrf-required":true}},"/api/v3/seller/listings/{id}/submit":{"post":{"operationId":"submitSellerListing","summary":"Submit only after clean scan; publication remains operator-only","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expected_revision":{"type":"integer","minimum":0}},"required":["expected_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}],"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:write","x-browser-csrf-required":true}},"/api/v3/uploads":{"post":{"operationId":"createUploadIntent","summary":"Reserve upload quota for 15 minutes; approved seller required","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"filename":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,119}$"},"format":{"enum":["TXT","JSON","JS","PNG","MP4","WAV","PDF","ZIP"]},"bytes":{"type":"integer","minimum":1,"maximum":16777216},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["filename","format","bytes","sha256"],"additionalProperties":false}}}},"responses":{"201":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"upload:write","x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/v3/uploads/{id}":{"get":{"operationId":"uploadStatus","summary":"Own upload status and sanitized scan result","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:read"}},"/api/v3/uploads/{id}/content":{"put":{"operationId":"uploadQuarantinedBytes","summary":"Upload opaque bytes into quarantine; fixed Content-Length must equal manifest; no content encoding","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Content-Length","in":"header","required":true,"schema":{"type":"integer","minimum":1,"maximum":16777216}},{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}],"requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no publication or external payment performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"upload:write","x-browser-csrf-required":true}},"/.well-known/slopstop.json":{"get":{"operationId":"agentManifest","summary":"Public agent discovery and honest operating limits","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/ready":{"get":{"operationId":"readiness","summary":"Database-readable readiness only; does not verify payments, scanner, execution or storage writeability","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"enum":["ready","not-ready"]},"scope":{"type":"string"}},"required":["status"],"additionalProperties":false}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Database is not ready","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"const":"not-ready"}},"required":["status"],"additionalProperties":false}}}}}}},"/api/v2/compare":{"get":{"operationId":"compareAssets","summary":"Read-only price, compatibility and license comparison; no quotes or purchases","parameters":[{"name":"asset_ids","in":"query","required":true,"schema":{"type":"string"},"description":"2-100 unique comma-separated public asset IDs"},{"name":"max_price_cents","in":"query","schema":{"type":"integer","minimum":0}},{"name":"compatibility","in":"query","schema":{"enum":["plain-text","json","svg","javascript-esm"]}},{"name":"license_id","in":"query","schema":{"enum":["demo-evaluation"]}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v3/seller/batches/preview":{"post":{"operationId":"previewListingBatch","summary":"Rollback-only preview, 20 items and 16 KiB maximum, per-item validation, optional defaults","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"idempotency_key":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,80}$"},"defaults":{"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":120},"description":{"type":"string","minLength":10,"maxLength":2000},"category":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]},"version":{"type":"string","pattern":"^[0-9]+[.][0-9]+[.][0-9]+$"},"price_cents":{"type":"integer","minimum":0,"maximum":10000000},"provenance":{"type":"string","minLength":10,"maxLength":1000},"rights_declaration":{"const":true},"upload_id":{"type":"string"},"requirements":{"type":"string","maxLength":1000},"included":{"type":"string","maxLength":1000},"limitations":{"type":"string","maxLength":1000},"quality_notes":{"type":"string","maxLength":1000},"input_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"output_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"model":{"type":"string","maxLength":120},"creation_cost_cents":{"type":"integer","minimum":0,"maximum":1000000000},"cost_visibility":{"enum":["private","public"],"default":"private"}},"additionalProperties":false},"items":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","properties":{"operation":{"enum":["create","update"]},"asset_id":{"type":"string"},"expected_revision":{"type":"integer","minimum":0},"listing":{"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":120},"description":{"type":"string","minLength":10,"maxLength":2000},"category":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]},"version":{"type":"string","pattern":"^[0-9]+[.][0-9]+[.][0-9]+$"},"price_cents":{"type":"integer","minimum":0,"maximum":10000000},"provenance":{"type":"string","minLength":10,"maxLength":1000},"rights_declaration":{"const":true},"upload_id":{"type":"string"},"requirements":{"type":"string","maxLength":1000},"included":{"type":"string","maxLength":1000},"limitations":{"type":"string","maxLength":1000},"quality_notes":{"type":"string","maxLength":1000},"input_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"output_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"model":{"type":"string","maxLength":120},"creation_cost_cents":{"type":"integer","minimum":0,"maximum":1000000000},"cost_visibility":{"enum":["private","public"],"default":"private"}},"additionalProperties":false}},"required":["operation","listing"],"additionalProperties":false}}},"required":["idempotency_key","items"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:write","x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/v3/seller/batches":{"post":{"operationId":"applyListingBatch","summary":"Idempotent create/update draft import; partial results; no publishing","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"idempotency_key":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,80}$"},"defaults":{"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":120},"description":{"type":"string","minLength":10,"maxLength":2000},"category":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]},"version":{"type":"string","pattern":"^[0-9]+[.][0-9]+[.][0-9]+$"},"price_cents":{"type":"integer","minimum":0,"maximum":10000000},"provenance":{"type":"string","minLength":10,"maxLength":1000},"rights_declaration":{"const":true},"upload_id":{"type":"string"},"requirements":{"type":"string","maxLength":1000},"included":{"type":"string","maxLength":1000},"limitations":{"type":"string","maxLength":1000},"quality_notes":{"type":"string","maxLength":1000},"input_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"output_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"model":{"type":"string","maxLength":120},"creation_cost_cents":{"type":"integer","minimum":0,"maximum":1000000000},"cost_visibility":{"enum":["private","public"],"default":"private"}},"additionalProperties":false},"items":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","properties":{"operation":{"enum":["create","update"]},"asset_id":{"type":"string"},"expected_revision":{"type":"integer","minimum":0},"listing":{"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":120},"description":{"type":"string","minLength":10,"maxLength":2000},"category":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]},"version":{"type":"string","pattern":"^[0-9]+[.][0-9]+[.][0-9]+$"},"price_cents":{"type":"integer","minimum":0,"maximum":10000000},"provenance":{"type":"string","minLength":10,"maxLength":1000},"rights_declaration":{"const":true},"upload_id":{"type":"string"},"requirements":{"type":"string","maxLength":1000},"included":{"type":"string","maxLength":1000},"limitations":{"type":"string","maxLength":1000},"quality_notes":{"type":"string","maxLength":1000},"input_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"output_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"model":{"type":"string","maxLength":120},"creation_cost_cents":{"type":"integer","minimum":0,"maximum":1000000000},"cost_visibility":{"enum":["private","public"],"default":"private"}},"additionalProperties":false}},"required":["operation","listing"],"additionalProperties":false}}},"required":["idempotency_key","items"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:write","x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/v3/seller/listings/{id}/disclosure":{"post":{"operationId":"setCostDisclosure","summary":"Private by default; explicit preview, opt-in or immediate revocation. Cannot erase external copies.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"public":{"type":"boolean"},"preview":{"type":"boolean"}},"required":["public"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}],"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:write","x-browser-csrf-required":true}},"/api/v3/seller/analytics":{"get":{"operationId":"sellerAnalytics","summary":"Own simulated orders and private estimates. No actual margin or live revenue accounting.","parameters":[{"name":"from","in":"query","schema":{"type":"string","format":"date"},"description":"UTC date; to is exclusive; maximum window 366 days"},{"name":"to","in":"query","schema":{"type":"string","format":"date"},"description":"UTC date; to is exclusive; maximum window 366 days"}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"seller:read"}},"/api/v2/stats":{"get":{"operationId":"publicStatistics","summary":"Public listing count and threshold-suppressed demo order count; no seller-level private metrics","parameters":[{"name":"from","in":"query","schema":{"type":"string","format":"date"},"description":"UTC date; to is exclusive; maximum window 366 days"},{"name":"to","in":"query","schema":{"type":"string","format":"date"},"description":"UTC date; to is exclusive; maximum window 366 days"}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v3/account":{"get":{"operationId":"accountProfile","summary":"Own authenticated identity, scopes and saved preferences","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"account:read"},"put":{"operationId":"updateAccountProfile","summary":"Update own display name/preferences; cannot issue credentials or change scopes","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"display_name":{"type":"string","minLength":1,"maxLength":80},"preferred_categories":{"type":"array","uniqueItems":true,"items":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]}}},"required":["display_name","preferred_categories"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"account:write","x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/v2/carts":{"post":{"operationId":"quoteCart","summary":"Exact quote for 1-20 unique asset IDs; aggregate ceiling; idempotent; no spending","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asset_ids":{"type":"string"},"max_total_cents":{"type":"integer","minimum":0},"idempotency_key":{"type":"string"}},"required":["asset_ids","max_total_cents","idempotency_key"],"additionalProperties":false}}}},"responses":{"201":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"quote:write","x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/v2/carts/{id}":{"get":{"operationId":"getCartQuote","summary":"Own exact cart with expiry and evaluation license","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"quote:read"}},"/api/v2/carts/{id}/checkout":{"post":{"operationId":"checkoutDemoCart","summary":"Atomic simulated checkout; aggregate operator spending limits, explicit confirmation and stable idempotency key","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"idempotency_key":{"type":"string"},"confirm_demo":{"type":"boolean","const":true}},"required":["idempotency_key","confirm_demo"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rejected; no real payment or publication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}],"security":[{"bearerAuth":[]},{"browserSession":[]}],"x-required-scope":"order:write","x-browser-csrf-required":true}},"/api/auth/status":{"get":{"operationId":"browserAuthStatus","summary":"Report browser authentication and public signup availability; disabled by default","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/auth/signup":{"post":{"operationId":"signupBrowserAccount","summary":"Explicitly gated username/password signup; no spending authority, seller approval or agent keys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{2,31}$"},"password":{"type":"string","minLength":16,"maxLength":128,"writeOnly":true}},"required":["username","password"],"additionalProperties":false}}}},"responses":{"201":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid credentials or expired session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Authentication rate or concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Authentication/signup disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/auth/login":{"post":{"operationId":"loginBrowserAccount","summary":"Verify password and issue a bounded browser session; exact HTTPS Origin required","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{2,31}$"},"password":{"type":"string","minLength":16,"maxLength":128,"writeOnly":true}},"required":["username","password"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid credentials or expired session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Authentication rate or concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Authentication/signup disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/auth/session":{"get":{"operationId":"browserSession","summary":"Read own identity and CSRF token; no session cookie value in JSON","parameters":[],"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid credentials or expired session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Authentication rate or concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Authentication/signup disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"browserSession":[]}]}},"/api/auth/logout":{"post":{"operationId":"logoutBrowser","summary":"Revoke current browser session","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid credentials or expired session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Authentication rate or concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Authentication/signup disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"browserSession":[]}],"x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/auth/logout-all":{"post":{"operationId":"logoutAllBrowsers","summary":"Revoke all browser sessions for this account; separately provisioned bearer keys are independent","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid credentials or expired session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Authentication rate or concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Authentication/signup disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"browserSession":[]}],"x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/auth/password":{"post":{"operationId":"changeBrowserPassword","summary":"Verify current password, change hash and revoke all browser sessions","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"current_password":{"type":"string","maxLength":128,"writeOnly":true},"new_password":{"type":"string","minLength":16,"maxLength":128,"writeOnly":true}},"required":["current_password","new_password"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid credentials or expired session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Authentication rate or concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Authentication/signup disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"browserSession":[]}],"x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/auth/recovery-codes":{"post":{"operationId":"rotateOfflineRecoveryCodes","summary":"Reauthenticate and replace offline recovery codes; returned once; invalidates prior set","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"current_password":{"type":"string","maxLength":128,"writeOnly":true}},"required":["current_password"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid credentials or expired session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Authentication rate or concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Authentication/signup disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"browserSession":[]}],"x-browser-csrf-required":true,"parameters":[{"name":"X-CSRF-Token","in":"header","schema":{"type":"string"},"description":"Required with browser session for unsafe methods; exact approved Origin also required"}]}},"/api/auth/recover":{"post":{"operationId":"recoverBrowserAccount","summary":"Use saved offline code to reset password and revoke all codes and browser sessions; exact Origin required","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string"},"code":{"type":"string","maxLength":27,"writeOnly":true},"new_password":{"type":"string","minLength":16,"maxLength":128,"writeOnly":true}},"required":["username","code","new_password"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful demo response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid credentials or expired session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Authentication rate or concurrency limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request rejected or internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Authentication/signup disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Asset":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"category":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]},"format":{"type":"string"},"price_cents":{"type":"integer","minimum":0},"estimated_generation_cost_cents":{"type":"integer","minimum":0},"description":{"type":"string"},"art":{"type":"string"},"color":{"type":"string"},"version":{"type":"string"},"seller":{"type":"string"},"demo":{"type":"boolean","const":true},"license":{"type":"string"},"license_id":{"const":"demo-evaluation"},"compatibility":{"enum":["plain-text","json","svg","javascript-esm","binary-file"]},"provenance":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0},"blob_sha256":{"type":"string"},"filename":{"type":"string"},"mime_type":{"type":"string"},"scan":{"type":"object","properties":{"engine":{"type":"string"},"completed_at":{"type":"integer","minimum":0},"verdict":{"const":"clean"}},"required":["engine","completed_at","verdict"],"additionalProperties":false},"product_path":{"type":"string"},"product_url":{"type":"string","format":"uri"},"requirements":{"type":"string"},"included":{"type":"string"},"limitations":{"type":"string"},"quality_notes":{"type":"string"},"token_usage":{"type":"object"},"public_economics":{"type":"object"}},"required":["id","title","category","format","price_cents","estimated_generation_cost_cents","description","art","color","version","seller","demo","license","license_id","compatibility","provenance","sha256","bytes"],"additionalProperties":false},"Quote":{"type":"object","properties":{"demo":{"type":"boolean","const":true},"asset_id":{"type":"string"},"version":{"type":"string"},"currency":{"const":"USD"},"price_cents":{"type":"integer","minimum":0},"charged_cents":{"type":"integer","const":0},"license":{"type":"string"},"sha256":{"type":"string"}},"required":["demo","asset_id","version","currency","price_cents","charged_cents","license","sha256"],"additionalProperties":false},"Service":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"category":{"type":"string"},"description":{"type":"string"},"price_cents":{"type":"integer","minimum":0},"inputs":{"type":"array","items":{"type":"string"}},"outputs":{"type":"array","items":{"type":"string"}},"demo":{"type":"boolean","const":true},"execution":{"const":"simulation-only"},"permissions":{"type":"array","items":{"type":"string"}},"estimated_turnaround":{"type":"string"}},"required":["id","title","category","description","price_cents","inputs","outputs","demo","execution","permissions","estimated_turnaround"],"additionalProperties":false},"Error":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false},"ExactQuote":{"type":"object","properties":{"quote_id":{"type":"string"},"kind":{"enum":["asset","service"]},"item_id":{"type":"string"},"version":{"type":"string"},"snapshot":{"oneOf":[{"$ref":"#/components/schemas/Asset"},{"$ref":"#/components/schemas/Service"}]},"input_hash":{"type":["string","null"]},"currency":{"const":"USD"},"subtotal_cents":{"type":"integer","minimum":0},"fee_cents":{"const":0},"tax_cents":{"const":0},"total_cents":{"type":"integer","minimum":0},"charged_cents":{"const":0},"demo":{"type":"boolean","const":true},"license_id":{"const":"demo-evaluation"},"created_at":{"type":"integer","minimum":0},"expires_at":{"type":"integer","minimum":0},"expired":{"type":"boolean"}},"required":["quote_id","kind","item_id","version","snapshot","input_hash","currency","subtotal_cents","fee_cents","tax_cents","total_cents","charged_cents","demo","license_id","created_at","expires_at","expired"],"additionalProperties":false},"Order":{"type":"object","properties":{"order_id":{"type":"string"},"quote_id":{"type":"string"},"kind":{"enum":["asset","service"]},"item_id":{"type":"string"},"version":{"type":"string"},"sha256":{"type":["string","null"]},"total_cents":{"type":"integer","minimum":0},"charged_cents":{"const":0},"currency":{"const":"USD"},"license_id":{"const":"demo-evaluation"},"demo":{"type":"boolean","const":true},"created_at":{"type":"integer","minimum":0},"notice":{"type":"string"},"status":{"enum":["fulfilled-demo","queued-demo","delivered-demo","refunded-demo"]}},"required":["order_id","quote_id","kind","item_id","version","sha256","total_cents","charged_cents","currency","license_id","demo","created_at","notice","status"],"additionalProperties":false},"SellerListingInput":{"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":120},"description":{"type":"string","minLength":10,"maxLength":2000},"category":{"enum":["prompts","agent-configs","characters","workflows","graphics","video","audio","software","bundles"]},"version":{"type":"string","pattern":"^[0-9]+[.][0-9]+[.][0-9]+$"},"price_cents":{"type":"integer","minimum":0,"maximum":10000000},"provenance":{"type":"string","minLength":10,"maxLength":1000},"rights_declaration":{"const":true},"upload_id":{"type":"string"},"requirements":{"type":"string","maxLength":1000},"included":{"type":"string","maxLength":1000},"limitations":{"type":"string","maxLength":1000},"quality_notes":{"type":"string","maxLength":1000},"input_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"output_tokens":{"type":"integer","minimum":0,"maximum":1000000000},"model":{"type":"string","maxLength":120},"creation_cost_cents":{"type":"integer","minimum":0,"maximum":1000000000},"cost_visibility":{"enum":["private","public"],"default":"private"}},"required":["title","description","category","version","price_cents","provenance","rights_declaration","upload_id"],"additionalProperties":false}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"ss.<id>.<secret>","description":"Operator-provided high-entropy credentials. Registry stores SHA-256 digests, identity, scopes, audience, expiry and enabled status. No credential issuance endpoint."},"browserSession":{"type":"apiKey","in":"cookie","name":"__Host-slopstop-session","description":"Optional HTTPS browser session. HttpOnly, Secure, SameSite=Strict; idle and absolute expiry. Unsafe requests require exact Origin and X-CSRF-Token. Never accepted for MCP."}}}}