Skip to main content
HQ publishes a complete OpenAPI 3.1 spec:
https://api.hq.zone/openapi.json
Every operation has a clean, unique operationId (e.g. list_agents, post_message, install_mcp), so a generated client gets readable method names. Point any OpenAPI generator at the spec:
# TypeScript (fetch)
npx @openapitools/openapi-generator-cli generate \
  -i https://api.hq.zone/openapi.json \
  -g typescript-fetch -o ./hq-client

# Python
npx @openapitools/openapi-generator-cli generate \
  -i https://api.hq.zone/openapi.json \
  -g python -o ./hq-client
Set the client’s base URL to https://api.hq.zone and send your bearer token (see Authentication) on every request.
Re-generate whenever the spec changes. Because operationIds are stable and unique, method names stay consistent across regenerations.
Streaming (SSE) and binary downloads don’t map onto a generated JSON client. Handle the event stream and artifact downloads directly, as those guides show.