npm i -g apiblaze · or just npx

The whole platform, from your terminal

Chat with any API, ship a proxy in one command, sidecar a Next.js app, tunnel localhost — and manage every setting, tenant, group and domain without leaving the shell.

  • No signup for apichat, create, init or dev
  • Node 18+ — works with npx, no install
  • Scriptable with --json · add --verbose to see the exact API calls
npx apiblaze apichat

$ npx apiblaze apichat --openapi pokeapi_openapi.yaml

✓ proxy live → https://pokeapi4821.tryabz.run/1.0.0/prod

✓ MCP server → pokeapi4821.mcp.apiblaze.com

you what types is ditto?

GET /api/v2/pokemon/ditto → 200 64ms

agent Ditto is a Normal-type Pokémon.

you

60-second quickstart

# 1 — chat with any API (spec in, chat out — no signup)

$ npx apiblaze apichat --openapi https://…/openapi.yaml

# 2 — or just put a proxy in front of any URL

$ npx apiblaze create --target https://api.example.com

# 3 — building a Next.js app? sidecar it

$ npx apiblaze init

# 4 — claim everything to your account when ready

$ npx apiblaze login && npx apiblaze claim

Command reference

Grouped exactly like apiblaze --help. Every command supports --help and most support --verbose.

Chat

Talk to your API — and chat your way to configuration.

$ npx apiblaze apichat --openapi <file|url>

Turn any API into a chat: point at an OpenAPI spec (or just --target and let it discover the spec) and start asking questions. No login needed — it creates a live proxy + MCP server (Claude/ChatGPT-connectable via GitHub sign-in), then every answer shows the real call it made. Logged in, access defaults to invite-only (just you + emails you pre-approve); anonymous proxies stay open.

--target <url>--environment <env>--access open|invite--target-auth-env <ENV_VAR>--no-verbose-y
$ npx apiblaze agent

Chat with an assistant that builds and runs your APIs — describe what you want and it makes the calls (billed per turn).

--team <id|name>
$ npx apiblaze agent openapi <project>

Interactive OpenAPI designer. Reviews captured traffic, proposes spec patches, then /publish — or opens a GitHub PR back to your repo.

$ npx apiblaze agent authz <project>

Interactive access-rules designer. Drafts who-can-do-what rules per route; publishes watch-only, /enable to enforce.

$ npx apiblaze agent mcp <project>

Interactive MCP catalogue designer. Pick which routes become tools, then /publish to {project}-{tenant}.mcp.apiblaze.com.

--environment <env>
$ npx apiblaze llm set-key

Optional: store your own LLM provider key locally (OpenRouter / Anthropic / DeepSeek / OpenAI) — lifts chat model quality, bills your key.

llm showllm clear-key

Setup

Live in one command — no signup needed.

$ npx apiblaze create --target https://api.example.com

Create a proxy — no login needed. It works immediately and prints your live endpoint, API keys, and a claim link: open that link later to create an account and keep the proxy (otherwise it’s cleaned up after 72h with no traffic).

--name--auth none|api_key|oauth--identified--iam--apiversion <v>--product <slug>--config <file.json>--json
$ npx apiblaze init

Set up the sidecar in a Next.js app: every external call your app makes surfaces in the dev console; approve one and it routes through APIblaze with zero code changes.

--dir <path>--no-inspector--rotate-y
$ npx apiblaze sidecar approve <origin>

Route an origin through APIblaze (creates its proxy). deny dismisses a candidate; remove un-routes it and deletes the proxy.

sidecar deny <origin>sidecar remove <origin>--json
$ npx apiblaze dev 3000

Put your localhost behind a public URL and stream every request in real time. Auto-creates a proxy if you don’t have one; captures requests even before your server is up.

-p, --port <n>-o, --capture-file <path>
$ npx apiblaze login

Device-flow login (via GitHub). Opens your browser, stores your token and active team.

$ npx apiblaze claim [code]

Keep what you built while logged out: attaches those proxies (and their keys & settings) to your account. Omit the code on the machine you created them from; --team puts them in an existing team instead of a new one.

--team <id|name>--name <team name>--json
$ npx apiblaze team [name|id]

Switch the active team (prompts if you have more than one).

$ npx apiblaze whoami

Show who you are — both API Producer and API Consumer identities — plus active team and token expiry.

--json
$ npx apiblaze logout

Sign out (asks whether to drop the Producer or Consumer login).

--producer--consumer--all

Control plane

Managing what you built: settings, customer workspaces (tenants), groups, domains.

$ npx apiblaze config [project] [key] [value]

Browse and change EVERY proxy setting & feature — interactive menu with no arguments, git-config-style get/set with them (e.g. config myapi throttling.proxyQuota 10000). Works logged-out to explore.

--list--apiversion <v>--json
$ npx apiblaze projects

List every project in your active team.

$ npx apiblaze tenant

Manage tenants — the workspaces your consumers live in. Bare command opens the interactive picker (settings, app clients, providers).

tenant listtenant createtenant managetenant usetenant attach <project>tenant corstenant delete <slug>
$ npx apiblaze group

Manage a tenant’s users & groups — create, nest a group inside a group, add users. Bare command lists groups; group users shows the directory + identities seen in traffic.

group create <name>group add-user <user> <group>group add-group <child> <parent>group members <name>group users
$ npx apiblaze admins add <email> --tenant <slug>

Crown a tenant’s admins for the Users & Groups widget — the widget authorizes the signed-in user and seals its admin list, so the FIRST admin is seeded here by the key holder. Accepts the widget’s tenant ref (e.g. nino) or the real tenant name.

admins list --tenant <slug>admins remove <email> --tenant <slug>--json
$ npx apiblaze iam <project> on|off

Turn users & groups on for a proxy’s tenant: identified calls (X-End-User-Id, a login token, or a per-user key) get their user’s groups applied — group rules and per-user limits take effect. Off = calls pass with no group resolution.

--tenant <name>--apiversion <v>--json
$ npx apiblaze identified <project> require|allow-anon

Require every call to say which person it’s for. require rejects unattributed calls loudly (403) instead of silently passing them with no groups — the credential says which app is calling; identity says which person it acts for. allow-anon lifts it.

--apiversion <v>--json
$ npx apiblaze preapprove <email|domain>

Allow someone to sign in to an access-restricted API — one email (someone@acme.com) or a whole company domain (acme.com = anyone @acme.com). Rules are tenant-wide and pair with an API set to “pre-approved users only” (the same control as apichat’s invite mode). --list shows the allow-list; --remove drops an entry.

--list--remove--group <names...>--tenant <slug>
$ npx apiblaze rule "<plain English>" <project>

Write an access rule in one shot — e.g. "users see only their own rows". Starts watch-only (reports what it would block, blocks nothing); --enforce turns it on (billed per turn).

--enforce--apiversion <v>
$ npx apiblaze domain add <project>

Use your own domain: add shows the DNS records to set; status tracks validation & TLS; set-base picks which version/environment your main URL serves.

domain listdomain statusdomain rmdomain set-base
$ npx apiblaze target <project> --url <url>

Change where a proxy forwards requests — per environment with --env.

--env <env>--apiversion <v>--json
$ npx apiblaze throttle <project>

Set rate limits and quotas: per-user and per-end-user requests/second, plus a proxy-wide quota.

--rate <n>--end-user-rate <n>--quota <n>--period daily|weekly|monthly
$ npx apiblaze spec get <project>

Print the current OpenAPI document; spec set replaces it from a local file. (To build one by chatting: apiblaze agent openapi.)

spec set <project>
$ npx apiblaze rename <project> --display-name <name>

Change a proxy’s display name.

$ npx apiblaze export <project> --kong

Migrate out: export config and data as a runnable Kong OSS bundle (decK config + plugins + docker-compose). Consumers keep their existing keys via hash export.

--data--keys hashes|mint|none--secrets--no-consumers-o <file>
$ npx apiblaze delete <project>

Delete a proxy and everything under it (asks first).

-y--json

Data plane

Act as a consumer of your own (or anyone’s) API.

$ npx apiblaze consumer login

Log in to a tenant’s portal as a consumer (device flow).

$ npx apiblaze consumer apikeys

List your consumer API keys (reveals expiring ones), then offer to create one.

$ npx apiblaze consumer tokens

Show the logged-in consumer access / refresh / id tokens.

Try it right now

$ npx apiblaze apichat --openapi https://…