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 — 74 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.
expertbodymarketplace.Expert—
expert.areasbodystring[]—Areas is what the expert works on: configure, base, commerce, bot, agents, cloud, models, creative or freelance.
expert.availabilitybodystring—Availability is the expert's weekly hours, in their own words.
expert.languagesbodystring[]—Languages are the languages the expert works in, lowercase BCP 47 tags.
expert.linksbodystring[]—Links are where the expert's work can be seen: up to 8 https URLs.
expert.personbodystring—Person is the expert's IAM identity: the verified principal that published the listing, never taken off the wire.
expert.productsbodymarketplace.Score[]—Products are the products the expert scores highest in, at most three, best first, each with the parts its score is made of; absent until they score in any (expertise.go).
expert.products[].partsbodymarketplace.Parts—
expert.products[].parts.badgesbodynumber (double)—Badges is the points for the badges held that show the product was used.
expert.products[].parts.contributionsbodynumber (double)—Contributions is the points for merged pull requests and completed bounties in the product's public repositories.
expert.products[].parts.jobsbodynumber (double)—Jobs is the points for jobs released in the product's areas, weighted by stars.
expert.products[].parts.usagebodynumber (double)—Usage is the points for lifetime tokens on the product's model family.
expert.products[].productbodystring—Product is the product's id.
expert.products[].scorebodynumber (double)—Score is the sum of Parts, to one decimal.
expert.ratebodyany—Rate is the hourly rate, exact to 18 decimal places of USD; "0" when the expert sells only a fixed engagement (the listing's price).
expert.rewardbodymarketplace.Reward—
expert.reward.badgesbodymarketplace.Badge[]—Badges are the three the profile shows first, the rarest first.
expert.reward.badges[].idbodystring—ID is the badge's id, such as first-merge.
expert.reward.badges[].namebodystring—Name is what it is called.
expert.reward.badges[].pillarbodystring—Pillar is what it is for: use, share, community, contribute or expert.
expert.reward.badges[].raritybodystring—Rarity is how rare it is, from common up.
expert.reward.levelbodyinteger (int64)—Level is the level the profile shows, such as 2.
expert.reward.levelNamebodystring—LevelName is its name, such as Shipper.
expert.reward.pillarsbodymarketplace.Pillars—
expert.reward.pillars.communitybodyinteger (int64)—Community is claims for joining in: Discord, stars and follows.
expert.reward.pillars.contributebodyinteger (int64)—Contribute is claims for building it: merged work, bounties and demos.
expert.reward.pillars.expertbodyinteger (int64)—Expert is claims for the work of an expert on the marketplace.
expert.reward.pillars.sharebodyinteger (int64)—Share is claims for sharing it: referrals and posts.
expert.reward.pillars.usebodyinteger (int64)—Use is claims for using Hanzo: models and products.
expert.reward.pointsbodyinteger (int64)—Points are the lifetime points.
expert.reward.tierbodymarketplace.Tier—
expert.reward.tier.idbodystring—ID is the badge's id, such as billionaire.
expert.reward.tier.labelbodystring—Label is how the milestone reads, such as 1B+.
expert.selfbodyboolean—Self is whether the expert is the caller.
expert.skillsbodystring[]—Skills are what the expert is good at, in their own words: up to 20 names of up to 40 characters, each once whatever its case.
expert.timezonebodystring—Timezone is the expert's IANA time zone, "America/Los_Angeles".
expert.topbodystring[]—Top names the products in which the expert ranks among the best three of all experts, in the order of the product list.
expert.verifiedbodyboolean—Verified is whether staff vouch for the expert.
idbodystring—ID is the listing.
kindbodystring—Kind is what it sells: agent, persona, app, skill, mcp, tool or expert.
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, the fixed engagement for an expert; "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; empty for an expert, who is a person and not a thing.
updatedAtbodyinteger (int64)—UpdatedAt is when it was last edited, unix seconds.

Failure carries the platform error shape — see Errors.

Examples

hanzo marketplace shop get <id>
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?
Broken link or missing step? Drop it in #docs on Discord or open a PR.