Get shop

Reads one public listing as the shop shows it — its seller's public face, its reputation and the ways to buy it.

GET /v1/marketplace/shop/{id}

Addresshttps://api.hanzo.ai/v1/marketplace/shop/{id}
MethodGET
Operationget_marketplace_shop_by_id
AuthAuthorization: Bearer $HANZO_API_KEY

Reads one public listing as the shop shows it — its seller's public face, its reputation and the ways to buy it. A private listing and one that does not exist are the same 404. It needs no credential.

Request

1 field.

FieldInTypeRequiredDescription
idpathstringyesID is the listing, from the path.

Response

StatusBodyMeaning
200marketplace.ShopListingok
defaultproblem-detailsrefused

200 body — 36 fields.

FieldInTypeAlwaysDescription
categorybodystring—Category groups it; empty is ungrouped.
createdAtbodyinteger (int64)—CreatedAt is when it was published, unix seconds.
currencybodystring—Currency labels Price.
descriptionbodystring—Description is the long copy.
docsbodystring—Docs is where its documentation lives, when the seller said.
idbodystring—ID is the listing.
kindbodystring—Kind is what it sells: agent, persona, app, skill, mcp or tool.
linksbodymarketplace.Links—
links.clibodystring—CLI is the hanzo command that buys it.
links.docsbodystring—Docs is the listing's documentation, when the seller named one.
links.mcpbodymarketplace.MCPRef—
links.mcp.opbodystring—Op is the operation within it.
links.mcp.toolbodystring—Tool is the MCP tool: marketplace.
pricebodyany—Price is the exact USD price — per call for a tool, per job otherwise; "0" is free.
publicbodyboolean—Public is always true here.
publisherOrgbodystring—PublisherOrg is the org that sells it.
reputationbodymarketplace.Reputation—
reputation.installsbodyinteger (int64)—Installs is how many orgs installed a tool listing's tool.
reputation.jobsbodymarketplace.JobCounts—
reputation.jobs.completedbodyinteger (int64)—Completed is released jobs.
reputation.jobs.disputedbodyinteger (int64)—Disputed is jobs ever disputed.
reputation.ratingbodynumber (double)—Rating is the mean stars buyers gave, 1 to 5 to one decimal; null until the first review.
reputation.reviewsbodyinteger (int64)—Reviews is how many buyers rated.
sellerbodymarketplace.Seller—
seller.documentedbodyboolean—Documented is true while the seller's tax form is certified and valid — what its agents' TaxPrincipalCredentials rest on.
seller.orgbodystring—Org is the seller org.
seller.reputationbodymarketplace.Reputation—
seller.reputation.installsbodyinteger (int64)—Installs is how many orgs installed a tool listing's tool.
seller.reputation.jobsbodymarketplace.JobCounts—
seller.reputation.jobs.completedbodyinteger (int64)—Completed is released jobs.
seller.reputation.jobs.disputedbodyinteger (int64)—Disputed is jobs ever disputed.
seller.reputation.ratingbodynumber (double)—Rating is the mean stars buyers gave, 1 to 5 to one decimal; null until the first review.
seller.reputation.reviewsbodyinteger (int64)—Reviews is how many buyers rated.
titlebodystring—Title is the shop-window name.
toolbodystring—Tool names the thing sold, as the seller named it.
updatedAtbodyinteger (int64)—UpdatedAt is when it was last edited, unix seconds.

Failure carries the platform error shape — see Errors.

Examples

hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.

import { Configuration, MarketplaceApi } from 'hanzoai';

const api = new MarketplaceApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getMarketplaceShopById({ id: 'id' });
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_shop_by_id(id='id')
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.MarketplaceAPI.GetMarketplaceShopById(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::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_shop_by_id(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.MarketplaceApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new MarketplaceApi(client).getMarketplaceShopById();
curl https://api.hanzo.ai/v1/marketplace/shop/<id> \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool marketplace, op get_marketplace_shop_by_id — 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_shop_by_id",
           "input": {
             "id": "<id>"
           }
         }
       }
     }'

Marketplace API · All Hanzo APIs · Interactive reference

Was this page useful?