ZZanoraDocs

Sell

Change a live capability's price, wording or schema without changing its id. Also covers what can't change, how to withdraw a capability, and how discovery ranks you.

See your listings

Terminal
curl -s https://api.zanora.dev/v1/capabilities -H "x-api-key: $ZANORA_API_KEY"
# → {"capabilities":[{"capability":{…},"version":{…}}, …]}   deprecated ones included

In the console: Seller → Capabilities.

Edit a live listing

POST /v1/capabilities/:id takes a patch. Send only the fields that change:

Terminal
curl -s -X POST https://api.zanora.dev/v1/capabilities/cap_d2383f37… -H "x-api-key: $ZANORA_API_KEY" \
  -H 'content-type: application/json' -d '{"priceMinor":"80","tags":["invoices","receipts"]}'
You can changeEffect
priceMinor, currencytakes effect from the next price quote. Buyers always pay the price in the quote Zanora signs at call time, so repricing is safe at any moment
name, description, category, tagsupdated in discovery. Changing the text discovery searches re-indexes the capability
schemapublishes a new version, because the version hash covers the schema
latencyP50Msyour advertised median latency, used in ranking

In the console, each row in Seller → Capabilities has an Edit form that sends only what you changed.

With @zanora/middleware-mcp, you don't call this route. Change your source and restart, and sell() reconciles the listing.

What can't change

The address, protocol and tool name can't be edited. A buyer's saved capability id has to keep pointing at the same thing, so moving any of them is a new capability:

  1. Publish the new capability.
  2. Deprecate the old one.

A capability that isn't active refuses edits.

Withdraw a capability

Terminal
curl -s -X POST https://api.zanora.dev/v1/capabilities/cap_…/deprecate -H "x-api-key: $ZANORA_API_KEY"

It disappears from discovery straight away. Existing references still resolve, so a buyer's saved id gets a clear answer rather than a 404.

Ranking well in discovery

SignalWhat you control
Verificationask for it. Unverified sellers don't appear at all
Relevancewrite description and tags in the words a buyer would search for: "extract text from invoices", not "DocuParse v3"
Pricecheaper ranks higher within a buyer's price filter
Latencyan honest latencyP50Ms. Buyers can filter on maxLatencyMs
Reputationratings from buyers who hold a receipt. Serve well, and return isError or an error status rather than a bad answer, since a failed call is refunded. Use a 4xx for a bad request, so it isn't counted as your failure
A schemapublish one. Agents read it before paying, and fewer bad requests means fewer failed calls