Files
market/docs/api.md
zeekay 661a6a28d5 rebrand: Bot Hub → Hanzo Market, white-label via @luxfi/brand schema
- Repo transferred hanzobot/hub → hanzoai/market (matches owned hanzo.market domain)
- npm package: bothub → @hanzoai/market, packages/bothub → packages/market
- bothub-schema → @hanzoai/market-schema
- CLI binary: bothub → market
- Brand: Bot Hub → Hanzo Market across ~95 user-facing surfaces (README, docs, k8s,
  Dockerfile, public/manifest.json, OG image, CLI banner, site config, theme)
- Brand-neutral white-label: src/brand/ owns BrandConfig + BrandTheme + loader,
  public/brands/<id>.json presets for hanzo, zoo, lux, pars, liquidity, generic
- BRAND_ID env at build picks default; ConfigMap-mounted brand.json overrides at runtime
- Legacy paths retained for compat: ~/.bothub, .bothubignore, /.well-known/bothub.json,
  bothub-theme localStorage key, LEGACY_HOSTS for hub.hanzo.bot/clawhub.ai
- Fixed broken sed-replace artifacts in packages/market/src/cli/botConfig.test.ts
- Drops Clawd/OpenClaw dead brand surface, keeps Clawdis* schema types and
  clawd skill directory paths (backward compat for installed bot products)
2026-05-29 13:46:09 -07:00

1.2 KiB

summary, read_when
summary read_when
Public REST API (v1) overview and conventions.
Building API clients
Adding endpoints or schemas

API v1

Base: https://hanzo.market

OpenAPI: /api/v1/openapi.json

Auth

  • Public read: no token required.
  • Write + account: Authorization: Bearer clh_....

Rate limits

Per IP + per API key:

  • Read: 120/min per IP, 600/min per key
  • Write: 30/min per IP, 120/min per key

Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After (on 429).

Endpoints

Public read:

  • GET /api/v1/search?q=...
  • GET /api/v1/skills?limit=&cursor=&sort=
    • sort: updated (default), downloads, stars (rating), installsCurrent (installs), installsAllTime, trending
  • GET /api/v1/skills/{slug}
  • GET /api/v1/skills/{slug}/versions?limit=&cursor=
  • GET /api/v1/skills/{slug}/versions/{version}
  • GET /api/v1/skills/{slug}/file?path=&version=&tag=
  • GET /api/v1/resolve?slug=&hash=
  • GET /api/v1/download?slug=&version=&tag=

Auth required:

  • POST /api/v1/skills (publish, multipart preferred)
  • DELETE /api/v1/skills/{slug}
  • POST /api/v1/skills/{slug}/undelete
  • GET /api/v1/whoami

Legacy

Legacy /api/* and /api/cli/* still available. See DEPRECATIONS.md.