Start

Admin login

Admin is not “any API key.” The dashboard only accepts a credential with the admin permission (or an auth.admin_keys entry). Dev compose often skips login entirely — that is intentional, and it is why this feels confusing later.

Public sandbox: getrunkite.com/admin is a live plane. Shared key is on the product page.

What it is

Open http://<host>:2026/admin/. If auth is off, you land straight in Overview. If auth is on, you paste an API key or JWT into API key / JWT and sign in. The browser keeps an httpOnly session cookie — the raw key is not stored in JavaScript.

Why it is here

Every /admin-api/* route sees across tenants. Read/write client keys must not open that surface. Operators need an explicit admin credential, configured in langgraph.json (or Helm values), not invented by the UI.

When login is skipped

What to put in config

Give the operator key admin (plus read/write if it also calls client APIs):

{
  "auth": {
    "type": "api_key",
    "strict_permissions": true,
    "keys": {
      "sk-ops-admin": {
        "name": "platform-ops",
        "permissions": ["read", "write", "admin"],
        "tenant_id": "default"
      },
      "sk-app-client": {
        "name": "backend-service",
        "permissions": ["read", "write"],
        "tenant_id": "default"
      }
    }
  }
}

Or keep client keys read/write-only and add Admin-only break-glass keys:

"auth": {
  "type": "api_key",
  "keys": { ... },
  "admin_keys": {
    "sk-break-glass": "oncall"
  }
}

admin_keys are accepted only on /admin-api/* and always imply admin.

How to log in

  1. Deploy with auth enabled (Helm sets RUNKITE_API_KEY into a key that includes admin — see chart README).
  2. Open Admin → you should see the login card: “Sign in with an API key or JWT that has the admin permission.”
  3. Paste sk-ops-admin (or your JWT / admin_keys secret). Submit.
  4. You land on Overview. Session cookie + CSRF protect mutating calls.

In the product

Gated Admin — paste an API key or JWT that includes admin
Runkite Admin login form requiring admin permission
After a successful login — Admin Overview (cross-tenant ops surface)
Runkite Admin Overview after login

What to expect

Reference: docs/admin.md · docs/auth.md · Credentials map · Production day-0