Hanzo
OpenapiMarketplace

Publish offers one tool on the marketplace, optionally monetized.

Publish offers one tool on the marketplace, optionally monetized.

POST /v1/marketplace/listings

Addresshttps://api.hanzo.ai/v1/marketplace/listings
MethodPOST
Operationpost_marketplace_listings
AuthAuthorization: Bearer $HANZO_API_KEY

Publish offers one tool on the marketplace, optionally monetized. The tool must already resolve in the publisher's own scope, so a listing can never advertise a capability that does not exist; a listing with a price must name the payout wallet the x402 seam settles to, so a monetized offer is never unpayable. The price is exact to 18 decimal places, so a per-call price below a cent is a real price and not a rounded-away zero. The listing is owned by the publishing org, paid into a wallet of that same org, and answers 201 with the created row.

Request

8 fields, body application/json (required).

FieldInTypeRequiredDescription
categorybodystringCategory groups the listing in the shop window.
currencybodystringCurrency denominates Price.
descriptionbodystringDescription is the long copy, clipped at 4096 characters.
pricebodystringPrice is the per-call price as a decimal USD string, exact to 18 places — "0.0025" is a quarter of a cent and stays one.
publicbodybooleanPublic makes the listing discoverable by other orgs.
recipientbodystringRecipient is the seller's payout wallet ID, in the publishing org — the wallet x402 pays.
titlebodystringTitle is the shop-window name, 1-200 characters.
toolbodystringTool is the registry name of the capability being offered.

Response

StatusBodyMeaning
201Listingcreated

201 body — 11 fields.

FieldInTypeAlwaysDescription
categorybodystringCategory groups the listing in the shop window.
createdAtbodyintegerCreatedAt is when the listing was published, in Unix SECONDS, minted at insert.
currencybodystringCurrency is the ISO 4217 code Price is quoted in; Create defaults it to "USD" when the publisher names none.
descriptionbodystringDescription is the long copy.
idbodystringID is the listing's id, minted here as "lst_" + 16 hex characters. A publisher cannot choose it: Create overwrites whatever arrives.
pricebodyanyexact per-call price; 0 is free.
publicbodybooleanPublic is whether other orgs can discover the listing.
publisherOrgbodystringPublisherOrg is the org that published the listing, taken from the validated principal and never off the wire.
recipientbodystringseller payout WALLET ID, in PublisherOrg.
titlebodystringTitle is the shop-window name, required and refused past 200 bytes.
toolbodystringTool is the registry name of the offered capability, in the flat fleet-wide tool namespace.

Failure carries the platform error shape — see Errors.

Examples

hanzo marketplace listings create

Marketplace API · All Hanzo APIs · Interactive reference

How is this guide?

On this page