Documentation site for Hummingbot API and Gateway, built with Mintlify.
docs/
├── docs.json # Mintlify config (navigation, theme, OpenAPI settings)
├── docs.mdx # Homepage
├── api-reference.mdx # API Reference overview page
├── gateway-reference.mdx # Gateway Reference overview page
│
├── docs/ # Documentation pages
│ ├── installation.mdx
│ ├── quickstart.mdx
│ └── gateway-setup.mdx
│
├── api-reference/ # Hummingbot API OpenAPI spec
│ └── openapi.json # → copied from openapi-sources/hummingbot-api.json
│
├── gateway-reference/ # Gateway OpenAPI spec
│ └── openapi.json # → processed from openapi-sources/gateway.json
│
├── openapi-sources/ # Raw OpenAPI specs from source servers
│ ├── hummingbot-api.json # Raw spec from Hummingbot API
│ └── gateway.json # Raw spec from Gateway
│
├── scripts/ # Build and maintenance scripts
│ ├── generate-openapi.sh # Fetch specs from running servers
│ ├── update-openapi.sh # Process and copy specs from openapi-sources/
│ └── process-openapi.js # Post-process Gateway spec for Mintlify
│
├── images/ # Documentation images
└── logo/ # Site logos
- Node.js 18+
- Mintlify CLI
npm i -g mintlifymintlify devView at http://localhost:3000
The API Reference and Gateway Reference are generated from OpenAPI specifications. There are two methods to update them:
Fetches specs directly from running servers:
# Start the source servers first
cd ~/hummingbot-api && make run # Starts at localhost:8000
cd ~/gateway && pnpm start --dev # Starts at localhost:15888
# Generate and process specs
./scripts/generate-openapi.sh
# Or update only one:
./scripts/generate-openapi.sh --api-only
./scripts/generate-openapi.sh --gateway-onlyIf you already have the OpenAPI JSON files:
-
Place files in
openapi-sources/:hummingbot-api.json- fromhttp://localhost:8000/openapi.jsongateway.json- fromhttp://localhost:15888/docs/json
-
Run the update script:
./scripts/update-openapi.sh
-
Hummingbot API (
api-reference/openapi.json):- Copied directly from source (no processing needed)
- The API server already generates clean operationIds and summaries
-
Gateway (
gateway-reference/openapi.json):- Processed by
process-openapi.jswhich:- Adds
operationIdfields for clean URL paths - Adds
summaryfields for sidebar titles - Converts
anyOfwith null tonullable: true(Mintlify compatibility)
- Adds
- Processed by
- Run
mintlify devto preview changes - Verify sidebar titles and URL paths look correct
- Commit all changes including both
openapi-sources/and processed files
mintlify update # Update CLI to latest versionEnsure you're running mintlify dev in the directory containing docs.json.
Re-run ./scripts/generate-openapi.sh --gateway-only to regenerate with proper operationIds.
Changes pushed to the main branch are automatically deployed via Mintlify's GitHub integration.