jnk_ and work everywhere, the SDK, the CLI, MCP clients, and direct REST calls.
Use them for: agents, scripts, CI/CD, server-side apps, MCP clients without OAuth support.
Don’t use them for: end-user-facing OAuth flows in MCP clients that support DCR (Claude Desktop, ChatGPT, Cursor, Codex, Openclaw).
Get a key
There are two ways to get a key. If an AI coding agent is doing the work, it can mint the key itself — it does not need a human to visit the dashboard.- AI coding agent (MCP)
- Dashboard (human)
Works with any MCP-capable coding agent — Claude Code, Codex, Cursor, Openclaw,
Lovable, Replit, opencode, and others. Add the Jinko platform MCP server and call
its Add it the way your agent adds any remote MCP server: a CLI command
(The same MCP also serves these docs (
get_api_key tool:claude mcp add --transport http jinko-platform <url>), an entry in the client’s
MCP config, or — on hosted builders like Lovable and Replit — by pasting the URL
into their integrations UI.The user signs in once through their browser (OAuth). get_api_key then bootstraps
their organization and tenant if they don’t exist yet and returns a jnk_ key,
together with connection instructions for the REST API, SDK, CLI, and booking MCP.The key you get this way is an ordinary server-to-server key. Wire it into the
backend you’re building — it is not limited to chat or to the MCP session that
minted it. There is no need to send the user to the dashboard or to ask them to
paste a key.
search_docs, get_doc, get_openapi), so an
agent can go from “no account” to a working integration without leaving the session.Use a key
- SDK
- CLI
- MCP (any client)
- REST (curl / any HTTP client)
export JINKO_API_KEY=jnk_... and call createJinkoClient() with no args.Sandbox keys
Jinko runs two isolated environments: production and sandbox (test the full flow without touching prod data). They use separate keys: ajnk_ key is scoped to the environment it was created in and won’t authenticate against the other. Generate a sandbox key from the dashboard, then point your client at the matching base URL:
The CLI and SDK have built-in environment switching (they store the two keys separately); for REST/MCP just use the sandbox URL above with your sandbox key.
Rotation
If a key leaks (committed to git, posted in chat, etc.):- Create a new key in the dashboard.
- Update your scripts / env / config to use the new key.
- Delete the old key in the dashboard. Anything still using it stops working immediately.
Quotas
Free tier: 1,000 requests / 30 days, per key. Quota counters are per key, splitting work across multiple keys doesn’t help. Need more? Email dev@gojinko.com with your use case and we’ll bump it.Common failures
For
4xx debugging, also check the response body, Jinko returns a structured error object with a code and message. See Errors & troubleshooting.