Site admin
Sign in below with your site password or authenticator code (RSA session from your Cloudflare Worker). Then you can manage config, users, graph library, and workspace.
Site admin sign in
Overview
Content audit
| Type | Key | Action | Rev | When |
|---|
Security audit
| User | Action | When |
|---|
Full GET /api/admin/dashboard payload. Read-only reference — copy to inspect.
Site settings
Site uses app_kv (string values, often JSON). Pick a tab below for flags, marketing, or all keys. The header Reload refetches from the server; use JSON in the header for bulk rows.
site_user_features — Enabled = works when reached; Visibility = shown in nav/chrome.
More about Enabled vs Visibility
They can differ (e.g. visible but disabled = faded in nav). Pane Reload drops unsaved toggles and reloads this matrix, marketing, and the key list.
Per-row save/delete. Header Reload refreshes this list from the server.
Array of { "k", "v", "meta" }. Apply runs PUT per row.
User settings
| ID | Role | Plan | Status |
|---|
Selected user
Account (read-only)
Not editable here; changing email would need a dedicated flow.
Access
Account metadata
Profile
Danger zone
Delete user removes the row from practice_users and cascades linked data (profile, entitlements, billing rows per schema). Audit rows keep a record of the deletion. This cannot be undone.
Entitlements, billing & recent security (read-only)
Entitlements
| Feature | Value | Source | Until |
|---|
Billing customers
Subscriptions
Recent security audit (this user)
| Action | Entity | When |
|---|
Same shape as GET /api/admin/user?id=. Edit and apply — sends PATCH with user fields and optional profile.
Workspace
Edit graphs in UI or JSON. The live site reads /api/data?k=dsa from the catalog row dsa-site-map. Edit the body here or in
.
Recent opens on the left (last 8). Member copies are view-only.
Workspace sandbox (same UI in a new tab for testing).
Layout tabs and zoom below; open a graph from Recent or Graph library, or import JSON.
Your canvas is ready
Pick a graph from Recent or Graph library to begin exploring nodes and edges.
Raw mind-map array (same shape as /api/data?k=dsa). Apply to graph updates the studio preview; use Save graph in the header to persist (catalog graphs only).
Mind-map node types
ROOT is the single top-level type (sort order 0); each graph uses one root object. Use TOPIC, PATTERN, and PROBLEM under it. Every non-root type must choose at least one parent. Children are optional—leave empty for a leaf.
Graph types (whole graph)
Each catalog entry and member graph stores a type (e.g. DSA vs GENERIC) used by UI and features. Built‑in types cannot be removed.
Select an inventory row or create a new catalog graph.
Nothing selected
Pick a graph from the list to edit metadata, or create a new catalog entry. Mind-map JSON lives in the JSON tab or in Workspace.
Drives workspace behavior and future features. Manage the global list in Graph types above the search filters.
Node kinds and colors are global — edit Mind-map node types above. The JSON body is one root object in an array; set
nodeCategorySlug on every node (e.g. ROOT on that lone root, then TOPIC, PATTERN, PROBLEM under it per parent→child rules).
Inventory export from GET /api/admin/graph-inventory. Mind map body for editing lives in the JSON tab below (or use Workspace).
Synced with the selected catalog row. Format JSON is in the toolbar on the UI view.
System
Content audit
| Type | Key | Action | Rev | When |
|---|
Security audit
| User | Action | Entity | When |
|---|
Marketing contacts
| User | Marketing | Created |
|---|
Combined export: audits, contacts, plus dashboard snapshot. Read-only — use Reload on UI tab or open System to refresh.