Workflow coverage register
Manual home · Gaps · Machine-readable inventory
Baseline: 57cfc40423f60ac87e66988fb8e82169c5de7d90. The inventory contains 458 Express method registrations, 70 tenant UI route definitions, 8 additional platform/authentication presentations, three FastAPI endpoints, and the Swagger middleware entry. Expansion of finite generic resources/actions/phases produces 504 API register entries. Counts measure declarations, not distinct working product capabilities.
Every entry below maps to a workflow, a shared supporting operation, an explicit unsupported/shadowed registration, or EX-01. No entry is left unexplained. Full paths use the mount in the application composition; FastAPI has a separate service origin. Paths with IDs are templates.
Inventory method and limits
- Parsed the fetched TypeScript/TSX implementation with an AST parser, extracted Express registrations and matched exported router factories to their application mounts. Expanded finite lifecycle loops, generic workspace resources, AI suggestion actions and measurement phases.
- Inspected UI route-array definitions plus the explicit platform and authentication branches. Regex routes retain their source expression so accepted matching semantics are not silently changed. Query-driven tabs, dialogs and actions are described in domain workflows and source links rather than counted as routes.
- Inspected contracts, permission middleware, handler ownership/state checks, workers and related tests. Source links are pinned to the reviewed commit. The source manifest is in evidence; tests were not run.
- General Express HEAD/OPTIONS behaviour and static asset filenames are supporting framework behaviour, not separate application operations. FastAPI development-only OpenAPI/docs middleware is supporting developer tooling. External transcription routes are outside this repository boundary (GAP-04).
- Generic fallback routes mounted after dedicated routers can be shadowed for specific method/path combinations. Such entries explicitly identify the earlier handler; they are not extra UI instructions. Schema-accepted records do not imply an execution engine (GAP-03/09).
UI inventory
| Route or presentation | Workflow | Notes | Source |
|---|---|---|---|
/^\/manual-calibrations\/assignments\/([0-9a-f-]{36})$/i | QMS-11 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:269 |
/^\/manual-calibrations\/([0-9a-f-]{36})$/i | QMS-10 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:270 |
/^\/calibrations\/([0-9a-f-]{36})$/i | QMS-07 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:271 |
/^\/reviews\/([0-9a-f-]{36})$/i | QMS-02 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:272 |
/^\/re-reviews\/([0-9a-f-]{36})$/i | QMS-06 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:273 |
"/re-reviews" | QMS-06 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:274 |
"/reviews" | QMS-02 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:275 |
"/administration" | QMS-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:276 |
"/transcription-jobs" | INT-07 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:277 |
/^\/transcription-review\/([^/]+)$/ | INT-08 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:278 |
"/transcription-review" | INT-08 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:285 |
"/ai-jobs" | OPS-10 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:286 |
"/adjudications" | QMS-09 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:287 |
"/labs/llm-testing" | OPS-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:288 |
"/labs" | OPS-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:289 |
"/intelligence/alerts" | INS-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:290 |
"/ask-sentinel" | ASK-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:291 |
"/ask-sentinel/quality-review" | ASK-03 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:292 |
"/ai-learning" | ASK-04 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:293 |
"/live-assist" | ASK-06 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:294 |
"/intelligence/performance" | INS-04 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:295 |
"/intelligence/alert-rules" | INS-06 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:296 |
"/preferences" | ACC-10 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:297 |
"/improvements" | JNY-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:298 |
"/surveys" | JNY-08 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:299 |
/^\/molecules\/([0-9a-f-]{36})$/i | EVA-03 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:300 |
/^\/molecule-versions\/([0-9a-f-]{36})$/i | EVA-03 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:301 |
"/molecules" | EVA-03 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:302 |
/^\/atoms\/([0-9a-f-]{36})$/i | EVA-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:303 |
"/atoms" | EVA-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:304 |
"/report-templates" | OPS-13 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:305 |
"/journeys" | JNY-04 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:306 |
"/journey-configuration" | JNY-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:307 |
"/integration-operations" | OPS-13 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:308 |
"/interactions/import" | INT-04 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:309 |
"/interactions/import/calls" | INT-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:310 |
/^\/interactions\/([0-9a-f-]{36})$/i | INT-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:311 |
"/interactions" | INT-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:312 |
"/scorecards/new" | EVA-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:313 |
/^\/scorecard-suggestions\/([0-9a-f-]{36})$/i | EVA-08 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:314 |
/^\/scorecards\/([0-9a-f-]{36})\/edit$/i | EVA-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:315 |
/^\/scorecards\/([0-9a-f-]{36})$/i | EVA-06 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:316 |
"/scorecards" | EVA-06 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:317 |
"/activity" | INS-08 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:318 |
"/notifications" | INS-07 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:319 |
"/coaching" | LRN-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:320 |
"/reports-insights" | INS-02 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:321 |
"/audit-reports" | INS-02 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:322 |
"/knowledge-adherence" | INS-02 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:323 |
"/reports" | INS-02 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:324 |
"/compliance-risk" | INS-04 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:325 |
"/knowledge/categories" | KNO-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:326 |
"/knowledge/tags" | KNO-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:327 |
"/knowledge/content" | KNO-04 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:328 |
"/knowledge/articles" | KNO-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:329 |
"/knowledge/drafts" | KNO-02 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:330 |
"/knowledge/new" | KNO-02 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:331 |
/^\/knowledge\/([^/]+)\/edit$/ | KNO-02 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:332 |
/^\/knowledge\/([0-9a-f-]{36})$/i | KNO-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:333 |
"/knowledge" | KNO-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:334 |
/^\/learning(?:\/manage)?$/ | LRN-01, LRN-02, LRN-03, LRN-04 | The regex covers /learning and /learning/manage. Manage requires members:manage; personal assignments/progress remain scoped. | apps/web/src/app.tsx:335 |
"/settings/usage" | OPS-06 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:336 |
"/settings/pricing" | OPS-06 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:337 |
"/settings/llm-connections" | OPS-05 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:338 |
"/settings/integrations" | OPS-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:339 |
"/settings/users" | ACC-04 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:340 |
"/settings/teams" | ACC-07 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:341 |
"/settings/company" | ACC-08 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:342 |
"/settings/workspace" | ACC-09 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:343 |
"/" | INS-01 | See workflow access and roles guide; UI/API gates can differ. | apps/web/src/app.tsx:343 |
/platform/login | OPS-07 | Explicit platform branch outside tenant route array. | apps/web/src/app.tsx:1 |
/platform | OPS-07 | Explicit platform branch outside tenant route array. | apps/web/src/app.tsx:1 |
/platform/ | OPS-07 | Explicit platform branch outside tenant route array. | apps/web/src/app.tsx:1 |
/platform/tenants/:tenantId | OPS-07 | Explicit platform branch outside tenant route array. | apps/web/src/app.tsx:1 |
/platform/pricing | OPS-08 | Explicit platform branch outside tenant route array. | apps/web/src/app.tsx:1 |
/platform/transcriber-policy | OPS-09 | Explicit platform branch outside tenant route array. | apps/web/src/app.tsx:1 |
/platform/ask-sentinel-quality | ASK-03 | Explicit platform branch outside tenant route array. | apps/web/src/app.tsx:1 |
Login / invitation / password-reset presentation at the requested tenant pathname | ACC-01 | Authentication-state presentation, not a separately registered /login route. | apps/web/src/features/auth/login.tsx:1 |
API inventory
The access column summarises the concrete middleware/handler boundary; the linked workflow describes ownership, state and feature checks. Permission checks generally accept the explicit platform override, while platform console operator authentication remains a separate mechanism. A successful authentication does not bypass contextual validation.
| Method and path | Workflow | Access | Disposition / limits | Source |
|---|---|---|---|---|
GET /api/v1/alerts | INS-05 | alerts:read; contextual checks | mapped | services/api/src/alerts/routes.ts:15 |
GET /api/v1/alerts/:alertId | INS-05 | alerts:read; contextual checks | mapped | services/api/src/alerts/routes.ts:16 |
PATCH /api/v1/alerts/:alertId | INS-05 | alerts:manage; contextual checks | mapped | services/api/src/alerts/routes.ts:17 |
GET /api/v1/performance | INS-04 | alerts:read; contextual checks | mapped | services/api/src/alerts/routes.ts:73 |
GET /api/v1/ai-learning/evaluations/cases | ASK-05 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-evaluation/routes.ts:40 |
POST /api/v1/ai-learning/evaluations/cases | ASK-05 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-evaluation/routes.ts:46 |
GET /api/v1/ai-learning/evaluations/runs | ASK-05 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-evaluation/routes.ts:62 |
GET /api/v1/ai-learning/evaluations/release | ASK-05 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-evaluation/routes.ts:68 |
POST /api/v1/ai-learning/evaluations/release/approve | ASK-05 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-evaluation/routes.ts:75 |
POST /api/v1/ai-learning/evaluations/release/rollback | ASK-05 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-evaluation/routes.ts:88 |
POST /api/v1/ai-learning/evaluations/runs | ASK-05 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-evaluation/routes.ts:96 |
GET /api/v1/ai-learning | ASK-04 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-learning/routes.ts:68 |
GET /api/v1/ai-learning/signals | ASK-04 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-learning/routes.ts:75 |
POST /api/v1/ai-learning | ASK-04 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-learning/routes.ts:144 |
POST /api/v1/ai-learning/:id/versions | ASK-04 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-learning/routes.ts:159 |
POST /api/v1/ai-learning/:id/activate | ASK-04 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-learning/routes.ts:175 |
POST /api/v1/ai-learning/:id/rollback | ASK-04 | ask:quality:review OR audits:manage OR platform override | mapped | services/api/src/ai-learning/routes.ts:191 |
POST /api/v1/adjudications | QMS-09 | calibrations:adjudicate; contextual checks | mapped | services/api/src/adjudications/routes.ts:70 |
GET /api/v1/adjudications | QMS-09 | calibrations:adjudicate; contextual checks | mapped | services/api/src/adjudications/routes.ts:250 |
GET /api/v1/adjudications/:adjudicationId | QMS-09 | calibrations:adjudicate; contextual checks | mapped | services/api/src/adjudications/routes.ts:276 |
GET /api/v1/alert-rules | INS-06 | alerts:read; contextual checks | mapped | services/api/src/alert-rules/routes.ts:23 |
POST /api/v1/alert-rules | INS-06 | alerts:manage; contextual checks | mapped | services/api/src/alert-rules/routes.ts:37 |
GET /api/v1/alert-rules/:ruleId | INS-06 | alerts:read; contextual checks | mapped | services/api/src/alert-rules/routes.ts:55 |
PUT /api/v1/alert-rules/:ruleId | INS-06 | alerts:manage; contextual checks | mapped | services/api/src/alert-rules/routes.ts:64 |
GET /api/v1/interactions/:interactionId/artifacts/:artifactId/content | INT-06 | qms:read; contextual checks | mapped | services/api/src/artifacts/routes.ts:72 |
POST /api/v1/interactions/:interactionId/artifacts/uploads | INT-06 | artifacts:write; contextual checks | mapped | services/api/src/artifacts/routes.ts:100 |
POST /api/v1/interactions/:interactionId/artifacts/:artifactId/complete | INT-06 | artifacts:write; contextual checks | mapped | services/api/src/artifacts/routes.ts:211 |
GET /api/v1/interactions/:interactionId/artifacts | INT-06 | qms:read; contextual checks | mapped | services/api/src/artifacts/routes.ts:361 |
POST /api/v1/internal/ai-suggestions/results | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/ai-suggestions/routes.ts:146 |
GET /api/v1/internal/ai-suggestions/context/:auditId | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/ai-suggestions/routes.ts:164 |
POST /api/v1/internal/ai-suggestions/started | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/ai-suggestions/routes.ts:209 |
POST /api/v1/internal/ai-suggestions/batch | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/ai-suggestions/routes.ts:216 |
POST /api/v1/internal/ai-suggestions/failed | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/ai-suggestions/routes.ts:233 |
GET /api/v1/ai-review-queue | QMS-03 | audits:manage; contextual checks | mapped | services/api/src/ai-suggestions/routes.ts:251 |
POST /api/v1/ai-review-queue/:auditId/retry | QMS-03 | audits:manage; contextual checks | mapped | services/api/src/ai-suggestions/routes.ts:261 |
POST /api/v1/audits/:auditId/ai-summary | QMS-03 | audits:review; contextual checks | mapped | services/api/src/ai-suggestions/routes.ts:274 |
POST /api/v1/audits/:auditId/ai-suggestions/adopt | QMS-03 | audits:review; contextual checks | mapped | services/api/src/ai-suggestions/routes.ts:307 |
POST /api/v1/audits/:auditId/ai-suggestions/:atomId/adopt | QMS-03 | audits:review; contextual checks | mapped | services/api/src/ai-suggestions/routes.ts:337 |
POST /api/v1/audits/:auditId/ai-suggestions/:atomId/reject | QMS-03 | audits:review; contextual checks | mapped | services/api/src/ai-suggestions/routes.ts:337 |
GET /api/v1/health/live | OPS-10 | Public supporting read | mapped | services/api/src/app.ts:607 |
GET /api/v1/health/ready | OPS-10 | Public supporting read | mapped | services/api/src/app.ts:611 |
GET /api/v1/health/metrics | OPS-10 | Public supporting read | mapped | services/api/src/app.ts:620 |
GET /api/openapi.json | OPS-10 | Public supporting read | mapped | services/api/src/app.ts:624 |
GET /api/v1/tenant-profile | ACC-01 | qms:read; contextual checks | mapped | services/api/src/app.ts:734 |
POST /api/v1/interactions/:interactionId/audit | QMS-01 | audits:review; contextual checks | mapped | services/api/src/app.ts:792 |
GET /api/v1/interactions/:interactionId/review-status | INT-01 | qms:read; contextual checks | mapped | services/api/src/app.ts:819 |
GET /api/v1/tenant-settings | ACC-09 | members:manage; contextual checks | mapped | services/api/src/app.ts:867 |
PUT /api/v1/tenant-settings | ACC-09 | Owner or platform override | mapped | services/api/src/app.ts:875 |
PUT /api/v1/tenant-settings/timezone | ACC-09 | Owner or platform override | mapped | services/api/src/app.ts:883 |
GET /api/v1/tenant-settings/journey-coaching | ACC-09 | qms:read; contextual checks | mapped | services/api/src/app.ts:890 |
PUT /api/v1/tenant-settings/journey-coaching | ACC-09 | Owner or platform override | mapped | services/api/src/app.ts:894 |
GET /api/v1/tenant-settings/ai-enrichments | ACC-09 | qms:read; contextual checks | mapped | services/api/src/app.ts:903 |
PUT /api/v1/tenant-settings/ai-enrichments | ACC-09 | Owner or platform override | mapped | services/api/src/app.ts:907 |
GET /api/v1/tenant-settings/interaction-display | ACC-09 | qms:read; contextual checks | mapped | services/api/src/app.ts:915 |
PUT /api/v1/tenant-settings/interaction-display | ACC-09 | Owner or platform override | mapped | services/api/src/app.ts:919 |
GET /api/v1/tenant-settings/review-assignment | ACC-09 | audits:manage; contextual checks | mapped | services/api/src/app.ts:927 |
PUT /api/v1/tenant-settings/review-assignment | ACC-09 | audits:manage; contextual checks | mapped | services/api/src/app.ts:931 |
GET /api/v1/tenant-settings/transcription | ACC-09 | Owner or platform override | mapped | services/api/src/app.ts:944 |
GET /api/v1/tenant-settings/transcription/vocabulary-profiles | ACC-09 | interactions:write; contextual checks | mapped | services/api/src/app.ts:951 |
PUT /api/v1/tenant-settings/transcription | ACC-09 | Owner or platform override | mapped | services/api/src/app.ts:956 |
GET /api/v1/command-centre | INS-01 | qms:read; contextual checks | mapped | services/api/src/app.ts:1006 |
GET /.*/ | EX-01 | Static SPA fallback | excluded: EX-01: serves the client application; not a separate domain workflow. | services/api/src/app.ts:1368 |
GET /api/v1/coaching-plans/for-agent/:agentAccountId/active | LRN-06 | Management scope or own assigned/coach records | mapped | services/api/src/coaching-plans/routes.ts:108 |
GET /api/v1/coaching-plans | LRN-06 | Management scope or own assigned/coach records | mapped | services/api/src/coaching-plans/routes.ts:120 |
GET /api/v1/coaching-plans/:id | LRN-06 | Management scope or own assigned/coach records | mapped | services/api/src/coaching-plans/routes.ts:160 |
POST /api/v1/coaching-plans | LRN-05 | operations:manage | mapped | services/api/src/coaching-plans/routes.ts:169 |
POST /api/v1/coaching-plans/:id/duplicate | LRN-05 | operations:manage | mapped | services/api/src/coaching-plans/routes.ts:185 |
PATCH /api/v1/coaching-plans/:id | LRN-06 | operations:manage or assigned coach; state checks | mapped | services/api/src/coaching-plans/routes.ts:216 |
POST /api/v1/coaching-plans/:id/milestones/:milestoneId/complete | LRN-07 | Assigned agent; active plan | mapped | services/api/src/coaching-plans/routes.ts:271 |
POST /api/v1/integrations/live-chat/conversations | INT-03 | Integration/provider authentication; tenant/channel binding | mapped | services/api/src/conversations/routes.ts:71 |
POST /api/v1/integrations/email/threads | INT-03 | Integration/provider authentication; tenant/channel binding | mapped | services/api/src/conversations/routes.ts:72 |
POST /api/v1/integrations/conversations | INT-03 | Integration/provider authentication; tenant/channel binding | mapped | services/api/src/conversations/routes.ts:73 |
GET /api/v1/interactions/:interactionId/conversation | INT-01 | qms:read; contextual checks | mapped | services/api/src/conversations/routes.ts:79 |
POST /api/v1/integrations/connectors/zendesk/oauth/authorize | OPS-02 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:411 |
GET /api/v1/integrations/connectors/zendesk/oauth/callback | OPS-02 | OAuth callback state validation | mapped | services/api/src/connectors/routes.ts:459 |
POST /api/v1/integrations/connectors/intercom/oauth/authorize | OPS-02 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:497 |
GET /api/v1/integrations/connectors/intercom/oauth/callback | OPS-02 | OAuth callback state validation | mapped | services/api/src/connectors/routes.ts:533 |
POST /api/v1/integrations/connectors/intercom/webhook | OPS-03 | Provider signature/state validation | mapped | services/api/src/connectors/routes.ts:568 |
POST /api/v1/integrations/connectors/zendesk/webhook/:id | OPS-03 | Provider signature/state validation | mapped | services/api/src/connectors/routes.ts:592 |
GET /api/v1/integrations/connectors/powerbi/feed | OPS-04 | Dedicated reporting key | mapped | services/api/src/connectors/routes.ts:621 |
POST /api/v1/integrations/connectors/salesforce/:id/sync | OPS-03 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:642 |
POST /api/v1/integrations/connectors/intercom/:id/import | OPS-03 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:670 |
POST /api/v1/integrations/connectors/powerbi/:id/rotate | OPS-04 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:681 |
GET /api/v1/integrations/connectors | OPS-02 | integrations:manage; contextual checks | mapped | services/api/src/connectors/routes.ts:690 |
GET /api/v1/integrations/connectors/:id/attribution | OPS-02 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:712 |
PUT /api/v1/integrations/connectors/:id/attribution | OPS-02 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:739 |
POST /api/v1/integrations/connectors/zendesk/:id/import | OPS-03 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:762 |
POST /api/v1/integrations/connectors/freshdesk/:id/import | OPS-03 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:779 |
POST /api/v1/integrations/connectors/aircall/:id/import | OPS-03 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:796 |
POST /api/v1/integrations/connectors/:provider | OPS-02 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:813 |
POST /api/v1/integrations/connectors/:id/test | OPS-02 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:879 |
POST /api/v1/integrations/connectors/:id/test-message | OPS-04 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:902 |
POST /api/v1/integrations/connectors/:id/disconnect | OPS-02 | Owner or platform override (also connector access) | mapped | services/api/src/connectors/routes.ts:937 |
POST /api/v1/corrections | QMS-05 | audits:manage; contextual checks | mapped | services/api/src/corrections/routes.ts:66 |
GET /api/v1/corrections | QMS-05 | audits:manage; contextual checks | mapped | services/api/src/corrections/routes.ts:199 |
GET /api/v1/corrections/:correctionId | QMS-05 | audits:manage; contextual checks | mapped | services/api/src/corrections/routes.ts:222 |
GET /api/v1/atoms | EVA-01 | qms:read; contextual checks | mapped | services/api/src/atoms/routes.ts:37 |
GET /api/v1/atoms/:id/usage | EVA-02 | qms:read; contextual checks | mapped | services/api/src/atoms/routes.ts:53 |
GET /api/v1/atoms/:id | EVA-01 | qms:read; contextual checks | mapped | services/api/src/atoms/routes.ts:63 |
POST /api/v1/atoms/bulk | EVA-02 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:69 |
POST /api/v1/atoms | EVA-01 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:98 |
POST /api/v1/atoms/:id/archive | EVA-02 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:107 |
POST /api/v1/atoms/:id/restore | EVA-02 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:110 |
DELETE /api/v1/atoms/:id/versions/:versionId | EVA-02 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:113 |
DELETE /api/v1/atoms/:id | EVA-02 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:125 |
POST /api/v1/atoms/:id/revisions | EVA-02 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:138 |
PATCH /api/v1/atoms/:id/versions/:versionId | EVA-02 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:148 |
POST /api/v1/atoms/:id/versions/:version/publish | EVA-02 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:159 |
POST /api/v1/atoms/:id/versions/:version/retire | EVA-02 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:172 |
POST /api/v1/atoms/suggestions | EVA-09 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:184 |
GET /api/v1/atoms/suggestions/:setId | EVA-09 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:196 |
POST /api/v1/atoms/suggestions/:setId/:candidateId/save | EVA-09 | molecules:manage (manage middleware) | mapped | services/api/src/atoms/routes.ts:206 |
POST /api/v1/calibrations | QMS-07 | calibrations:review; contextual checks | mapped | services/api/src/calibrations/routes.ts:111 |
GET /api/v1/calibrations | QMS-07 | calibrations:review; contextual checks | mapped | services/api/src/calibrations/routes.ts:187 |
GET /api/v1/calibrations/adjudication-queue | QMS-07 | calibrations:adjudicate; contextual checks | mapped | services/api/src/calibrations/routes.ts:224 |
GET /api/v1/calibrations/:calibrationId | QMS-07 | calibrations:review; contextual checks | mapped | services/api/src/calibrations/routes.ts:269 |
PUT /api/v1/calibrations/:calibrationId/draft | QMS-07 | calibrations:review; contextual checks | mapped | services/api/src/calibrations/routes.ts:321 |
POST /api/v1/calibrations/:calibrationId/submit | QMS-07 | calibrations:review; contextual checks | mapped | services/api/src/calibrations/routes.ts:435 |
GET /api/v1/members | ACC-04 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:462 |
POST /api/v1/members | ACC-05 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:490 |
GET /api/v1/members/directory | ACC-04 | members:read; contextual checks | mapped | services/api/src/identity/member-routes.ts:525 |
GET /api/v1/members/eligible-reviewers | ACC-04 | calibrations:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:554 |
GET /api/v1/members/invitations | ACC-02 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:567 |
POST /api/v1/members/invitations | ACC-02 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:585 |
POST /api/v1/members/invitations/:invitationId/revoke | ACC-02 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:616 |
GET /api/v1/members/export.csv | ACC-06 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:638 |
POST /api/v1/members/import | ACC-06 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:670 |
PATCH /api/v1/members/bulk | ACC-06 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:721 |
GET /api/v1/members/:memberId | ACC-04 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:830 |
PATCH /api/v1/members/:memberId | ACC-05 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:850 |
PATCH /api/v1/members/:memberId/status | ACC-05 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:927 |
POST /api/v1/members/:memberId/deactivate | ACC-05 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:962 |
POST /api/v1/members/:memberId/password-reset | ACC-03 | members:manage; contextual checks | mapped | services/api/src/identity/member-routes.ts:994 |
GET /api/v1/candidate-reviews | JNY-03 | qms:read | mapped | services/api/src/candidate-reviews/routes.ts:120 |
GET /api/v1/candidate-reviews/:id | JNY-03 | qms:read | mapped | services/api/src/candidate-reviews/routes.ts:136 |
POST /api/v1/candidate-reviews/:id/approve | JNY-03 | molecules:manage | mapped | services/api/src/candidate-reviews/routes.ts:161 |
POST /api/v1/candidate-reviews/:id/dismiss | JNY-03 | molecules:manage | mapped | services/api/src/candidate-reviews/routes.ts:186 |
POST /api/v1/candidate-reviews/:id/merge | JNY-03 | molecules:manage | mapped | services/api/src/candidate-reviews/routes.ts:187 |
GET /api/v1/companies | ACC-08 | teams:read; contextual checks | mapped | services/api/src/companies/routes.ts:10 |
POST /api/v1/companies | ACC-08 | teams:manage; contextual checks | mapped | services/api/src/companies/routes.ts:14 |
PATCH /api/v1/companies/:companyId | ACC-08 | teams:manage; contextual checks | mapped | services/api/src/companies/routes.ts:23 |
POST /api/v1/audits | QMS-01 | audits:review; contextual checks | mapped | services/api/src/audits/routes.ts:127 |
GET /api/v1/audits | QMS-01 | audits:review; contextual checks | mapped | services/api/src/audits/routes.ts:264 |
GET /api/v1/audits/:auditId | QMS-01 | audits:review; contextual checks | mapped | services/api/src/audits/routes.ts:331 |
POST /api/v1/audits/:auditId/assign | QMS-01 | audits:manage; contextual checks | mapped | services/api/src/audits/routes.ts:377 |
PUT /api/v1/audits/:auditId/draft | QMS-02 | audits:review; contextual checks | mapped | services/api/src/audits/routes.ts:462 |
POST /api/v1/audits/:auditId/submit | QMS-04 | audits:review; contextual checks | mapped | services/api/src/audits/routes.ts:639 |
POST /api/v1/ask-sentinel/quality/feedback | ASK-03 | Current owner; Ask gate; tool/action permission checks | mapped | services/api/src/ask-sentinel/routes.ts:61 |
GET /api/v1/ask-sentinel/quality/tenant | ASK-03 | ask:quality:review or platform override | mapped | services/api/src/ask-sentinel/routes.ts:84 |
GET /api/v1/ask-sentinel/quality/platform | ASK-03 | platform:admin | mapped | services/api/src/ask-sentinel/routes.ts:91 |
POST /api/v1/ask-sentinel/quality/:id/evaluations | ASK-03 | ask:quality:review or platform override | mapped | services/api/src/ask-sentinel/routes.ts:98 |
POST /api/v1/ask-sentinel/conversations | ASK-01 | Current owner; Ask gate; tool/action permission checks | mapped | services/api/src/ask-sentinel/routes.ts:127 |
GET /api/v1/ask-sentinel/conversations | ASK-01 | Current owner; Ask gate; tool/action permission checks | mapped | services/api/src/ask-sentinel/routes.ts:137 |
GET /api/v1/ask-sentinel/conversations/:id | ASK-01 | Current owner; Ask gate; tool/action permission checks | mapped | services/api/src/ask-sentinel/routes.ts:144 |
DELETE /api/v1/ask-sentinel/conversations/:id | ASK-01 | Current owner; Ask gate; tool/action permission checks | mapped | services/api/src/ask-sentinel/routes.ts:152 |
POST /api/v1/ask-sentinel/conversations/:id/turns | ASK-01 | Current owner; Ask gate; tool/action permission checks | mapped | services/api/src/ask-sentinel/routes.ts:158 |
GET /api/v1/ask-sentinel/runs/:id | ASK-01 | Current owner; Ask gate; tool/action permission checks | mapped | services/api/src/ask-sentinel/routes.ts:176 |
POST /api/v1/ask-sentinel/runs/:id/retry | ASK-01 | Current owner; Ask gate; tool/action permission checks | mapped | services/api/src/ask-sentinel/routes.ts:189 |
POST /api/v1/ask-sentinel/actions/:id/confirm | ASK-02 | Current owner; Ask gate; tool/action permission checks | mapped | services/api/src/ask-sentinel/routes.ts:203 |
POST /api/v1/ask-sentinel/actions/:id/cancel | ASK-02 | Current owner; Ask gate; tool/action permission checks | mapped | services/api/src/ask-sentinel/routes.ts:222 |
POST /api/v1/calibration-sampling | QMS-08 | calibrations:manage; contextual checks | mapped | services/api/src/calibration-sampling/routes.ts:57 |
GET /api/v1/calibration-sampling | QMS-08 | calibrations:manage; contextual checks | mapped | services/api/src/calibration-sampling/routes.ts:102 |
PUT /api/v1/calibration-sampling/:samplingId | QMS-08 | calibrations:manage; contextual checks | mapped | services/api/src/calibration-sampling/routes.ts:118 |
GET /api/v1/calibration-sampling/:samplingId | QMS-08 | calibrations:manage; contextual checks | mapped | services/api/src/calibration-sampling/routes.ts:175 |
GET /api/v1/learning/progress | LRN-01 | qms:read; own progress | mapped | services/api/src/learning/routes.ts:14 |
PUT /api/v1/learning/progress/:articleId | LRN-01 | qms:read; own progress | mapped | services/api/src/learning/routes.ts:21 |
POST /api/v1/integrations/live-assist/sessions/:id/events | ASK-06 | Integration/provider authentication; tenant/channel binding | mapped | services/api/src/live-assist/integration-routes.ts:13 |
POST /api/v1/interactions | INT-12 | interactions:write; contextual checks | mapped | services/api/src/interactions/routes.ts:97 |
GET /api/v1/interactions | INT-01 | qms:read; contextual checks | mapped | services/api/src/interactions/routes.ts:143 |
POST /api/v1/interactions/bulk | INT-10 | interactions:write; contextual checks | mapped | services/api/src/interactions/routes.ts:229 |
GET /api/v1/interactions/:interactionId | INT-01 | qms:read; contextual checks | mapped | services/api/src/interactions/routes.ts:320 |
DELETE /api/v1/interactions/:interactionId | INT-10 | interactions:write; contextual checks | mapped | services/api/src/interactions/routes.ts:345 |
PATCH /api/v1/interactions/:interactionId/status | INT-10 | interactions:write; contextual checks | mapped | services/api/src/interactions/routes.ts:445 |
POST /api/v1/interactions/:interactionId/assign | INT-09 | audits:manage; contextual checks | mapped | services/api/src/interactions/routes.ts:460 |
POST /api/v1/interactions/:interactionId/unassign | INT-09 | audits:manage; contextual checks | mapped | services/api/src/interactions/routes.ts:486 |
GET /api/v1/ai-jobs | OPS-10 | audits:manage; contextual checks | mapped | services/api/src/jobs/routes.ts:33 |
GET /api/v1/journeys/coaching-suggestions | JNY-07 | operations:manage; contextual checks | mapped | services/api/src/journeys/routes.ts:525 |
GET /api/v1/journeys/analytics | JNY-04 | qms:read; contextual checks | mapped | services/api/src/journeys/routes.ts:566 |
GET /api/v1/journeys | JNY-04 | qms:read; contextual checks | mapped | services/api/src/journeys/routes.ts:586 |
GET /api/v1/interactions/:interactionId/analysis | INT-11 | qms:read; contextual checks | mapped | services/api/src/interaction-analyses/routes.ts:136 |
GET /api/v1/internal/interaction-analyses/context/:interactionId | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/interaction-analyses/routes.ts:148 |
POST /api/v1/internal/interaction-analyses/results | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/interaction-analyses/routes.ts:215 |
POST /api/v1/auth/login | ACC-01 | Local identity/session or single-use token; see workflow | mapped | services/api/src/identity/routes.ts:45 |
POST /api/v1/auth/logout | ACC-01 | Local identity/session or single-use token; see workflow | mapped | services/api/src/identity/routes.ts:103 |
GET /api/v1/auth/session | ACC-01 | Local identity/session or single-use token; see workflow | mapped | services/api/src/identity/routes.ts:120 |
POST /api/v1/auth/accept-invitation | ACC-02 | Local identity/session or single-use token; see workflow | mapped | services/api/src/identity/routes.ts:132 |
POST /api/v1/auth/password-reset/request | ACC-03 | Local identity/session or single-use token; see workflow | mapped | services/api/src/identity/routes.ts:139 |
POST /api/v1/auth/password-reset/complete | ACC-03 | Local identity/session or single-use token; see workflow | mapped | services/api/src/identity/routes.ts:149 |
GET /api/v1/integrations/management | OPS-01 | integrations:manage (router middleware) | mapped | services/api/src/integrations/management-routes.ts:36 |
POST /api/v1/integrations/management | OPS-01 | Owner or platform override | mapped | services/api/src/integrations/management-routes.ts:41 |
POST /api/v1/integrations/management/validate | OPS-01 | integrations:manage (router middleware) | mapped | services/api/src/integrations/management-routes.ts:53 |
POST /api/v1/integrations/management/:publicId/rotate | OPS-01 | Owner or platform override | mapped | services/api/src/integrations/management-routes.ts:99 |
POST /api/v1/integrations/management/:publicId/deactivate | OPS-01 | Owner or platform override | mapped | services/api/src/integrations/management-routes.ts:108 |
POST /api/v1/case-reason-taxonomies/enrich-item | JNY-02 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:77 |
POST /api/v1/troubleshooting-processes/enrich-item | JNY-02 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:77 |
POST /api/v1/action-catalogs/enrich-item | JNY-02 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:77 |
GET /api/v1/case-reason-taxonomies | JNY-01 | qms:read | mapped | services/api/src/journey-config/routes.ts:176 |
GET /api/v1/troubleshooting-processes | JNY-01 | qms:read | mapped | services/api/src/journey-config/routes.ts:176 |
GET /api/v1/action-catalogs | JNY-01 | qms:read | mapped | services/api/src/journey-config/routes.ts:176 |
GET /api/v1/case-reason-taxonomies/:id | JNY-01 | qms:read | mapped | services/api/src/journey-config/routes.ts:190 |
GET /api/v1/troubleshooting-processes/:id | JNY-01 | qms:read | mapped | services/api/src/journey-config/routes.ts:190 |
GET /api/v1/action-catalogs/:id | JNY-01 | qms:read | mapped | services/api/src/journey-config/routes.ts:190 |
POST /api/v1/case-reason-taxonomies | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:198 |
POST /api/v1/troubleshooting-processes | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:198 |
POST /api/v1/action-catalogs | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:198 |
PATCH /api/v1/case-reason-taxonomies/:id | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:211 |
PATCH /api/v1/troubleshooting-processes/:id | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:211 |
PATCH /api/v1/action-catalogs/:id | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:211 |
POST /api/v1/case-reason-taxonomies/:id/publish | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:227 |
POST /api/v1/troubleshooting-processes/:id/publish | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:227 |
POST /api/v1/action-catalogs/:id/publish | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:227 |
POST /api/v1/case-reason-taxonomies/:id/retire | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:249 |
POST /api/v1/troubleshooting-processes/:id/retire | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:249 |
POST /api/v1/action-catalogs/:id/retire | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:249 |
POST /api/v1/case-reason-taxonomies/:id/archive | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:263 |
POST /api/v1/troubleshooting-processes/:id/archive | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:263 |
POST /api/v1/action-catalogs/:id/archive | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:263 |
POST /api/v1/case-reason-taxonomies/:id/restore | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:278 |
POST /api/v1/troubleshooting-processes/:id/restore | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:278 |
POST /api/v1/action-catalogs/:id/restore | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:278 |
DELETE /api/v1/case-reason-taxonomies/:id | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:294 |
DELETE /api/v1/troubleshooting-processes/:id | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:294 |
DELETE /api/v1/action-catalogs/:id | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:294 |
POST /api/v1/case-reason-taxonomies/:id/revisions | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:307 |
POST /api/v1/troubleshooting-processes/:id/revisions | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:307 |
POST /api/v1/action-catalogs/:id/revisions | JNY-01 | molecules:manage | mapped | services/api/src/journey-config/routes.ts:307 |
POST /api/v1/live-assist/sessions | ASK-06 | qms:read; session ownership | mapped | services/api/src/live-assist/routes.ts:64 |
GET /api/v1/live-assist/sessions/:id | ASK-06 | qms:read; session ownership | mapped | services/api/src/live-assist/routes.ts:74 |
GET /api/v1/live-assist/sessions/:id/suggestions | ASK-06 | qms:read; session ownership | mapped | services/api/src/live-assist/routes.ts:82 |
GET /api/v1/live-assist/sessions/:id/metrics | ASK-06 | qms:read; session ownership | mapped | services/api/src/live-assist/routes.ts:90 |
POST /api/v1/live-assist/sessions/:id/events | ASK-06 | qms:read; session ownership | mapped | services/api/src/live-assist/routes.ts:100 |
POST /api/v1/live-assist/sessions/:id/audio | ASK-06 | qms:read; session ownership | mapped | services/api/src/live-assist/routes.ts:118 |
POST /api/v1/live-assist/sessions/:id/feedback | ASK-06 | qms:read; session ownership | mapped | services/api/src/live-assist/routes.ts:142 |
POST /api/v1/live-assist/sessions/:id/close | ASK-06 | qms:read; session ownership | mapped | services/api/src/live-assist/routes.ts:158 |
GET /api/v1/interaction-imports/profiles | INT-04 | interactions:write; contextual checks | mapped | services/api/src/interaction-imports/routes.ts:24 |
POST /api/v1/interaction-imports/profiles | INT-04 | interactions:write; contextual checks | mapped | services/api/src/interaction-imports/routes.ts:25 |
PUT /api/v1/interaction-imports/profiles/:id | INT-04 | interactions:write; contextual checks | mapped | services/api/src/interaction-imports/routes.ts:31 |
DELETE /api/v1/interaction-imports/profiles/:id | INT-04 | interactions:write; contextual checks | mapped | services/api/src/interaction-imports/routes.ts:39 |
POST /api/v1/interaction-imports/batches | INT-04 | interactions:write; contextual checks | mapped | services/api/src/interaction-imports/routes.ts:40 |
POST /api/v1/interaction-imports/voice-batches | INT-05 | interactions:write; contextual checks | mapped | services/api/src/interaction-imports/routes.ts:50 |
POST /api/v1/interaction-imports/voice-media | INT-05 | interactions:write; contextual checks | mapped | services/api/src/interaction-imports/routes.ts:60 |
POST /api/v1/knowledge | KNO-02 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:188 |
GET /api/v1/knowledge/drafts | KNO-02 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:231 |
GET /api/v1/knowledge/workspace | KNO-02 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:242 |
GET /api/v1/knowledge | KNO-01 | qms:read; contextual checks | mapped | services/api/src/knowledge/routes.ts:266 |
POST /api/v1/knowledge/search | KNO-02 | qms:read; contextual checks | mapped | services/api/src/knowledge/routes.ts:287 |
GET /api/v1/knowledge/:articleId/usage | KNO-03 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:333 |
GET /api/v1/knowledge/:articleId/sections/:sectionKey | KNO-01 | qms:read; contextual checks | mapped | services/api/src/knowledge/routes.ts:351 |
GET /api/v1/knowledge/:articleId/retrieve | KNO-01 | qms:read; contextual checks | mapped | services/api/src/knowledge/routes.ts:365 |
GET /api/v1/knowledge/:articleId/related | KNO-01 | qms:read; contextual checks | mapped | services/api/src/knowledge/routes.ts:378 |
GET /api/v1/knowledge/categories | KNO-05 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:389 |
GET /api/v1/knowledge/tags | KNO-05 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:390 |
POST /api/v1/knowledge/categories | KNO-05 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:401 |
POST /api/v1/knowledge/tags | KNO-05 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:402 |
PATCH /api/v1/knowledge/categories/:taxonomyId | KNO-05 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:423 |
PATCH /api/v1/knowledge/tags/:taxonomyId | KNO-05 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:424 |
DELETE /api/v1/knowledge/categories/:taxonomyId | KNO-05 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:438 |
DELETE /api/v1/knowledge/tags/:taxonomyId | KNO-05 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:439 |
GET /api/v1/knowledge/content | KNO-04 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:441 |
POST /api/v1/knowledge/:articleId/enrich | KNO-06 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:456 |
GET /api/v1/knowledge/:articleId/enrich/:jobId | KNO-06 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:471 |
POST /api/v1/knowledge/:articleId/enrich/apply | KNO-06 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:486 |
GET /api/v1/knowledge/drafts/:articleId | KNO-02 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:514 |
POST /api/v1/knowledge/:articleId/archive | KNO-03 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:542 |
POST /api/v1/knowledge/:articleId/draft | KNO-03 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:543 |
GET /api/v1/knowledge/:articleId/assets | KNO-04 | Article reader/author visibility checks | mapped | services/api/src/knowledge/routes.ts:545 |
POST /api/v1/knowledge/:articleId/assets/uploads | KNO-04 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:555 |
POST /api/v1/knowledge/:articleId/assets/:attachmentId/complete | KNO-04 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:575 |
GET /api/v1/knowledge/:articleId/assets/:attachmentId/content | KNO-04 | Article reader/author visibility checks | mapped | services/api/src/knowledge/routes.ts:592 |
DELETE /api/v1/knowledge/:articleId/assets/:attachmentId | KNO-04 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:614 |
DELETE /api/v1/knowledge/:articleId | KNO-03 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:628 |
GET /api/v1/knowledge/:articleId/revisions | KNO-03 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:660 |
GET /api/v1/knowledge/:articleId/announcements | KNO-07 | knowledge:publish; contextual checks | mapped | services/api/src/knowledge/routes.ts:668 |
POST /api/v1/knowledge/:articleId/announcements | KNO-07 | knowledge:publish; contextual checks | mapped | services/api/src/knowledge/routes.ts:676 |
POST /api/v1/knowledge/:articleId/announcements/:campaignId/remind | KNO-07 | knowledge:publish; contextual checks | mapped | services/api/src/knowledge/routes.ts:750 |
GET /api/v1/knowledge/:articleId | KNO-01 | qms:read; contextual checks | mapped | services/api/src/knowledge/routes.ts:806 |
PATCH /api/v1/knowledge/:articleId | KNO-02 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:836 |
POST /api/v1/knowledge/:articleId/revisions/:revision/restore | KNO-03 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:866 |
POST /api/v1/knowledge/:articleId/publish | KNO-03 | knowledge:publish; contextual checks | mapped | services/api/src/knowledge/routes.ts:883 |
POST /api/v1/knowledge/:articleId/owner | KNO-05 | knowledge:write; contextual checks | mapped | services/api/src/knowledge/routes.ts:918 |
GET /api/v1/internal/llm-connections/:provider/:model | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/llm-connections/internal-routes.ts:20 |
GET /api/v1/internal/llm-connections/:id | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/llm-connections/internal-routes.ts:35 |
GET /api/v1/notifications/stream | INS-07 | Tenant-authenticated current recipient/user | mapped | services/api/src/notifications/routes.ts:26 |
GET /api/v1/notifications | INS-07 | Tenant-authenticated current recipient/user | mapped | services/api/src/notifications/routes.ts:52 |
PATCH /api/v1/notifications/:notificationId/read | INS-07 | Tenant-authenticated current recipient/user | mapped | services/api/src/notifications/routes.ts:80 |
POST /api/v1/notifications/read-all | INS-07 | Tenant-authenticated current recipient/user | mapped | services/api/src/notifications/routes.ts:88 |
POST /api/v1/retrieval/rebuild | OPS-12 | Owner or platform override | mapped | services/api/src/retrieval/routes.ts:10 |
POST /api/v1/re-reviews | QMS-06 | audits:manage; contextual checks | mapped | services/api/src/re-reviews/routes.ts:100 |
GET /api/v1/re-reviews | QMS-06 | re_reviews:review; audits:manage for managed scope | mapped | services/api/src/re-reviews/routes.ts:184 |
GET /api/v1/re-reviews/:reReviewId | QMS-06 | re_reviews:review; contextual checks | mapped | services/api/src/re-reviews/routes.ts:210 |
PUT /api/v1/re-reviews/:reReviewId/draft | QMS-06 | re_reviews:review; contextual checks | mapped | services/api/src/re-reviews/routes.ts:251 |
POST /api/v1/re-reviews/:reReviewId/submit | QMS-06 | re_reviews:review; contextual checks | mapped | services/api/src/re-reviews/routes.ts:359 |
POST /api/v1/internal/llm-usage | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/llm-usage/routes.ts:24 |
GET /api/v1/llm-usage/limits | OPS-06 | usage:read; contextual checks | mapped | services/api/src/llm-usage/routes.ts:52 |
GET /api/v1/llm-usage | OPS-06 | usage:read; contextual checks | mapped | services/api/src/llm-usage/routes.ts:58 |
GET /api/v1/llm-usage/summary | OPS-06 | usage:read; contextual checks | mapped | services/api/src/llm-usage/routes.ts:69 |
POST /api/v1/manual-calibrations | QMS-10 | calibrations:manage; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:54 |
GET /api/v1/manual-calibrations | QMS-10 | calibrations:manage; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:72 |
GET /api/v1/manual-calibrations/mine | QMS-11 | calibrations:review; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:86 |
GET /api/v1/manual-calibrations/assignments/:assignmentId | QMS-11 | calibrations:review; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:105 |
PUT /api/v1/manual-calibrations/assignments/:assignmentId/draft | QMS-11 | calibrations:review; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:124 |
POST /api/v1/manual-calibrations/assignments/:assignmentId/submit | QMS-11 | calibrations:review; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:146 |
GET /api/v1/manual-calibrations/:sessionId | QMS-10 | calibrations:manage; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:168 |
GET /api/v1/manual-calibrations/:sessionId/assignments | QMS-10 | calibrations:manage; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:181 |
PUT /api/v1/manual-calibrations/:sessionId/reference | QMS-10 | calibrations:manage; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:193 |
POST /api/v1/manual-calibrations/:sessionId/distribute | QMS-10 | calibrations:manage; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:211 |
POST /api/v1/manual-calibrations/:sessionId/finalize | QMS-12 | calibrations:manage; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:231 |
POST /api/v1/manual-calibrations/:sessionId/publish | QMS-12 | calibrations:manage; contextual checks | mapped | services/api/src/manual-calibrations/routes.ts:255 |
GET /api/v1/mutation-events | INS-08 | audit-trail:read; contextual checks | mapped | services/api/src/mutation-events/routes.ts:15 |
GET /api/v1/llm-connections | OPS-05 | members:manage; contextual checks | mapped | services/api/src/llm-connections/routes.ts:123 |
POST /api/v1/llm-connections | OPS-05 | Owner or platform override | mapped | services/api/src/llm-connections/routes.ts:129 |
PATCH /api/v1/llm-connections/:id | OPS-05 | Owner or platform override | mapped | services/api/src/llm-connections/routes.ts:173 |
DELETE /api/v1/llm-connections/:id | OPS-05 | Owner or platform override | mapped | services/api/src/llm-connections/routes.ts:232 |
POST /api/v1/llm-connections/:id/default | OPS-05 | Owner or platform override | mapped | services/api/src/llm-connections/routes.ts:257 |
POST /api/v1/llm-connections/chat | OPS-05 | Owner or platform override | mapped | services/api/src/llm-connections/routes.ts:285 |
POST /api/v1/llm-connections/:id/test | OPS-05 | Owner or platform override | mapped | services/api/src/llm-connections/routes.ts:325 |
POST /api/v1/llm-connections/chat/jobs | OPS-05 | Owner or platform override | mapped | services/api/src/llm-connections/routes.ts:370 |
POST /api/v1/llm-connections/:id/test/jobs | OPS-05 | Owner or platform override | mapped | services/api/src/llm-connections/routes.ts:394 |
GET /api/v1/llm-connections/jobs | OPS-05 | Owner or platform override | mapped | services/api/src/llm-connections/routes.ts:422 |
GET /api/v1/llm-connections/jobs/:jobId | OPS-05 | Owner or platform override | mapped | services/api/src/llm-connections/routes.ts:440 |
GET /api/v1/llm-prices | OPS-06 | usage:read; contextual checks | mapped | services/api/src/llm-prices/routes.ts:13 |
POST /api/v1/platform/auth/login | OPS-07 | Operator credentials; throttled | mapped | services/api/src/platform/routes.ts:129 |
POST /api/v1/platform/auth/logout | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:131 |
GET /api/v1/platform/auth/session | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:136 |
GET /api/v1/platform/llm-models | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:137 |
PUT /api/v1/platform/llm-models | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:142 |
DELETE /api/v1/platform/llm-models | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:160 |
GET /api/v1/platform/transcriber-policy | OPS-09 | Platform operator session | mapped | services/api/src/platform/routes.ts:169 |
PUT /api/v1/platform/transcriber-policy | OPS-09 | Platform operator session | mapped | services/api/src/platform/routes.ts:173 |
GET /api/v1/platform/tenants/:tenantId/transcriber-policy | OPS-09 | Platform operator session | mapped | services/api/src/platform/routes.ts:182 |
PUT /api/v1/platform/tenants/:tenantId/transcriber-policy | OPS-09 | Platform operator session | mapped | services/api/src/platform/routes.ts:194 |
DELETE /api/v1/platform/tenants/:tenantId/transcriber-policy | OPS-09 | Platform operator session | mapped | services/api/src/platform/routes.ts:208 |
DELETE /api/v1/platform/tenants/:tenantId/transcriber-policy/:field | OPS-09 | Platform operator session | mapped | services/api/src/platform/routes.ts:220 |
GET /api/v1/platform/ask-sentinel-quality | ASK-03 | Platform operator session | mapped | services/api/src/platform/routes.ts:234 |
POST /api/v1/platform/ask-sentinel-quality/:id/evaluations | ASK-03 | Platform operator session | mapped | services/api/src/platform/routes.ts:245 |
GET /api/v1/platform/tenants | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:262 |
GET /api/v1/platform/tenants/:tenantId | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:263 |
GET /api/v1/platform/tenants/:tenantId/members | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:264 |
POST /api/v1/platform/tenants/:tenantId/members | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:265 |
PATCH /api/v1/platform/tenants/:tenantId/members/:memberId/status | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:266 |
PATCH /api/v1/platform/tenants/:tenantId/members/:memberId/password | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:267 |
PATCH /api/v1/platform/tenants/:tenantId/members/:memberId | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:268 |
POST /api/v1/platform/tenants | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:269 |
PATCH /api/v1/platform/tenants/:tenantId | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:270 |
GET /api/v1/platform/audit-events | OPS-07 | Platform operator session | mapped | services/api/src/platform/routes.ts:271 |
GET /api/v1/platform/llm-usage | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:274 |
GET /api/v1/platform/llm-usage/export.csv | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:275 |
GET /api/v1/platform/tenants/:tenantId/llm-usage | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:277 |
GET /api/v1/platform/llm-prices | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:282 |
PUT /api/v1/platform/llm-prices | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:292 |
DELETE /api/v1/platform/llm-prices | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:303 |
GET /api/v1/platform/tenants/:tenantId/llm-usage-limit | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:317 |
PUT /api/v1/platform/tenants/:tenantId/llm-usage-limit | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:321 |
POST /api/v1/platform/tenants/:tenantId/llm-usage-limit/reset | OPS-08 | Platform operator session | mapped | services/api/src/platform/routes.ts:331 |
GET /api/v1/reports/pilot-analytics | INS-02 | qms:read; contextual checks | mapped | services/api/src/reports/routes.ts:471 |
GET /api/v1/reports/knowledge-adherence | INS-02 | qms:read; contextual checks | mapped | services/api/src/reports/routes.ts:576 |
GET /api/v1/reports/knowledge-adherence/export.csv | INS-02 | qms:read; contextual checks | mapped | services/api/src/reports/routes.ts:583 |
GET /api/v1/reports/audit-reports/filter-options | INS-02 | qms:read; contextual checks | mapped | services/api/src/reports/routes.ts:817 |
GET /api/v1/reports/audit-reports/export.csv | INS-02 | qms:read; contextual checks | mapped | services/api/src/reports/routes.ts:822 |
GET /api/v1/reports/audit-reports | INS-02 | qms:read; contextual checks | mapped | services/api/src/reports/routes.ts:853 |
GET /api/v1/reports | INS-02 | qms:read; contextual checks | mapped | services/api/src/reports/routes.ts:1039 |
GET /api/v1/reports/filter-options | INS-02 | qms:read; contextual checks | mapped | services/api/src/reports/routes.ts:1053 |
GET /api/v1/reports/export.csv | INS-02 | qms:read; contextual checks | mapped | services/api/src/reports/routes.ts:1058 |
GET /api/v1/molecules | EVA-03 | qms:read; contextual checks | mapped | services/api/src/molecules/routes.ts:49 |
GET /api/v1/molecules/:id/usage | EVA-03 | qms:read; contextual checks | mapped | services/api/src/molecules/routes.ts:68 |
GET /api/v1/molecules/:id | EVA-03 | qms:read; contextual checks | mapped | services/api/src/molecules/routes.ts:76 |
POST /api/v1/molecules/bulk | EVA-04 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:83 |
POST /api/v1/molecules | EVA-03 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:115 |
PATCH /api/v1/molecules/:id | EVA-03 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:128 |
POST /api/v1/molecules/:id/archive | EVA-04 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:141 |
POST /api/v1/molecules/:id/restore | EVA-04 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:142 |
DELETE /api/v1/molecules/:id/versions/:versionId | EVA-04 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:143 |
DELETE /api/v1/molecules/:id | EVA-04 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:156 |
PATCH /api/v1/molecules/:id/versions/:versionId | EVA-03 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:171 |
POST /api/v1/molecules/:id/revisions | EVA-04 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:185 |
POST /api/v1/molecules/:id/versions/:version/publish | EVA-04 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:197 |
POST /api/v1/molecules/:id/versions/:version/retire | EVA-04 | molecules:manage (manage middleware) | mapped | services/api/src/molecules/routes.ts:198 |
GET /api/v1/my-work/summary | INS-07 | Tenant-authenticated current recipient/user | mapped | services/api/src/work/my-work-routes.ts:29 |
GET /api/v1/search | INT-01 | qms:read; contextual checks | mapped | services/api/src/search/routes.ts:38 |
POST /api/v1/integrations/transcription-results/audio | OPS-01 | Integration/provider authentication; tenant/channel binding | mapped | services/api/src/transcription-results/routes.ts:84 |
POST /api/v1/integrations/transcription-results/source-audio | OPS-01 | Integration/provider authentication; tenant/channel binding | mapped | services/api/src/transcription-results/routes.ts:148 |
POST /api/v1/integrations/transcription-results | OPS-01 | Integration/provider authentication; tenant/channel binding | mapped | services/api/src/transcription-results/routes.ts:202 |
GET /api/v1/interactions/:interactionId/transcription-result | INT-01 | qms:read; contextual checks | mapped | services/api/src/transcription-results/routes.ts:324 |
GET /api/v1/teams | ACC-07 | teams:read; contextual checks | mapped | services/api/src/teams/routes.ts:27 |
POST /api/v1/teams | ACC-07 | teams:manage; contextual checks | mapped | services/api/src/teams/routes.ts:32 |
GET /api/v1/teams/:teamId | ACC-07 | teams:read; contextual checks | mapped | services/api/src/teams/routes.ts:81 |
PATCH /api/v1/teams/:teamId | ACC-07 | teams:manage; contextual checks | mapped | services/api/src/teams/routes.ts:89 |
POST /api/v1/teams/:teamId/members | ACC-07 | teams:manage; contextual checks | mapped | services/api/src/teams/routes.ts:133 |
DELETE /api/v1/teams/:teamId/members/:accountId | ACC-07 | teams:manage; contextual checks | mapped | services/api/src/teams/routes.ts:148 |
GET /api/v1/training/programs | LRN-04 | qms:read; contextual checks | mapped | services/api/src/training/routes.ts:28 |
GET /api/v1/training/manage/programs | LRN-02 | members:manage; contextual checks | mapped | services/api/src/training/routes.ts:31 |
GET /api/v1/training/manage/assignments | LRN-03 | members:manage; contextual checks | mapped | services/api/src/training/routes.ts:34 |
POST /api/v1/training/programs | LRN-02 | members:manage; contextual checks | mapped | services/api/src/training/routes.ts:72 |
GET /api/v1/training/programs/:programId | LRN-02 | members:manage; contextual checks | mapped | services/api/src/training/routes.ts:83 |
PATCH /api/v1/training/programs/:programId | LRN-02 | members:manage; contextual checks | mapped | services/api/src/training/routes.ts:86 |
POST /api/v1/training/programs/:programId/publish | LRN-02 | members:manage; contextual checks | mapped | services/api/src/training/routes.ts:98 |
POST /api/v1/training/programs/:programId/revise | LRN-02 | members:manage; contextual checks | mapped | services/api/src/training/routes.ts:111 |
POST /api/v1/training/programs/:programId/archive | LRN-02 | members:manage; contextual checks | mapped | services/api/src/training/routes.ts:122 |
POST /api/v1/training/programs/:programId/assign | LRN-03 | members:manage; contextual checks | mapped | services/api/src/training/routes.ts:125 |
GET /api/v1/training/programs/:programId/assignments | LRN-03 | members:manage; contextual checks | mapped | services/api/src/training/routes.ts:144 |
GET /api/v1/training/me/assignments | LRN-04 | qms:read; contextual checks | mapped | services/api/src/training/routes.ts:147 |
GET /api/v1/training/me/assignments/:assignmentId | LRN-04 | qms:read; contextual checks | mapped | services/api/src/training/routes.ts:150 |
POST /api/v1/training/me/assignments/:assignmentId/steps/:stepId/acknowledge | LRN-04 | qms:read; contextual checks | mapped | services/api/src/training/routes.ts:153 |
POST /api/v1/training/me/assignments/:assignmentId/quizzes/:stepId/attempts | LRN-04 | qms:read; contextual checks | mapped | services/api/src/training/routes.ts:163 |
POST /api/v1/scorecards | EVA-05 | scorecards:write; contextual checks | mapped | services/api/src/scorecards/routes.ts:113 |
GET /api/v1/scorecards | EVA-05 | qms:read; contextual checks | mapped | services/api/src/scorecards/routes.ts:168 |
DELETE /api/v1/scorecards/:scorecardId | EVA-06 | scorecards:write; contextual checks | mapped | services/api/src/scorecards/routes.ts:183 |
GET /api/v1/scorecards/:scorecardId/versions/:version | EVA-05 | qms:read; contextual checks | mapped | services/api/src/scorecards/routes.ts:248 |
POST /api/v1/scorecards/:scorecardId/versions | EVA-06 | scorecards:write; contextual checks | mapped | services/api/src/scorecards/routes.ts:278 |
POST /api/v1/scorecards/:scorecardId/versions/:version/publish | EVA-06 | scorecards:publish; contextual checks | mapped | services/api/src/scorecards/routes.ts:367 |
PATCH /api/v1/scorecards/:scorecardId/versions/:version | EVA-05 | scorecards:write; contextual checks | mapped | services/api/src/scorecards/routes.ts:444 |
GET /api/v1/scorecards/:scorecardId/feedback | EVA-06 | qms:read; contextual checks | mapped | services/api/src/scorecards/routes.ts:466 |
GET /api/v1/scorecard-assignments | EVA-07 | qms:read; contextual checks | mapped | services/api/src/scorecards/routes.ts:499 |
POST /api/v1/scorecard-assignments | EVA-07 | scorecards:assign; contextual checks | mapped | services/api/src/scorecards/routes.ts:508 |
POST /api/v1/scorecard-assignments/resolve | EVA-07 | qms:read; contextual checks | mapped | services/api/src/scorecards/routes.ts:566 |
PATCH /api/v1/scorecard-assignments/:assignmentId | EVA-07 | scorecards:assign; contextual checks | mapped | services/api/src/scorecards/routes.ts:603 |
GET /api/v1/tenant-llm-settings | OPS-05 | members:manage; contextual checks | mapped | services/api/src/tenant-llm-settings/routes.ts:35 |
PUT /api/v1/tenant-llm-settings | OPS-05 | Owner or platform override | mapped | services/api/src/tenant-llm-settings/routes.ts:41 |
POST /api/v1/internal/transcription-results/results | INT-08 | Service authentication; tenant/job binding | mapped | services/api/src/transcription-jobs/routes-review.ts:74 |
POST /api/v1/internal/transcription-results/audio | INT-08 | Service authentication; tenant/job binding | mapped | services/api/src/transcription-jobs/routes-review.ts:154 |
GET /api/v1/transcription-review | INT-08 | transcriptions:manage; contextual checks | mapped | services/api/src/transcription-jobs/routes-review.ts:212 |
GET /api/v1/transcription-review/:transcriptId | INT-08 | transcriptions:manage; contextual checks | mapped | services/api/src/transcription-jobs/routes-review.ts:223 |
POST /api/v1/transcription-review/:transcriptId/approve | INT-08 | transcriptions:manage; contextual checks | mapped | services/api/src/transcription-jobs/routes-review.ts:243 |
POST /api/v1/scorecard-suggestions | EVA-08 | scorecards:write; contextual checks | mapped | services/api/src/scorecard-suggestions/routes.ts:75 |
GET /api/v1/scorecard-suggestions/:suggestionId | EVA-08 | qms:read; contextual checks | mapped | services/api/src/scorecard-suggestions/routes.ts:128 |
POST /api/v1/scorecard-suggestions/:suggestionId/create-draft | EVA-08 | scorecards:write; contextual checks | mapped | services/api/src/scorecard-suggestions/routes.ts:135 |
POST /api/v1/internal/scorecard-suggestions/results | OPS-10 | Service authentication; tenant/job binding | mapped | services/api/src/scorecard-suggestions/routes.ts:151 |
GET /api/v1/preferences/me/principal | ACC-10 | qms:read; contextual checks | mapped | services/api/src/user-preferences/routes.ts:15 |
GET /api/v1/preferences/me | ACC-10 | qms:read; contextual checks | mapped | services/api/src/user-preferences/routes.ts:20 |
PUT /api/v1/preferences/me | ACC-10 | qms:read; contextual checks | mapped | services/api/src/user-preferences/routes.ts:32 |
GET /api/v1/saved-views/filters | INS-03 | qms:read; contextual checks | mapped | services/api/src/saved-views/routes.ts:22 |
POST /api/v1/saved-views/filters | INS-03 | qms:read; contextual checks | mapped | services/api/src/saved-views/routes.ts:27 |
DELETE /api/v1/saved-views/filters/:filterId | INS-03 | qms:read; contextual checks | mapped | services/api/src/saved-views/routes.ts:40 |
GET /api/v1/saved-views/report-views | INS-03 | qms:read; contextual checks | mapped | services/api/src/saved-views/routes.ts:49 |
POST /api/v1/saved-views/report-views | INS-03 | qms:read; contextual checks | mapped | services/api/src/saved-views/routes.ts:54 |
PATCH /api/v1/saved-views/report-views/:viewId | INS-03 | qms:read; contextual checks | mapped | services/api/src/saved-views/routes.ts:67 |
DELETE /api/v1/saved-views/report-views/:viewId | INS-03 | qms:read; contextual checks | mapped | services/api/src/saved-views/routes.ts:78 |
GET /api/v1/transcription-jobs/:transcriptId | INT-07 | qms:read; contextual checks | mapped | services/api/src/transcription-jobs/routes.ts:65 |
GET /api/v1/transcription-jobs | INT-07 | transcriptions:manage; contextual checks | mapped | services/api/src/transcription-jobs/routes.ts:98 |
POST /api/v1/transcription-jobs/:transcriptId/cancel | INT-07 | transcriptions:manage; contextual checks | mapped | services/api/src/transcription-jobs/routes.ts:161 |
GET /api/v1/improvements | JNY-05 | operations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:122 |
GET /api/v1/report-templates | OPS-13 | reports:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:122 |
GET /api/v1/report-schedules | OPS-13 | reports:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:122 |
GET /api/v1/report-runs | OPS-13 | reports:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:122 |
GET /api/v1/surveys | JNY-08 | integrations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:122 |
GET /api/v1/case-reason-taxonomies | JNY-01 | molecules:manage; generic resource checks | shadowed: Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path. | services/api/src/workspace/routes.ts:122 |
GET /api/v1/troubleshooting-processes | JNY-01 | molecules:manage; generic resource checks | shadowed: Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path. | services/api/src/workspace/routes.ts:122 |
GET /api/v1/action-catalog | JNY-01 | molecules:manage; generic resource checks | mapped: Legacy singular resource alias; dedicated editor uses action-catalogs. | services/api/src/workspace/routes.ts:122 |
GET /api/v1/candidate-reviews | OPS-13 | molecules:manage; generic resource checks | shadowed: Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path. | services/api/src/workspace/routes.ts:122 |
GET /api/v1/journeys | OPS-13 | integrations:manage; generic resource checks | shadowed: Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path. | services/api/src/workspace/routes.ts:122 |
GET /api/v1/integration-health | OPS-13 | integrations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:122 |
POST /api/v1/improvements | JNY-05 | operations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/report-templates | OPS-13 | reports:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/report-schedules | OPS-13 | reports:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/report-runs | OPS-13 | reports:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/surveys | JNY-08 | integrations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/case-reason-taxonomies | JNY-01 | molecules:manage; generic resource checks | shadowed: Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/troubleshooting-processes | JNY-01 | molecules:manage; generic resource checks | shadowed: Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/action-catalog | JNY-01 | molecules:manage; generic resource checks | mapped: Legacy singular resource alias; dedicated editor uses action-catalogs. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/candidate-reviews | OPS-13 | molecules:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/journeys | OPS-13 | integrations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/integration-health | OPS-13 | integrations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:134 |
POST /api/v1/improvements/:id/revisions | JNY-05 | operations:manage; generic resource checks | unsupported: Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/report-templates/:id/revisions | OPS-13 | reports:manage; generic resource checks | unsupported: Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/report-schedules/:id/revisions | OPS-13 | reports:manage; generic resource checks | unsupported: Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/report-runs/:id/revisions | OPS-13 | reports:manage; generic resource checks | unsupported: Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/surveys/:id/revisions | JNY-08 | integrations:manage; generic resource checks | unsupported: Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/case-reason-taxonomies/:id/revisions | JNY-01 | molecules:manage; generic resource checks | shadowed: Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/troubleshooting-processes/:id/revisions | JNY-01 | molecules:manage; generic resource checks | shadowed: Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/action-catalog/:id/revisions | JNY-01 | molecules:manage; generic resource checks | mapped: Legacy singular resource alias; dedicated editor uses action-catalogs. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/candidate-reviews/:id/revisions | OPS-13 | molecules:manage; generic resource checks | unsupported: Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/journeys/:id/revisions | OPS-13 | integrations:manage; generic resource checks | unsupported: Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/integration-health/:id/revisions | OPS-13 | integrations:manage; generic resource checks | unsupported: Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions. | services/api/src/workspace/routes.ts:162 |
POST /api/v1/improvements/:id/transition | JNY-05 | operations:manage; contextual checks | mapped | services/api/src/workspace/routes.ts:179 |
POST /api/v1/improvements/:id/measurements/baseline | JNY-06 | operations:manage; contextual checks | mapped | services/api/src/workspace/routes.ts:195 |
POST /api/v1/improvements/:id/measurements/pilot | JNY-06 | operations:manage; contextual checks | mapped | services/api/src/workspace/routes.ts:195 |
PATCH /api/v1/improvements/:id | JNY-05 | operations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:241 |
PATCH /api/v1/report-templates/:id | OPS-13 | reports:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:241 |
PATCH /api/v1/report-schedules/:id | OPS-13 | reports:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:241 |
PATCH /api/v1/report-runs/:id | OPS-13 | reports:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:241 |
PATCH /api/v1/surveys/:id | JNY-08 | integrations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:241 |
PATCH /api/v1/case-reason-taxonomies/:id | JNY-01 | molecules:manage; generic resource checks | shadowed: Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path. | services/api/src/workspace/routes.ts:241 |
PATCH /api/v1/troubleshooting-processes/:id | JNY-01 | molecules:manage; generic resource checks | shadowed: Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path. | services/api/src/workspace/routes.ts:241 |
PATCH /api/v1/action-catalog/:id | JNY-01 | molecules:manage; generic resource checks | mapped: Legacy singular resource alias; dedicated editor uses action-catalogs. | services/api/src/workspace/routes.ts:241 |
PATCH /api/v1/candidate-reviews/:id | OPS-13 | molecules:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:241 |
PATCH /api/v1/journeys/:id | OPS-13 | integrations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:241 |
PATCH /api/v1/integration-health/:id | OPS-13 | integrations:manage; generic resource checks | mapped: Generic storage operation; capability limits in the linked workflow. | services/api/src/workspace/routes.ts:241 |
POST /api/v1/ai-enrichments | EVA-11 | Per-kind feature permission and enablement | mapped | services/api/src/ai-enrichments/service.ts:122 |
GET /api/v1/ai-enrichments | EVA-11 | Per-kind feature permission and enablement | mapped | services/api/src/ai-enrichments/service.ts:147 |
GET /api/v1/ai-enrichments/:proposalId | EVA-11 | Per-kind feature permission and enablement | mapped | services/api/src/ai-enrichments/service.ts:157 |
POST /api/v1/ai-enrichments/:proposalId/apply | EVA-11 | Per-kind feature permission and enablement | mapped | services/api/src/ai-enrichments/service.ts:174 |
POST /api/v1/ai-enrichments/:proposalId/retry | EVA-11 | Per-kind feature permission and enablement | mapped | services/api/src/ai-enrichments/service.ts:188 |
POST /api/v1/ai-enrichments/:proposalId/discard | EVA-11 | Per-kind feature permission and enablement | mapped | services/api/src/ai-enrichments/service.ts:204 |
GET /api/v1/interaction-analyses/operations | INT-11 | audits:manage; contextual checks | mapped | services/api/src/interaction-analyses/reanalysis.ts:46 |
POST /api/v1/interaction-analyses/reanalysis | INT-11 | audits:manage; contextual checks | mapped | services/api/src/interaction-analyses/reanalysis.ts:77 |
POST /api/v1/molecule-proposals/tags | EVA-10 | molecules:manage; contextual checks | mapped | services/api/src/molecules/proposals.ts:156 |
POST /api/v1/molecule-proposals/proposals | EVA-10 | molecules:manage; contextual checks | mapped | services/api/src/molecules/proposals.ts:172 |
GET /api/v1/molecule-proposals/proposals/:proposalId | EVA-10 | molecules:manage; contextual checks | mapped | services/api/src/molecules/proposals.ts:185 |
POST /api/v1/molecule-proposals/draft | EVA-10 | molecules:manage; contextual checks | mapped | services/api/src/molecules/proposals.ts:196 |
POST /api/v1/interactions/:interactionId/transcription | INT-02 | interactions:write; contextual checks | mapped | services/api/src/transcription-jobs/upload-route.ts:30 |
GET /health/live | OPS-10 | Public service health | mapped: Internal AI runtime service, separate origin from the Node API. | services/ai-runtime/src/sentinel_ai/main.py:99 |
GET /health/ready | OPS-10 | Public service health | mapped: Internal AI runtime service, separate origin from the Node API. | services/ai-runtime/src/sentinel_ai/main.py:103 |
POST /internal/v1/jobs | OPS-10 | X-Service-Token; versioned job validation | mapped: Internal AI runtime service, separate origin from the Node API. | services/ai-runtime/src/sentinel_ai/main.py:112 |
GET /api/docs | OPS-10 | Public supporting API documentation | supporting: Mounted middleware, not an Express router.get registration. | services/api/src/app.ts:627 |
Explicit exclusion EX-01
The final GET catch-all serves the SPA document for non-API paths when static hosting is configured. It is not a business workflow. Unmatched API paths remain JSON 404 responses. Browser unsupported/forbidden/error/loading presentations are shared navigation/recovery states, not missing domain workflows.