mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-24 20:09:02 +00:00
The docs send customers to platform.hanzo.ai, the console they sign in to
console.hanzo.ai is Hanzo's staff console now, signed into the admin org only, so every page that told a reader to mint a key, connect an account or open a dashboard there names platform.hanzo.ai instead. The Console page says where the console lives and that console.hanzo.ai and admin.hanzo.ai are staff consoles, and no longer says the console is embedded in the cloud binary.
This commit is contained in:
@@ -9,7 +9,7 @@ import { Action } from '@/components/action';
|
||||
import { currentUser, iam, type DocsUser } from '@/lib/iam';
|
||||
import { muted } from '@/lib/ink';
|
||||
|
||||
const CONSOLE = 'https://console.hanzo.ai';
|
||||
const CONSOLE = 'https://platform.hanzo.ai';
|
||||
|
||||
/**
|
||||
* Who is signed in, asked once per page load and shared by the rail, the bar and
|
||||
|
||||
@@ -410,7 +410,7 @@ export function Landing({ install, use }: { install: ReactNode; use: ReactNode }
|
||||
curl hanzo.sh | sh
|
||||
</Text>
|
||||
<XStack flexWrap="wrap" gap={12} justify="center">
|
||||
<Action tone="loud" render="a" href="https://hanzo.id/signup?redirect_uri=https://console.hanzo.ai" height={44} px={28} rounded={999}>
|
||||
<Action tone="loud" render="a" href="https://hanzo.id/signup?redirect_uri=https://platform.hanzo.ai" height={44} px={28} rounded={999}>
|
||||
Sign up free
|
||||
</Action>
|
||||
<Action tone="line" render={<Link href="/docs" prefetch={false} />} height={44} px={28} rounded={999}>
|
||||
|
||||
@@ -56,7 +56,7 @@ When you're ready to fine-tune or change providers, you have a dataset that refl
|
||||
|
||||
## Available Now
|
||||
|
||||
Console is available at [console.hanzo.ai](https://console.hanzo.ai). Free tier includes 50K traces/month. Self-hosted deployment supported for enterprise.
|
||||
Console is available at [platform.hanzo.ai](https://platform.hanzo.ai). Free tier includes 50K traces/month. Self-hosted deployment supported for enterprise.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Welcome to the new Hanzo Documentation site. This is the unified home for all Ha
|
||||
|
||||
## Getting Started
|
||||
|
||||
The fastest way to get started is to [grab an API key](https://console.hanzo.ai) and start making requests:
|
||||
The fastest way to get started is to [grab an API key](https://platform.hanzo.ai) and start making requests:
|
||||
|
||||
```bash
|
||||
curl https://api.hanzo.ai/v1/chat/completions \
|
||||
|
||||
@@ -49,7 +49,7 @@ refusal exists to prevent.
|
||||
|
||||
### In the console
|
||||
|
||||
1. Go to [console.hanzo.ai](https://console.hanzo.ai)
|
||||
1. Go to [platform.hanzo.ai](https://platform.hanzo.ai)
|
||||
2. Open **API Keys**
|
||||
3. Create a key and choose its type
|
||||
4. Copy a secret key immediately — it is shown once and never again
|
||||
|
||||
@@ -7,36 +7,36 @@ description: Connect Hanzo to Salesforce, DocuSign, Notion, HubSpot, and Shopify
|
||||
|
||||
Summarize records, draft content, and trigger actions against your CRM, contracts, docs, and store — connected over OAuth, no download required.
|
||||
|
||||
Every app here connects the same way: open the [console](https://console.hanzo.ai), pick the app, authorize with your account, and (where relevant) scope the objects Hanzo may read and write.
|
||||
Every app here connects the same way: open the [console](https://platform.hanzo.ai), pick the app, authorize with your account, and (where relevant) scope the objects Hanzo may read and write.
|
||||
|
||||
## Salesforce
|
||||
|
||||
Summarize accounts and opportunities, draft follow-ups, and update records from chat.
|
||||
|
||||
**Connect** — [console](https://console.hanzo.ai) → **Salesforce** → authorize the connected app; Hanzo respects your Salesforce object and field permissions.
|
||||
**Connect** — [console](https://platform.hanzo.ai) → **Salesforce** → authorize the connected app; Hanzo respects your Salesforce object and field permissions.
|
||||
|
||||
## DocuSign
|
||||
|
||||
Summarize agreements, draft envelopes, and check signing status.
|
||||
|
||||
**Connect** — [console](https://console.hanzo.ai) → **DocuSign** → authorize over OAuth.
|
||||
**Connect** — [console](https://platform.hanzo.ai) → **DocuSign** → authorize over OAuth.
|
||||
|
||||
## Notion
|
||||
|
||||
Query, summarize, and draft into your Notion workspace.
|
||||
|
||||
**Connect** — [console](https://console.hanzo.ai) → **Notion** → authorize and pick the pages and databases to share.
|
||||
**Connect** — [console](https://platform.hanzo.ai) → **Notion** → authorize and pick the pages and databases to share.
|
||||
|
||||
## HubSpot
|
||||
|
||||
Summarize contacts and deals, draft emails, and update CRM records.
|
||||
|
||||
**Connect** — [console](https://console.hanzo.ai) → **HubSpot** → authorize over OAuth.
|
||||
**Connect** — [console](https://platform.hanzo.ai) → **HubSpot** → authorize over OAuth.
|
||||
|
||||
## Shopify
|
||||
|
||||
Answer store questions, summarize orders, and draft product copy.
|
||||
|
||||
**Connect** — [console](https://console.hanzo.ai) → **Shopify** → authorize the app for your store.
|
||||
**Connect** — [console](https://platform.hanzo.ai) → **Shopify** → authorize the app for your store.
|
||||
|
||||
> **One identity, everywhere.** Sign in with Hanzo ([IAM](/docs/openapi/iam) OAuth) or paste an `sk-` [API key](/docs/api-keys). The same credential works in every Hanzo surface — see [Integrations & Extensions](/docs/apps).
|
||||
|
||||
@@ -11,13 +11,13 @@ Summarize threads, recap meetings, and draft replies inside the tools your team
|
||||
|
||||
Mention `@Hanzo` in any channel or DM to ask a question, summarize a thread, or run an agent.
|
||||
|
||||
**Connect** — open the [console](https://console.hanzo.ai), pick **Slack**, and **Add to Slack** to authorize the workspace over OAuth. Invite `@Hanzo` to the channels you want it in.
|
||||
**Connect** — open the [console](https://platform.hanzo.ai), pick **Slack**, and **Add to Slack** to authorize the workspace over OAuth. Invite `@Hanzo` to the channels you want it in.
|
||||
|
||||
## Zoom & Google Meet
|
||||
|
||||
Join a call to transcribe, summarize, and extract action items; the recap posts back to your workspace.
|
||||
|
||||
**Connect** — from the [console](https://console.hanzo.ai), connect **Zoom** and/or **Google Meet** over OAuth and authorize calendar access so Hanzo can join scheduled meetings.
|
||||
**Connect** — from the [console](https://platform.hanzo.ai), connect **Zoom** and/or **Google Meet** over OAuth and authorize calendar access so Hanzo can join scheduled meetings.
|
||||
|
||||
## Microsoft Teams and Zendesk
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ Installs on your org or repos and adds:
|
||||
- **Issue triage** — labels, summarizes, and routes new issues.
|
||||
- **`@hanzo` mentions** — mention `@hanzo` in a PR or issue to ask a question, request changes, or kick off an agent.
|
||||
|
||||
**Install** — from the [console](https://console.hanzo.ai), choose **GitHub**, install the Hanzo GitHub App, and select the org or repositories to grant it. Approve the requested permissions and Hanzo starts reviewing new PRs and issues.
|
||||
**Install** — from the [console](https://platform.hanzo.ai), choose **GitHub**, install the Hanzo GitHub App, and select the org or repositories to grant it. Approve the requested permissions and Hanzo starts reviewing new PRs and issues.
|
||||
|
||||
## GitLab
|
||||
|
||||
@@ -25,7 +25,7 @@ The same review and triage flow for GitLab merge requests and issues.
|
||||
- **Issue triage** — summarize, label, and route issues.
|
||||
- **`@hanzo` mentions** — mention `@hanzo` in an MR or issue to invoke the agent.
|
||||
|
||||
**Connect** — from the [console](https://console.hanzo.ai), choose **GitLab**, authorize over OAuth (GitLab.com or self-managed), and pick the groups or projects to enable.
|
||||
**Connect** — from the [console](https://platform.hanzo.ai), choose **GitLab**, authorize over OAuth (GitLab.com or self-managed), and pick the groups or projects to enable.
|
||||
|
||||
> **One identity, everywhere.** Sign in with Hanzo ([IAM](/docs/openapi/iam) OAuth) or paste an `sk-` [API key](/docs/api-keys). The same credential works in every Hanzo surface — see [Integrations & Extensions](/docs/apps).
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ Every surface below is a thin client over the same foundation:
|
||||
You authenticate **once**, either way:
|
||||
|
||||
1. **Sign in with Hanzo** — OAuth through [Hanzo IAM](/docs/openapi/iam). Click **Sign in**, approve, done.
|
||||
2. **Paste an `sk-` key** — create one in the [console](https://console.hanzo.ai) (see [API Keys](/docs/api-keys)) and paste it into the surface's settings.
|
||||
2. **Paste an `sk-` key** — create one in the [console](https://platform.hanzo.ai) (see [API Keys](/docs/api-keys)) and paste it into the surface's settings.
|
||||
|
||||
The same key and the same identity work in every extension, add-in, and connected app. Switch orgs once and it applies everywhere.
|
||||
|
||||
@@ -37,7 +37,7 @@ The installers for these surfaces are not published — their builds are not pub
|
||||
|
||||
## Hosted & OAuth-connected apps
|
||||
|
||||
Connect these from the [console](https://console.hanzo.ai) or install the app in the target platform — no download required.
|
||||
Connect these from the [console](https://platform.hanzo.ai) or install the app in the target platform — no download required.
|
||||
|
||||
<Cards>
|
||||
<Card title="Comms" href="/docs/apps/comms" description="Slack, Zoom, Google Meet, Microsoft Teams, Zendesk" />
|
||||
|
||||
@@ -15,7 +15,7 @@ A task-pane add-in for Word, Excel and PowerPoint, and a reading-pane add-in for
|
||||
|
||||
Draft, summarize, and edit across Docs, Sheets, Slides, and Gmail — no download; connect over OAuth.
|
||||
|
||||
**Connect** — open the [console](https://console.hanzo.ai), pick **Google Workspace**, and authorize with your Google account. Hanzo then appears in the Workspace side panel across Docs, Sheets, Slides, and Gmail.
|
||||
**Connect** — open the [console](https://platform.hanzo.ai), pick **Google Workspace**, and authorize with your Google account. Hanzo then appears in the Workspace side panel across Docs, Sheets, Slides, and Gmail.
|
||||
|
||||
## PDF
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ Reach Hanzo from the tools you drive your day with.
|
||||
|
||||
Summarize matters, draft correspondence, and query your practice data inside Clio (legal practice management).
|
||||
|
||||
**Connect** — open the [console](https://console.hanzo.ai), pick **Clio**, and authorize over OAuth; Hanzo respects your Clio permissions on matters, contacts, and documents.
|
||||
**Connect** — open the [console](https://platform.hanzo.ai), pick **Clio**, and authorize over OAuth; Hanzo respects your Clio permissions on matters, contacts, and documents.
|
||||
|
||||
## Raycast
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Summarize and draft RFIs on your Procore projects.
|
||||
- **What it does** — summarize incoming RFIs and draft responses.
|
||||
- **How it connects** — Procore OAuth, scoped to the projects you authorize.
|
||||
|
||||
**Connect** — [console](https://console.hanzo.ai) → **Procore** → authorize and select the company and projects.
|
||||
**Connect** — [console](https://platform.hanzo.ai) → **Procore** → authorize and select the company and projects.
|
||||
|
||||
## QuickBooks (Finance)
|
||||
|
||||
@@ -33,7 +33,7 @@ Summarize financials and answer questions about your books.
|
||||
- **What it does** — summarize financial statements and reports.
|
||||
- **How it connects** — QuickBooks Online OAuth.
|
||||
|
||||
**Connect** — [console](https://console.hanzo.ai) → **QuickBooks** → authorize the company file over OAuth.
|
||||
**Connect** — [console](https://platform.hanzo.ai) → **QuickBooks** → authorize the company file over OAuth.
|
||||
|
||||
## Coming soon
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ chat route into the rest of `/v1`.
|
||||
## Pricing
|
||||
|
||||
- **$5 free credit** on every new account (expires in 30 days)
|
||||
- **Prepaid billing** — add credits via [console.hanzo.ai](https://console.hanzo.ai)
|
||||
- **Prepaid billing** — add credits via [platform.hanzo.ai](https://platform.hanzo.ai)
|
||||
- **Starting at $0.34/MTok** input (`zen5-flash`)
|
||||
- **No surprise bills** — service stops when credits are depleted
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ endpoints:
|
||||
## Pricing
|
||||
|
||||
- **$5 free credit** on every new account (expires in 30 days)
|
||||
- **Prepaid billing** — add credits at [console.hanzo.ai](https://console.hanzo.ai)
|
||||
- **Prepaid billing** — add credits at [platform.hanzo.ai](https://platform.hanzo.ai)
|
||||
- **$1 minimum balance** required for API calls
|
||||
- **No surprise bills** — service stops when credits are depleted
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
icon: LayoutDashboard
|
||||
title: Console
|
||||
description: The unified cloud console for Hanzo Cloud -- manage every product, key, and organization from one app at console.hanzo.ai.
|
||||
description: The Hanzo Cloud console at platform.hanzo.ai -- manage every product, key, and organization from one app.
|
||||
---
|
||||
|
||||
# Console
|
||||
@@ -17,13 +17,17 @@ The console renders from a single product catalog, so every Hanzo Cloud service
|
||||
- **Observe** -- [dashboards](/docs/openapi/o11y), cost, [billing](/docs/openapi/billing), status
|
||||
- **Deploy** -- projects, environments, functions, clusters
|
||||
|
||||
## Where It Lives
|
||||
|
||||
Your console is **[platform.hanzo.ai](https://platform.hanzo.ai)**. Sign in with your Hanzo account. console.hanzo.ai and admin.hanzo.ai are Hanzo's own staff consoles: they sign in only accounts of Hanzo's admin organization, and point everyone else to platform.hanzo.ai.
|
||||
|
||||
## Sign-In and Scope
|
||||
|
||||
The console signs in through Hanzo IAM at [hanzo.id](https://hanzo.id) as the `hanzo-cloud` application. Your session is scoped to an **organization**, and a global admin can switch scope to any org; the data re-scopes in place while brand identity stays fixed. See [IAM](/docs/openapi/iam) and [Organizations](/docs/openapi/iam).
|
||||
The console signs in through Hanzo IAM at [hanzo.id](https://hanzo.id) as the `hanzo-cloud` application. Your session is scoped to an **organization**, and a SuperAdmin can switch scope to any org; the data re-scopes in place while brand identity stays fixed. See [IAM](/docs/openapi/iam) and [Organizations](/docs/openapi/iam).
|
||||
|
||||
## How It Ships
|
||||
|
||||
The console is a single-page app embedded (`go:embed`) directly into the Hanzo Cloud binary and served at `console.hanzo.ai`. It is a pure client over the unified `/v1` backend -- it holds no database of its own; every view is real data from a service API.
|
||||
The console is a static single-page app served at `platform.hanzo.ai`. It is a pure client over the unified `/v1` backend -- it holds no database of its own; every view is real data from a service API.
|
||||
|
||||
```bash
|
||||
# The console calls the same API you can call directly, with the same key
|
||||
|
||||
@@ -23,7 +23,7 @@ dev logout # forget it
|
||||
|
||||
### A key instead of a person
|
||||
|
||||
For a machine, mint a key at **console.hanzo.ai → API keys** and hand it over on
|
||||
For a machine, mint a key at **platform.hanzo.ai → API keys** and hand it over on
|
||||
stdin, so it never lands in a file:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -78,7 +78,7 @@ If you want the model directly, it is one POST. Any language, any framework —
|
||||
the [request shape](/docs/openapi) is the widely-implemented chat-completions
|
||||
format, so a client you already have works by changing the base URL and the key.
|
||||
|
||||
Mint a key at [console.hanzo.ai](https://console.hanzo.ai) (see
|
||||
Mint a key at [platform.hanzo.ai](https://platform.hanzo.ai) (see
|
||||
[API Keys](/docs/api-keys)), then:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -23,6 +23,6 @@ a Hanzo key. The decision responses quoted in these recipes are real, from that
|
||||
runtime serving `kai` (stage a5).
|
||||
|
||||
```bash
|
||||
export HANZO_API_KEY=... # console.hanzo.ai
|
||||
export HANZO_API_KEY=... # platform.hanzo.ai
|
||||
export DECISIONS=http://127.0.0.1:8080 # decision serve
|
||||
```
|
||||
|
||||
@@ -7,7 +7,7 @@ icon: Rocket
|
||||
One key authenticates every request. `sk-` keys resolve to a user and belong on a server; `pk-` keys resolve only to an organisation and are safe in a browser.
|
||||
|
||||
```bash
|
||||
export HANZO_API_KEY=sk-... # console.hanzo.ai
|
||||
export HANZO_API_KEY=sk-... # platform.hanzo.ai
|
||||
hanzo auth login # or sign in through Hanzo IAM
|
||||
```
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ application id, and no `waitTask` between writing and reading.
|
||||
| Search over source code | `GET /v1/code/search` — lexical, symbolic and semantic tiers, fused |
|
||||
| Docsearch over public projects | `GET /v1/catalog` — the one surface here that returns facet counts |
|
||||
| Semantic retrieval over org knowledge | `POST /v1/knowledge/search` |
|
||||
| Dashboard | console.hanzo.ai |
|
||||
| Dashboard | platform.hanzo.ai |
|
||||
|
||||
## The call
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@ agentic run are the same object with different lease lengths — so its isolatio
|
||||
| Workflow `WEBHOOKS` | `POST /v1/auto/hooks/{source}/{event}` — delivers one event to the org's automation triggers |
|
||||
| `.agents/skills` and Console skills | `/.well-known/agent-skills/` and hanzo.market |
|
||||
| Company-context ETL and RLS | `/v1/sync` and `/v1/knowledge` |
|
||||
| Rails Console | [console.hanzo.ai](/docs/console) — Agents, Agent Builder, integrations, keys, org |
|
||||
| Rails Console | [platform.hanzo.ai](/docs/console) — Agents, Agent Builder, integrations, keys, org |
|
||||
| Static API keys, HS256 JWT | Hanzo IAM |
|
||||
| `overlays.sources[]` git layering | Per-org rows for tools, prompts, skills and agents, managed from the API and console |
|
||||
| Per-channel persona defaults (`SLACKBOTV2_CHANNEL_DEFAULTS`) | `PUT /v1/channel/agent` — a default agent per transport and an agent per room, set by an org admin |
|
||||
|
||||
@@ -130,7 +130,7 @@ version, populate files, finalize, then release. The static plane here is two:
|
||||
| Extensions | `/v1/provider` (56) · `/v1/connection` (8) — connectors and the providers behind them |
|
||||
| Genkit, Vertex AI in Firebase | `/v1/ai` (272) — Zen models on our own inference, `POST /v1/chat/completions` |
|
||||
| Test Lab, somewhere to run code | `/v1/sandbox` (19), `POST /v1/exec` |
|
||||
| Firebase Console | console.hanzo.ai |
|
||||
| Firebase Console | platform.hanzo.ai |
|
||||
|
||||
## The call
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ right is what answers it.
|
||||
| Event Hooks | `/v1/webhook` (8) — signing secret returned once, deliveries counted per endpoint |
|
||||
| Okta Workflows | `/v1/auto` (17) — flows, connectors, and runs you can resume |
|
||||
| Access Gateway | `/v1/ingress` (18) — routes, header middlewares and TLS in front of the app |
|
||||
| Admin Console, and acting as a tenant | console.hanzo.ai; an operator steps in with `POST /v1/iam/assume`, which keeps naming the operator |
|
||||
| Admin Console, and acting as a tenant | platform.hanzo.ai; an operator steps in with `POST /v1/iam/assume`, which keeps naming the operator |
|
||||
|
||||
`{owner}/{name}` is the address of everything in identity: the org, then the
|
||||
thing. It is why no request needs an org field, and why the second call below is
|
||||
|
||||
@@ -196,7 +196,7 @@ widget at.
|
||||
|
||||
**Replay ingests through the API and plays back in the console.** `POST
|
||||
/v1/event/replay` takes the recording — 512 KiB per batch, so a recorder chunks
|
||||
a long session — and a player in console.hanzo.ai reads the derived summary.
|
||||
a long session — and a player in platform.hanzo.ai reads the derived summary.
|
||||
Pulling a raw recording out programmatically is not an API call. A reduced Hanzo
|
||||
Team workspace token is refused here with `insufficient_capability`, because a
|
||||
full-fidelity screen recording has no safe projected form for a guest to write
|
||||
|
||||
@@ -104,7 +104,7 @@ reads the row, and neither body names an org because the key carries it.
|
||||
| `pgvector` column | `POST /v1/provisioning/vector` — a collection — plus `POST /v1/embeddings` |
|
||||
| A `match_documents()` RPC | `POST /v1/ai/rag/query` — top-K chunks for a query; `POST /v1/ai/rag/embed` indexes the file first |
|
||||
| `tsvector` full-text search | `/v1/index` (17) — `POST /v1/index/indexes/{uid}/search`, typos forgiven |
|
||||
| Studio | console.hanzo.ai |
|
||||
| Studio | platform.hanzo.ai |
|
||||
| Logs and Reports | `/v1/o11y` (381); product analytics at `/v1/event` (12) |
|
||||
| Supabase AI Assistant | `/v1/ai` (272) — Zen models and the rest of the AI surface |
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ address. Creating does not arm the flow's trigger, which is what
|
||||
| Memo attached to an execution | `metadata` on `PATCH /v1/auto/flows/{id}` — opaque JSON, stored and returned verbatim |
|
||||
| Cloud metrics, and the history you read as telemetry | `/v1/o11y` (381) |
|
||||
| Audit log | `GET /v1/audit` — your own org's trail; a resume is recorded as `automations.run.resume` |
|
||||
| Web UI | console.hanzo.ai — where the step tree is built |
|
||||
| Web UI | platform.hanzo.ai — where the step tree is built |
|
||||
| Cloud users, service accounts, API keys | `/v1/iam` (159) — `/v1/iam/service-accounts`, `/v1/iam/keys` |
|
||||
| Codec server, payloads sealed before they are stored | `/v1/kms` (5) |
|
||||
| An activity whose whole job is telling another system | `/v1/webhook` (8), signed, with a per-attempt log at `.../deliveries`; `/v1/notify` (4) for email or SMS |
|
||||
|
||||
@@ -113,7 +113,7 @@ or bring a deleted account back.
|
||||
|
||||
| WorkOS | Hanzo |
|
||||
|---|---|
|
||||
| Admin Portal (`POST /portal/generate_link`) | console.hanzo.ai — their own admin, in their own org |
|
||||
| Admin Portal (`POST /portal/generate_link`) | platform.hanzo.ai — their own admin, in their own org |
|
||||
| AuthKit hosted login | [hanzo.id](https://hanzo.id), branded by domain |
|
||||
| Magic Auth | `POST /v1/iam/send-verification-code`, then `POST /v1/iam/login` with the code |
|
||||
| MFA enrolment | `/v1/iam/mfa/setup/initiate`, then `/v1/iam/mfa/setup/enable` |
|
||||
@@ -220,7 +220,7 @@ answer is synchronous: there is nothing to assemble.
|
||||
`sso`, `dsync`, `audit_logs` — good for five minutes, and you email it to somebody
|
||||
who has no account with you. Here the customer's admin has an account: invite them
|
||||
with `POST /v1/iam/invitations`, they sign in at hanzo.id and administer their own
|
||||
org in console.hanzo.ai. Better every day after the first, worse on the first.
|
||||
org in platform.hanzo.ai. Better every day after the first, worse on the first.
|
||||
|
||||
**No SCIM Groups.** The directory provisions people and only people:
|
||||
`/v1/iam/scim/v2/Users` with nothing beside it. WorkOS's `directory_group` and its
|
||||
|
||||
@@ -188,5 +188,5 @@ languages. See [Engineering Philosophy](/docs/architecture/philosophy) for the *
|
||||
## Resources
|
||||
|
||||
- [GitHub](https://github.com/hanzoai) — source code and open-source projects
|
||||
- [console.hanzo.ai](https://console.hanzo.ai) — dashboard and API keys
|
||||
- [platform.hanzo.ai](https://platform.hanzo.ai) — dashboard and API keys
|
||||
- [hips.hanzo.ai](https://hips.hanzo.ai) — Hanzo Improvement Proposals
|
||||
|
||||
@@ -57,7 +57,7 @@ provider, and stores the resulting credential locally. `hanzo auth show` prints
|
||||
who you are; `hanzo auth list` shows every identity on this machine and
|
||||
`hanzo auth use` switches between them.
|
||||
|
||||
For a server, mint a key instead of logging a person in: **console.hanzo.ai →
|
||||
For a server, mint a key instead of logging a person in: **platform.hanzo.ai →
|
||||
API keys**. A secret key resolves to *you*, so it belongs on a server and never
|
||||
in a browser — [Authentication](/docs/api-keys) is the whole rule.
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ Earnings accrue continuously and settle on the 1st of each month for balances ex
|
||||
|
||||
## How to Join
|
||||
|
||||
1. Sign in to your account at [console.hanzo.ai](https://console.hanzo.ai).
|
||||
1. Sign in to your account at [platform.hanzo.ai](https://platform.hanzo.ai).
|
||||
2. Open **Settings → Affiliates**.
|
||||
3. Choose your custom vanity code (e.g. `yourname`) and click **Generate Link**.
|
||||
4. Share your link in project documentation, blogs, videos, and tutorials.
|
||||
|
||||
@@ -27,7 +27,7 @@ You need:
|
||||
|
||||
## 1. Sign up
|
||||
|
||||
Go to [hanzo.id](https://hanzo.id) and sign in with email, GitHub, Google, or wallet. The first user to sign up under your domain becomes the owner. You are redirected to [console.hanzo.ai](https://console.hanzo.ai).
|
||||
Go to [hanzo.id](https://hanzo.id) and sign in with email, GitHub, Google, or wallet. The first user to sign up under your domain becomes the owner. You are redirected to [platform.hanzo.ai](https://platform.hanzo.ai).
|
||||
|
||||
See [Getting Started](/docs/guides) for the per-method details.
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ methods are spelled differently. The source lives at
|
||||
Set the key:
|
||||
|
||||
```bash
|
||||
export HANZO_API_KEY="sk-..." # from console.hanzo.ai
|
||||
export HANZO_API_KEY="sk-..." # from platform.hanzo.ai
|
||||
```
|
||||
|
||||
## The shape
|
||||
|
||||
@@ -34,7 +34,7 @@ already says which service and which document a symbol came from. Import from
|
||||
Set the key once:
|
||||
|
||||
```bash
|
||||
export HANZO_API_KEY="sk-..." # from console.hanzo.ai
|
||||
export HANZO_API_KEY="sk-..." # from platform.hanzo.ai
|
||||
```
|
||||
|
||||
## The shape
|
||||
|
||||
@@ -18,7 +18,7 @@ For calling the API, you want `hanzo-client`. The library name is
|
||||
|
||||
```bash
|
||||
cargo add hanzo-client tokio --features tokio/full
|
||||
export HANZO_API_KEY="sk-..." # from console.hanzo.ai
|
||||
export HANZO_API_KEY="sk-..." # from platform.hanzo.ai
|
||||
```
|
||||
|
||||
## The shape
|
||||
|
||||
@@ -24,7 +24,7 @@ hanzoai` gives you the client; you do not need both for the client.
|
||||
Set the key once:
|
||||
|
||||
```bash
|
||||
export HANZO_API_KEY="sk-..." # from console.hanzo.ai
|
||||
export HANZO_API_KEY="sk-..." # from platform.hanzo.ai
|
||||
```
|
||||
|
||||
## `@hanzo/ai` — inference and agents
|
||||
|
||||
@@ -24,7 +24,7 @@ The program is built for **venture-backed startups with tier-1 VC backing**. App
|
||||
|
||||
- Institutional funding from a recognized (tier-1) venture firm or accelerator.
|
||||
- An active build on -- or a concrete plan to build on -- Hanzo Cloud.
|
||||
- An account in good standing at [console.hanzo.ai](https://console.hanzo.ai).
|
||||
- An account in good standing at [platform.hanzo.ai](https://platform.hanzo.ai).
|
||||
|
||||
<Callout title="Techstars companies">
|
||||
Hanzo AI is a Techstars '17 company. Techstars-backed startups qualify for **custom perks** on top of the standard award -- mention your Techstars affiliation in your application.
|
||||
@@ -32,7 +32,7 @@ Hanzo AI is a Techstars '17 company. Techstars-backed startups qualify for **cus
|
||||
|
||||
## How to Apply
|
||||
|
||||
1. **Create your account.** Sign up at [console.hanzo.ai](https://console.hanzo.ai) and claim your $5 in free trial credits.
|
||||
1. **Create your account.** Sign up at [platform.hanzo.ai](https://platform.hanzo.ai) and claim your $5 in free trial credits.
|
||||
2. **Apply.** Submit your startup at **[hanzo.ai/startups](https://hanzo.ai/startups)** with your company, funding, and what you are building.
|
||||
3. **Get reviewed.** The team reviews applications and confirms your tier and award.
|
||||
4. **Build.** Approved credits are added to your organization's balance and draw down automatically as you use the API. Track them in the console's [Usage & Billing](/docs/openapi/billing) views.
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ hanzo run n8n
|
||||
|
||||
### Via Console
|
||||
|
||||
Browse the catalog at [console.hanzo.ai/store](https://console.hanzo.ai/store), select your project, configure environment variables, and click **Deploy**.
|
||||
Browse the catalog at [platform.hanzo.ai/store](https://platform.hanzo.ai/store), select your project, configure environment variables, and click **Deploy**.
|
||||
|
||||
## Open Source Partner Program
|
||||
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ Hanzo Cloud commits **25% of all cloud spend** generated by open-source workload
|
||||
Even if an open-source maintainer has not yet joined the partner program or linked a payout destination:
|
||||
1. **Automated Attribution**: Template and dependency attribution engines tag deployments with the upstream GitHub repository or package coordinates.
|
||||
2. **Escrow Safeguard**: 25% of metered platform spend is set aside into an immutable escrow ledger with status `held`.
|
||||
3. **Claiming Funds**: When the verified author connects their GitHub organization and registers a wallet or payout account via [console.hanzo.ai/authors](https://console.hanzo.ai/authors), all accumulated escrowed funds transition from `held` to `queued` and settle during the next payment cycle.
|
||||
3. **Claiming Funds**: When the verified author connects their GitHub organization and registers a wallet or payout account via [platform.hanzo.ai/authors](https://platform.hanzo.ai/authors), all accumulated escrowed funds transition from `held` to `queued` and settle during the next payment cycle.
|
||||
|
||||
## Settlement & Multi-Rail Payouts
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Console onboarding
|
||||
description: Connect your AI accounts at console.hanzo.ai and read the unified usage dashboard.
|
||||
description: Connect your AI accounts at platform.hanzo.ai and read the unified usage dashboard.
|
||||
---
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ across the `dev` CLI, Hanzo Desktop, hanzo.app, and hanzo.chat.
|
||||
<Step>
|
||||
### Open AI Accounts
|
||||
|
||||
Sign in to [console.hanzo.ai](https://console.hanzo.ai) and open the
|
||||
Sign in to [platform.hanzo.ai](https://platform.hanzo.ai) and open the
|
||||
**AI Accounts** section (`/ai-accounts`).
|
||||
</Step>
|
||||
<Step>
|
||||
|
||||
@@ -10,7 +10,7 @@ index: true
|
||||
**Hanzo Usage** is the universal AI connector and usage plane. Link your AI
|
||||
provider accounts once, then see unified usage — rate limits, resets, credits,
|
||||
and spend — everywhere Hanzo runs: the `dev` CLI, Hanzo Desktop, hanzo.app,
|
||||
hanzo.chat, and [console.hanzo.ai](https://console.hanzo.ai).
|
||||
hanzo.chat, and [platform.hanzo.ai](https://platform.hanzo.ai).
|
||||
|
||||
## The story
|
||||
|
||||
@@ -44,7 +44,7 @@ and web apps, and the console.
|
||||
/>
|
||||
<Card
|
||||
title="Console onboarding"
|
||||
description="Connect accounts at console.hanzo.ai → AI Accounts"
|
||||
description="Connect accounts at platform.hanzo.ai → AI Accounts"
|
||||
href="/docs/usage/console"
|
||||
/>
|
||||
<Card
|
||||
|
||||
@@ -24,7 +24,7 @@ reserving frontier models for the hardest prompts — can cut API spend
|
||||
<Step>
|
||||
### Cloud — toggle in the console
|
||||
|
||||
On [console.hanzo.ai](https://console.hanzo.ai), open **AI Accounts**
|
||||
On [platform.hanzo.ai](https://platform.hanzo.ai), open **AI Accounts**
|
||||
(`/ai-accounts`) and turn on **Smart routing**. That is all cloud users need —
|
||||
requests with `model: "auto"` start routing immediately.
|
||||
</Step>
|
||||
@@ -143,7 +143,7 @@ Content-Type: application/json
|
||||
Smart routing is a Hanzo Cloud feature, so it is available everywhere Hanzo
|
||||
runs. Turn it on per surface:
|
||||
|
||||
- **Console** — [console.hanzo.ai/ai-accounts](https://console.hanzo.ai/ai-accounts) → **Smart routing**
|
||||
- **Console** — [platform.hanzo.ai/ai-accounts](https://platform.hanzo.ai/ai-accounts) → **Smart routing**
|
||||
- **hanzo.chat** — Settings → Model → **Auto (smart routing)**
|
||||
- **Hanzo Desktop** — Settings → Model → **Auto**
|
||||
- **hanzo.app** — Settings → Model → **Auto**
|
||||
|
||||
@@ -291,5 +291,5 @@ If a check fails, diagnose and fix it before reporting completion.
|
||||
- Hanzo MCP source: \`https://github.com/hanzoai/mcp\`
|
||||
- Hanzo Dev installation: \`https://docs.hanzo.ai/docs/dev/getting-started/install\`
|
||||
- Hanzo Dev MCP commands: \`https://docs.hanzo.ai/docs/dev/reference/cli\`
|
||||
- Hanzo Console: \`https://console.hanzo.ai\`
|
||||
- Hanzo Console: \`https://platform.hanzo.ai\`
|
||||
`;
|
||||
|
||||
@@ -383,7 +383,7 @@ Insights.capture('button_clicked', {
|
||||
<FooterColumn title="Hanzo" links={[
|
||||
{ text: 'Hanzo AI', href: 'https://hanzo.ai', external: true },
|
||||
{ text: 'Hanzo Chat', href: 'https://hanzo.chat', external: true },
|
||||
{ text: 'Hanzo Console', href: 'https://console.hanzo.ai', external: true },
|
||||
{ text: 'Hanzo Console', href: 'https://platform.hanzo.ai', external: true },
|
||||
{ text: 'Hanzo Analytics', href: 'https://analytics.hanzo.ai', external: true },
|
||||
]} />
|
||||
</div>
|
||||
@@ -451,7 +451,7 @@ const SDKS = [
|
||||
const ECOSYSTEM = [
|
||||
{ title: 'Hanzo Analytics', description: 'Lightweight privacy-first web analytics. Script-based page tracking without cookies.', href: 'https://analytics.hanzo.ai', cta: 'View Analytics' },
|
||||
{ title: 'Hanzo Chat', description: 'Chat over 14 Zen models, with outside models and MCP tools on the same key.', href: 'https://hanzo.chat', cta: 'Open Chat' },
|
||||
{ title: 'Hanzo Console', description: 'LLM observability, API key management, and usage analytics for AI applications.', href: 'https://console.hanzo.ai', cta: 'Open Console' },
|
||||
{ title: 'Hanzo Console', description: 'LLM observability, API key management, and usage analytics for AI applications.', href: 'https://platform.hanzo.ai', cta: 'Open Console' },
|
||||
{ title: 'Hanzo Flow', description: 'Visual workflow builder for AI pipelines. Connect models, tools, and data sources.', href: 'https://flow.hanzo.ai', cta: 'Try Flow' },
|
||||
];
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ export default function DynamicPricing() {
|
||||
<li className="flex items-center gap-2"><Star className="h-3.5 w-3.5 text-fd-primary" /> OpenAI-compatible API</li>
|
||||
<li className="flex items-center gap-2"><Star className="h-3.5 w-3.5 text-fd-primary" /> 30-day expiry</li>
|
||||
</ul>
|
||||
<a href="https://console.hanzo.ai" target="_blank" rel="noopener noreferrer"
|
||||
<a href="https://platform.hanzo.ai" target="_blank" rel="noopener noreferrer"
|
||||
className="mt-6 block text-center rounded-lg bg-fd-primary px-4 py-2.5 text-sm font-medium text-fd-primary-foreground hover:opacity-90 transition">
|
||||
Get Started Free
|
||||
</a>
|
||||
@@ -146,7 +146,7 @@ export default function DynamicPricing() {
|
||||
<li className="flex items-center gap-2"><Star className="h-3.5 w-3.5 text-fd-primary" /> Real-time usage tracking</li>
|
||||
<li className="flex items-center gap-2"><Star className="h-3.5 w-3.5 text-fd-primary" /> No surprise bills</li>
|
||||
</ul>
|
||||
<a href="https://console.hanzo.ai" target="_blank" rel="noopener noreferrer"
|
||||
<a href="https://platform.hanzo.ai" target="_blank" rel="noopener noreferrer"
|
||||
className="mt-6 block text-center rounded-lg border border-fd-border px-4 py-2.5 text-sm font-medium hover:bg-fd-muted transition">
|
||||
Add Credits
|
||||
</a>
|
||||
|
||||
@@ -70,7 +70,7 @@ export default function HomePage() {
|
||||
className="rounded-full border border-fd-border px-3 py-1 hover:bg-fd-muted transition text-fd-muted-foreground hover:text-fd-foreground">
|
||||
Hanzo App
|
||||
</a>
|
||||
<a href="https://console.hanzo.ai" target="_blank" rel="noopener noreferrer"
|
||||
<a href="https://platform.hanzo.ai" target="_blank" rel="noopener noreferrer"
|
||||
className="rounded-full border border-fd-border px-3 py-1 hover:bg-fd-muted transition text-fd-muted-foreground hover:text-fd-foreground">
|
||||
API Console
|
||||
</a>
|
||||
@@ -322,7 +322,7 @@ print(r.choices[0].message.content)`}</code></pre>
|
||||
</p>
|
||||
|
||||
<div className="flex flex-wrap gap-4 items-center">
|
||||
<a href="https://console.hanzo.ai" target="_blank" rel="noopener noreferrer"
|
||||
<a href="https://platform.hanzo.ai" target="_blank" rel="noopener noreferrer"
|
||||
className="inline-flex items-center gap-2 rounded-xl bg-fd-primary px-6 py-2.5 text-sm font-semibold text-fd-primary-foreground hover:opacity-90 transition">
|
||||
Get API key
|
||||
</a>
|
||||
@@ -362,7 +362,7 @@ print(r.choices[0].message.content)`}</code></pre>
|
||||
className="inline-flex items-center justify-center gap-2.5 rounded-2xl border border-fd-border px-8 py-4 text-base font-semibold hover:bg-fd-muted transition">
|
||||
<Download className="h-5 w-5" /> Download weights
|
||||
</a>
|
||||
<a href="https://console.hanzo.ai" target="_blank" rel="noopener noreferrer"
|
||||
<a href="https://platform.hanzo.ai" target="_blank" rel="noopener noreferrer"
|
||||
className="inline-flex items-center justify-center gap-2.5 rounded-2xl border border-fd-border px-8 py-4 text-base font-semibold hover:bg-fd-muted transition">
|
||||
<Terminal className="h-5 w-5" /> Get API key
|
||||
</a>
|
||||
@@ -443,7 +443,7 @@ print(r.choices[0].message.content)`}</code></pre>
|
||||
]} />
|
||||
<FooterColumn title="Build" links={[
|
||||
{ text: 'API reference', href: '/docs/api' },
|
||||
{ text: 'Get API key', href: 'https://console.hanzo.ai', external: true },
|
||||
{ text: 'Get API key', href: 'https://platform.hanzo.ai', external: true },
|
||||
{ text: 'Python SDK', href: 'https://github.com/hanzoai/python-sdk', external: true },
|
||||
{ text: 'Pricing', href: '/docs/api/pricing' },
|
||||
]} />
|
||||
|
||||
@@ -178,7 +178,7 @@ If you disagree with a rejection decision, you can appeal via the ZIPs process.
|
||||
|
||||
If you have data to contribute:
|
||||
|
||||
1. [Create a Hanzo account](https://console.hanzo.ai) if you don't have one
|
||||
1. [Create a Hanzo account](https://platform.hanzo.ai) if you don't have one
|
||||
2. `pip install hanzoai`
|
||||
3. [Read the data format guide](https://zenlm.org/docs/training/overview)
|
||||
4. Submit your first batch
|
||||
|
||||
@@ -16,7 +16,7 @@ Hanzo AI builds the infrastructure layer: the AI API, the API, the tooling devel
|
||||
|
||||
Hanzo productizes Zen models for real-world use:
|
||||
|
||||
- **[console.hanzo.ai](https://console.hanzo.ai)**: API access with an OpenAI-compatible endpoint, per-token billing, enterprise SLA
|
||||
- **[platform.hanzo.ai](https://platform.hanzo.ai)**: API access with an OpenAI-compatible endpoint, per-token billing, enterprise SLA
|
||||
- **[hanzo.chat](https://hanzo.chat)**: Consumer interface — try any Zen model free, no account required
|
||||
- **AI API** ([api.hanzo.ai](https://api.hanzo.ai)): Zen models served first-party, with outside models reachable on the same host and key
|
||||
|
||||
@@ -92,7 +92,7 @@ No single organization controls Zen. The weights, once released, are permanent.
|
||||
|
||||
## Get Involved
|
||||
|
||||
- **Use the models**: [hanzo.chat](https://hanzo.chat) (free) or [console.hanzo.ai](https://console.hanzo.ai) (API)
|
||||
- **Use the models**: [hanzo.chat](https://hanzo.chat) (free) or [platform.hanzo.ai](https://platform.hanzo.ai) (API)
|
||||
- **Download weights**: [huggingface.co/zenlm](https://huggingface.co/zenlm)
|
||||
- **Contribute to research**: [zoo.ngo](https://zoo.ngo) — submit ZIPs, join working groups, contribute compute
|
||||
- **Build on the infrastructure**: [github.com/hanzoai](https://github.com/hanzoai) — training gym, evaluation tools, model code
|
||||
|
||||
@@ -6,7 +6,7 @@ author: "Zen LM Team"
|
||||
tags: ["Announcement", "Open-Source", "Zen LM"]
|
||||
---
|
||||
|
||||
[TRY HANZO.CHAT](https://hanzo.chat) [DOWNLOAD WEIGHTS](https://huggingface.co/zenlm) [API ACCESS](https://console.hanzo.ai)
|
||||
[TRY HANZO.CHAT](https://hanzo.chat) [DOWNLOAD WEIGHTS](https://huggingface.co/zenlm) [API ACCESS](https://platform.hanzo.ai)
|
||||
|
||||
Today we are releasing **Zen LM**: a family of 100+ open-weight models spanning text, code, vision, audio, embeddings, and safety. Every weight file is Apache 2.0. You can download them, run them locally, fine-tune them, and deploy them commercially — no royalty, no permission request, no vendor lock.
|
||||
|
||||
@@ -80,7 +80,7 @@ APIs can disappear. Weights are permanent.
|
||||
|
||||
**Try it free:** [hanzo.chat](https://hanzo.chat) — no account required, 14 Zen models in one interface.
|
||||
|
||||
**API access:** [console.hanzo.ai](https://console.hanzo.ai) — OpenAI-compatible endpoint, per-token billing, all Zen models available.
|
||||
**API access:** [platform.hanzo.ai](https://platform.hanzo.ai) — OpenAI-compatible endpoint, per-token billing, all Zen models available.
|
||||
|
||||
**Download weights:** [huggingface.co/zenlm](https://huggingface.co/zenlm) — full catalog, all variants, Apache 2.0.
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ https://api.hanzo.ai/v1
|
||||
|
||||
## Authentication
|
||||
|
||||
All API requests require a `HANZO_API_KEY` (prefix: `sk-`) obtained from [console.hanzo.ai](https://console.hanzo.ai).
|
||||
All API requests require a `HANZO_API_KEY` (prefix: `sk-`) obtained from [platform.hanzo.ai](https://platform.hanzo.ai).
|
||||
|
||||
```bash
|
||||
Authorization: Bearer $HANZO_API_KEY
|
||||
|
||||
@@ -5,7 +5,7 @@ description: Zen LM API pricing -- per-token rates, published for every model
|
||||
|
||||
# Pricing
|
||||
|
||||
All pricing is **per 1 million tokens**. Every model's rate is published below and in the [console](https://console.hanzo.ai). Pay only for what you use.
|
||||
All pricing is **per 1 million tokens**. Every model's rate is published below and in the [console](https://platform.hanzo.ai). Pay only for what you use.
|
||||
|
||||
## Free Credit
|
||||
|
||||
@@ -40,7 +40,7 @@ it.
|
||||
|
||||
## Billing
|
||||
|
||||
- **Prepaid**: Add credits via [console.hanzo.ai](https://console.hanzo.ai)
|
||||
- **Prepaid**: Add credits via [platform.hanzo.ai](https://platform.hanzo.ai)
|
||||
- **Minimum balance**: $1.00 required to make API calls
|
||||
- **Usage tracking**: Real-time usage visible in console
|
||||
- **No surprise bills**: Service stops when credits are depleted
|
||||
@@ -51,7 +51,7 @@ it.
|
||||
|
||||
## Get Started
|
||||
|
||||
1. Create an account at [console.hanzo.ai](https://console.hanzo.ai)
|
||||
1. Create an account at [platform.hanzo.ai](https://platform.hanzo.ai)
|
||||
2. Your **$5 free credit** is applied automatically
|
||||
3. Generate an API key (prefix: `sk-`)
|
||||
4. Start making requests to `https://api.hanzo.ai/v1`
|
||||
|
||||
@@ -27,7 +27,7 @@ response = client.chat.completions.create(
|
||||
print(response.choices[0].message.content)
|
||||
```
|
||||
|
||||
Get your API key at [console.hanzo.ai](https://console.hanzo.ai) — every new account gets **$5 free credit**.
|
||||
Get your API key at [platform.hanzo.ai](https://platform.hanzo.ai) — every new account gets **$5 free credit**.
|
||||
|
||||
## Transformers
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ description: Zen LM by Hanzo AI -- frontier models for code, reasoning, vision,
|
||||
## Quick Start
|
||||
|
||||
Zen models are served at `https://api.hanzo.ai/v1`. Get a key from the
|
||||
[console](https://console.hanzo.ai), then:
|
||||
[console](https://platform.hanzo.ai), then:
|
||||
|
||||
```bash
|
||||
curl https://api.hanzo.ai/v1/chat/completions \
|
||||
|
||||
@@ -724,7 +724,7 @@ main().catch((err) => {
|
||||
}
|
||||
if (err instanceof InsufficientBalanceError) {
|
||||
console.error(`Insufficient balance: ${err.balance}`);
|
||||
console.error('Add credits at https://console.hanzo.ai/billing');
|
||||
console.error('Add credits at https://platform.hanzo.ai/billing');
|
||||
process.exit(1);
|
||||
}
|
||||
if (err instanceof ZtError) {
|
||||
|
||||
Reference in New Issue
Block a user