Documentation · Platform
Platform & API (Phase 1)
Stack: FastAPI (backend/nims), PostgreSQL,
Prisma for migrations only, React + Vite (web/). Build output
web/dist can be served by the API under /app/.
Web console (behavioral summary)
- Global search in the sidebar —
GET /v1/search?q=&limit= -
Pinned pages at the top of the sidebar from
User.preferences.pinnedPages— Pin / Unpin in each page header (⋯ menu), not in the nav. Example:PATCH /v1/mewith{"preferences":{"pinnedPages":[{"path":"/dcim/devices","label":"Devices"}]}} - Sidebar sections are collapsible; state in
localStorage(nims.sidebar.*) -
List pages use a shared header: Add, bulk import (CSV/JSON via ⋯), bulk export — backed by bulk routes
(see
bulk.pyin the repo) - Object view —
GET /v1/resource-view/{resourceType}/{id}(fields + graph) - Graph only —
GET /v1/resource-graph/{resourceType}/{id}
REST touchpoints (UI-centric)
| Feature | Endpoint |
|---|---|
| Search | GET /v1/search?q=&limit= |
| Me / preferences | GET /v1/me, PATCH /v1/me |
| Bulk CSV/JSON | GET /v1/bulk/{resourceType}/export, POST /v1/bulk/{resourceType}/import/csv, POST /v1/bulk/{resourceType}/import/json |
| Object view | GET /v1/resource-view/{resourceType}/{id} |
| Graph only | GET /v1/resource-graph/{resourceType}/{id} |
Authoritative detail: platform/README.md