/admin inside the Store Runtime itself, which means it works whether or not you use the managed product, and it keeps working if 86d.app is down.
Do not confuse it with 86d Console. Console is where you manage Businesses, Store records, billing, and deployments across the managed product. Store Admin is where you manage the actual Store: Products, Orders, Customers, content. Different surfaces, different authorities, both yours.
An unauthenticated request to /admin redirects to /auth/signin.
Signing in
If you seeded demo data, use the credentials you set during86d init. The defaults are admin@example.com and password123.
The sidebar builds itself
Navigation has two levels. Nine top-level groups are fixed; the subgroups under them come from whatever Modules you enabled.
Each Module declares the
group and optional subgroup its pages belong to, and the sidebar registry places them. @86d-store/orders lands under Sales → Orders. @86d-store/blog lands under Marketing → Publishing. There is no navigation config file for you to maintain, and no way for two Modules to fight over a slot.
The page you are on expands its parent group and subgroup, so you always know where you are.
Group and subgroup collapse states persist in
localStorage under 86d-admin-sidebar-collapsed, so your sidebar survives reloads and browser restarts.Merchant UI contract
Store Admin follows the same merchant interaction contract as 86d Console: shared OKLCH tokens (copied into public-owned CSS), Zod + TanStack Form for multi-field forms, TanStack Table for record lists, and Empty / Loading / Error / Permission denied / Provider unavailable states on every screen. The locked reference surfaces are/admin/products and /admin/products/new. The workspace Experience product context holds the full checklist; capability pages stay Experimental until evidence advances.
Uploading files
Product images, blog media, and other assets go through one endpoint:Accepted file types
Accepted file types
Size limits
Size limits
What gets checked
What gets checked
Every file is validated against its magic bytes, so renaming a script to
.png does not get it past the door. SVG files are additionally scanned for embedded scripts, event handlers, and javascript: URIs before they are accepted.Admin API limits
Admin endpoints under/api/admin/... allow 300 requests per minute per signed-in user. That is higher than the public limit because a merchant clicking through screens is not a scraper.
Going over returns HTTP 429 with Retry-After and X-RateLimit-Reset headers, and this body:
{ error: { code, message } } envelope. If you are writing an agent against Store Admin, branch on error.code, not on the message text.
Getting oriented
1
Sign in
Go to
/admin. If you are not authenticated you land on /auth/signin.2
Read the overview
The home screen pulls stat cards from
/api/admin/products and /api/admin/categories, so it shows what your enabled Modules actually know.3
Find a Module's pages
Use the two-level sidebar. Expand a group, then pick a subgroup or page.
4
Manage Products
Under Catalog, the Products section handles search, status filtering, pagination, create, edit, and delete. Slugs generate themselves.
Related pages
- Authentication for sessions, roles, and managed sign-in
- Secure a Store Runtime
- How Modules package Store capabilities
- Storefront for the Shopper side
- How 86d separates product authority
- Glossary