Skip to main content

Documentation Index

Fetch the complete documentation index at: https://86d.app/docs/llms.txt

Use this file to discover all available pages before exploring further.

The 86d admin is your store’s management interface, available at /admin. It is auth-protected; any unauthenticated request redirects to /auth/signin automatically. Once you sign in, every module that is enabled in your store registers its management pages into the sidebar without any manual configuration.

Signing in

If you started your store with the default seed data, use these credentials to access the admin:
FieldValue
Emailadmin@example.com
Passwordpassword123
Change the default admin credentials before going live. The seeded password is publicly known and must not be used in production.
The sidebar uses a two-level collapsible structure. The top level has nine fixed groups; each group contains subgroups that modules populate automatically.

Top-level groups

GroupExample subgroups
CatalogProducts, Categories, Collections, Brands
SalesOrders, Cart, Billing, Scheduling, Promotions, Add-ons
CustomersCustomer list, Groups, Saved addresses
FulfillmentShipping, Returns, Delivery slots, Pickups
MarketingNewsletter, Blog, Affiliates, Loyalty, Referrals
ContentPublishing, Knowledge, Site
FinanceGateways, Configuration
SupportHelpdesk, Messaging
SystemMonitoring, Tools
When you enable a module, it declares which group and subgroup it belongs to. The admin sidebar reflects this automatically; you never need to touch a navigation config file.
Both the group and subgroup collapse states persist in localStorage under the key 86d-admin-sidebar-collapsed. Your sidebar state survives page reloads and browser restarts.

How modules register admin pages

Each module declares a group and optionally a subgroup in its admin page definition. The sidebar registry reads these declarations and places the page in the right section. Active pages auto-expand their parent group and subgroup so you always know where you are. For example, the @86d-app/orders module registers under Sales → Orders, and @86d-app/blog registers under Marketing → Publishing, with no configuration on your end.

File uploads

The admin provides a file upload endpoint for product images, blog media, and other assets.
POST /api/upload
TypeFormats
ImagesJPEG, PNG, WebP, GIF, SVG
DocumentsPDF
TypeLimit
Images (JPEG, PNG, WebP, GIF, SVG)4.5 MB
PDFs10 MB
Every uploaded file is validated against its magic bytes to prevent MIME type spoofing. SVG files are additionally scanned for embedded scripts, event handlers, and javascript: URIs before being accepted.
The upload endpoint is admin-only. Unauthenticated requests are rejected. File deletion (DELETE /api/upload) is also admin-only and includes store-isolation checks to prevent cross-store deletion.

Admin API rate limit

Admin API endpoints allow a higher request rate than public endpoints, since they are used by authenticated users performing intentional actions:
  • 300 requests per minute per userId for all /api/admin/... endpoints
If you exceed this limit, the API returns HTTP 429 with Retry-After and X-RateLimit-Reset headers.

Dashboard overview

The admin dashboard at /admin shows a summary of your store’s current state, pulling live data from your enabled modules:
1

Sign in

Navigate to /admin. If you are not authenticated, you are redirected to /auth/signin automatically.
2

Review the dashboard

Stat cards on the main page give you a snapshot of products, categories, and recent activity pulled from /api/admin/products and /api/admin/categories.
3

Navigate using the sidebar

Use the two-level sidebar to reach any module’s management pages. Click a group to expand it, then click a subgroup or page link.
4

Manage products

Under Catalog, the Products section lets you search, filter by status, paginate, create, edit, and delete products. Slug generation is automatic.
On mobile, the admin sidebar collapses into a hamburger menu. The same two-level navigation structure is available in the mobile drawer.