/DOCS · GETTING-STARTED

Your first day with
CipherRun

Four ordered steps from Stripe checkout to a confirmed execution — no other docs required.

→ Start the walkthrough
STEP 1

Claim your workspace

Your Stripe subscription creates the workspace automatically — the same email address you checked out with is your admin login. When the provisioning webhook fires, CipherRun sends a magic-link email from hello@polsia.app so you can sign in without a password.

Open /login and request a fresh link if the original invite expired or never landed — the link is valid for 15 minutes and single-use.

Need help? Reply to the provisioning email — it goes straight to the founder.

STEP 2

Create your first API key

Open /admin/apikeys, click Generate key, and copy the plaintext — we only show it once. The plaintext you copy should look like the placeholder below (yours will have a real workspace ID after the cr_ws_ prefix):

cr_ws_REPLACE_WITH_YOUR_KEY_HERE…

Lost it? Mint a new one — the SHA-256 hash is what we store, so the plaintext is unrecoverable.

STEP 3

Confirm your key works — GET /api/v1/me

Before you trigger anything, prove the key round-trips. GET /api/v1/me returns the workspace, tier, scopes, and live usage so you can confirm in one curl that the key, the workspace, and the Stripe provisioning all line up. Replace the placeholder below with your real key and run it — you should get a 200 back.

curl -sS \
     -H "Authorization: Bearer cr_ws_REPLACE_WITH_YOUR_KEY_HERE…" \
     https://cipherrun.polsia.app/api/v1/me
EXPECTED RESPONSE
200 OK
{
  "tier": "team",
  "workspace": { "id": 17, "name": "Acme SOC" },
  "scopes": ["workflows:read", "workflows:run"],
  "usage":     { "runs_this_period": 14, "incidents_triggered": 3 },
  "quotas":    { "runs_per_month": 5000 }
}

See a 401? The key is wrong or revoked — regenerate from /admin/apikeys. See a 403? Your Stripe tier does not cover /api/v1; check /pricing.

STEP 4

Trigger a sample playbook from /app

The curl proves the key — now confirm the UI agrees. Open /app to see your workspace dashboard, then jump to /app/billing and /app/runs to verify the same numbers your curl returned. The two cards below walk you through the surfaces you'll use day-to-day:

Want the curl side too? POST /api/workflows/:slug/run is the same endpoint the dashboard button calls — see /docs/api-quickstart for tier-by-tier examples.

First day, done.

Your workspace is provisioned, your key is round-tripping, and the dashboard and billing surfaces agree. From here on out, the curl is for scripts and the UI is for everything else.