List marketplace
Discover lists every tool and agent the caller can reach in their own org and project, enriched with any public listing's title, category and price, and…
GET /v1/marketplace
| Address | https://api.hanzo.ai/v1/marketplace |
| Method | GET |
| Operation | get_marketplace |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Discover lists every tool and agent the caller can reach in their own org and project, enriched with any public listing's title, category and price, and with installed=true on the ones already activated for that scope. It is the shop window: one read that answers what exists, what it costs and what is already on.
Request
GET /v1/marketplace takes no parameters and no body — the credential is the whole request.
Response
| Status | Body | Meaning |
|---|---|---|
200 | marketCatalog | ok |
200 body — 14 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
items | body | marketItem[] | — | Items is every capability the caller can see in their own (org, project), each carrying any public listing's shop metadata and whether it is installed. |
items[].activated | body | boolean | — | |
items[].category | body | string | — | Category is that same listing's grouping. |
items[].description | body | string | — | |
items[].dispatchable | body | boolean | — | |
items[].inputSchema | body | any | — | |
items[].installed | body | boolean | — | Installed is whether the tool is activated for THIS caller's (org, project): the same bit as Activated, under the shop's name for it, which install and… |
items[].name | body | string | — | |
items[].price | body | Price | — | |
items[].price.amount | body | any | — | Amount is what ONE call costs, EXACTLY: an 18-decimal USD value, so a per-call price of 0.0025 and not a cent-floored zero. |
items[].price.currency | body | string | — | Currency is the ISO 4217 code, e.g. |
items[].price.recipient | body | string | — | Recipient is the payout wallet ref the marketplace seller is paid at. |
items[].source | body | string | — | |
items[].title | body | string | — | Title is the shop-window name, painted over the registry Name from the CHEAPEST public listing for this tool — several orgs may list the same one, and the row… |
Failure carries the platform error shape — see Errors.
Examples
hanzo marketplace getimport { Configuration, MarketplaceApi } from 'hanzoai';
const api = new MarketplaceApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getMarketplace();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import MarketplaceApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = MarketplaceApi(client).get_marketplace()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.MarketplaceAPI.GetMarketplace(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, marketplace_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = marketplace_api::get_marketplace(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.MarketplaceApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new MarketplaceApi(client).getMarketplace();curl https://api.hanzo.ai/v1/marketplace \
-H "Authorization: Bearer $HANZO_API_KEY"Tool marketplace, op get_marketplace — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "marketplace",
"arguments": {
"op": "get_marketplace",
"input": {}
}
}
}'How is this guide?