Page Route Inventory

Every screen the web app serves — all 39 Next.js page routes, in plain English, grouped by area.

This page is the complete list of the URLs a person can visit in the KAP web application. For what each screen calls, see the Page → API Map. Each row is one page route: the address on the left is what appears in the browser’s address bar; the right column says what the screen shows in product terms. It is the companion to Folder Structure, which explains how the web/app/ folder tree becomes these URLs — the same way the API Endpoint Inventory accompanies Backend API & Swagger for the data routes under /api (which are deliberately not repeated here).

How to read the addresses:

Public pages (no sign-in)

Route What it shows
/ The marketing landing page — product pitch, links to kavai.com, and the sign-in/sign-up calls to action.
/login The sign-in form. Already signed in? middleware.ts forwards you straight to the default workspace landing (/w/integrity/campaigns).
/signup The account-creation form.

Sign-up, sign-in, and account-recovery flow

These live directly under app/ (outside the two route groups) because they are visited mid-flow — after clicking a link in an email, or before the account is fully set up.

Route What it shows
/auth/confirm-email “Check your inbox” — shown right after signing up, while the confirmation email is on its way.
/auth/reset-password Request a password-reset email.
/auth/update-password Choose a new password (reached from the reset email).
/onboarding First-run setup after email confirmation: your full name and your first organization.
/forbidden The “access denied” screen, with a way back to the Integrity Engineer workspace.

Two neighbors under /auth/ are not pages but browser-visited GET handlers (route.ts files) that finish Supabase auth flows and then redirect: /auth/callback (OAuth/magic-link return) and /auth/confirm (email-confirmation return).

Workspace entry points (sign-in required)

The two role workspaces (see Workspaces) live under /w/. The bare workspace URLs are redirects to each workspace’s landing module — middleware.ts and the w/[workspace]/ layout handle them, and an unknown workspace slug gets a 404.

Route Where it goes
/w/data-explorer → /w/data-explorer/organizations (the workspace’s landing module).
/w/integrity → /w/integrity/campaigns (the workspace’s landing module).

Data Explorer workspace (sign-in required)

One route per module, under /w/data-explorer/. The sidebar label shown in the app is noted where it differs from the URL.

Route What it shows
/w/data-explorer/organizations Organizations — pick the organization whose campaign evidence you’re working on. The workspace landing page.
/w/data-explorer/campaigns Campaigns — browse, create, and manage campaign evidence packages.
/w/data-explorer/anomalies Evidence — imagery, annotations, modality coverage, and evidence quality for the campaign.
/w/data-explorer/anomalies/map The 3D map view of the evidence — anomaly-bearing photos plotted on the Cesium globe (the photo-map-3d module).
/w/data-explorer/insights Notes — curate observations and supporting attachments for the campaign.
/w/data-explorer/assets Assets — the anomalies found on one asset and on the images near it, over its anomaly-bearing evidence images (no findings; that’s the Integrity side).
/w/data-explorer/ask A deep link that opens the docked AI Assistant panel — the Assistant overlays every module, so this exists for shareable/scoped URLs, not as a nav destination.
/w/data-explorer/new-dataset The dataset-onboarding wizard — connect Azure storage and create a campaign dataset.
/w/data-explorer/cad-viewer The Autodesk APS CAD viewer. Reachable by URL only — no workspace lists it in its sidebar.
/w/data-explorer/operations Redirect → /w/data-explorer/campaigns (the module’s old name).
/w/data-explorer/organisations Redirect → /w/data-explorer/organizations (the British spelling, kept for old links).

Integrity Engineer workspace (sign-in required)

One route per module, under /w/integrity/.

Route What it shows
/w/integrity/campaigns Campaigns — the campaign triage overview. The workspace landing page.
/w/integrity/insights Findings — compare and prioritize campaign findings for engineering review.
/w/integrity/investigate Investigate — validate one finding against its physical evidence.
/w/integrity/assets Assets — one asset’s findings and the governed decide loop (each finding opens its evidence images). ?asset=<equipmentId> deep-links to one asset (what a marker click in the 3D map sends).
/w/integrity/evidence-explorer Evidence Explorer — map, gallery, and ranked candidates for one campaign. ?asset=<equipmentId> flies the map to that asset once and is then stripped from the URL (what View in 3D on Assets sends).
/w/integrity/actions Actions — create and manage the campaign’s follow-up work orders.
/w/integrity/history Campaign History — the campaign chronology and status timeline.
/w/integrity/ask The Assistant deep link — same behavior as the Data Explorer one.
/w/integrity/operations Redirect → /w/integrity/campaigns (the module’s old name).

Dataset management (sign-in required)

The classic dataset pages, predating the workspaces; they render inside the signed-in app shell.

Route What it shows
/datasets Your organizations, as the entry point for browsing their datasets.
/datasets/org/{id} All datasets in one organization.
/datasets/{slug} One dataset’s detail page — its imagery and viewers.
/datasets/{slug}/settings Edit the dataset’s name, description, visibility, and cover image (owners only — others are sent back to the dataset page).
/datasets/create The classic create-a-dataset form (name, organization, storage provider). Lives outside the route groups; checks your session itself.

Organizations, account, and settings (sign-in required)

Route What it shows
/organizations The organizations you belong to, with your role in each.
/organizations/create Create a new organization.
/organizations/{id} One organization’s detail page — members and datasets.
/profile Your profile — display name and avatar.
/settings Account and organization settings.

Developer utilities

Route What it shows
/api-docs The interactive Swagger documentation for the backend API (no login — it renders the public spec; see Backend API & Swagger).
/debug/cesium-token A diagnostics page for the Cesium Ion token configuration (sign-in required).

What else answers a URL

  • The 404 page. app/not-found.tsx renders for any address that matches nothing above.
  • /api/… — the ~97 backend route handlers, catalogued operation by operation in the API Endpoint Inventory.
  • app/dashboard/ is gone. It held only a leftover loading.tsx for a page that had been removed, and its three /api/dashboard/* handlers served a summary view that no longer exists — including a second way to delete a dataset, alongside the one the dataset page itself uses. Retired 2026-08-25.

This inventory is hand-maintained, like the API one: when you add, move, or remove a page.tsx under web/app/, update this page in the same change.

Last Updated: 2026-08-01