COVEROQ CAD API Documentation (.NET 10 Minimal APIs)
Welcome to the public API documentation for the COVEROQ CAD Platform C# .NET 10 backend.
🔗 Interactive OpenAPI / Swagger UI
An interactive OpenAPI specification and Swagger UI runner is built directly into the C# backend API server:
- Interactive Swagger UI:
/swagger - OpenAPI v1 Spec (JSON):
/swagger/v1/swagger.json
Using Swagger UI, administrators and storefront developers can inspect request/response schemas, test endpoints live, and pass the administrative authorization token.
🔐 Authentication & Authorization Schemes
The COVEROQ CAD API uses a dual access model:
- Public / Storefront Endpoints: Accessible anonymously without tokens, protected by CORS policy
AllowStorefrontEmbedand HMAC token signing for e-commerce security. - Administrative Endpoints (
/api/admin/*,/api/logs,/api/traces,/api/tests/*): Secured by theAdminOnlypolicy handled byAdminTokenAuthHandler. - Administrative endpoints require passing a secret token via either:
- Header:
X-Admin-Token: <token> - Header:
Authorization: Bearer <token>
- Header:
📋 API Endpoint Contracts
1. Health & System Diagnostics
GET /api/health
- Summary: Check system health status.
- Auth: Public
- Description: Verifies database connectivity, active CAD worker gateway SignalR connection (
/hubs/cad), and deployment version metadata. - Response (200 OK):
json { "status": "healthy", "database": "online", "cad_worker": "online", "version": { "release": "1.0.0", "built_at": "2026-09-29T12:00:00Z", "runtime": ".NET 10 (C# 10+)", "status": "online" } }
2. Models & Inspection
GET /api/models
- Summary: List available model templates.
- Auth: Public
- Description: Fetches all active parametric CAD model templates and parts in the catalog.
POST /api/models/inspect
- Summary: Inspect CAD model file (.FCStd).
- Auth: Admin (
X-Admin-Token) - Description: Uploads a
.FCStdCAD document to the worker via SignalR CadHub for headless inspection of theVarsspreadsheet table, parameters, bounds, GLB preview generation, and LCS anchor points.
POST /api/models/confirm
- Summary: Confirm model template import.
- Auth: Admin (
X-Admin-Token) - Description: Confirms and persists model template metadata, parameters, and 3D thumbnail Base64 in the database.
3. Orders & Parametric Model Configuration
POST /api/orders/configure
- Summary: Configure CAD model parameters.
- Auth: Public
- Description: Accepts user-selected parametric dimensions for a furniture model template, checks parameter bounds, and dispatches a 3D geometry generation job to the CAD worker gateway via SignalR CadHub.
GET /api/orders/{orderId}
- Summary: Get CAD order status and file links.
- Auth: Public
- Description: Queries the current status of a CAD generation order and retrieves URLs for generated GLB and STEP artifacts.
4. CAD Assembly Management (Studio)
GET /api/admin/assembly/{id}/tree
- Summary: Get assembly component tree.
- Auth: Admin (
X-Admin-Token) - Description: Retrieves the structural assembly hierarchy, master skeleton parameters, LCS (Local Coordinate System) anchor points, assigned child parts, and parameter bindings.
POST /api/admin/assembly/{id}/swap
- Summary: Swap assembly component.
- Auth: Admin (
X-Admin-Token) - Description: Swaps or assigns a replacement child part to a specific LCS anchor point inside an assembly.
POST /api/admin/assembly/{id}/recompute
- Summary: Recompute assembly skeleton parameters.
- Auth: Admin (
X-Admin-Token) - Description: Recomputes parametric skeleton expressions and updates LCS anchor coordinates across all assembly child components.
5. Distributed Tracing & Causality Queries
GET /api/traces
- Summary: List recent execution traces.
- Auth: Admin (
X-Admin-Token) - Description: Retrieves paginated root execution traces with total duration, span counts, and status filters.
GET /api/traces/{traceId}
- Summary: Get trace execution DAG graph.
- Auth: Admin (
X-Admin-Token) - Description: Fetches the full Directed Acyclic Graph (DAG) tree data for a specific operation trace ID.
6. Diagnostics, Telemetry & SignalR Hubs
POST /api/log
- Summary: Ingest client telemetry log event.
- Auth: Public
- Description: Ingests client-side logging events into backend Serilog sink.
GET /api/logs
- Summary: Get diagnostic logs.
- Auth: Admin (
X-Admin-Token) - Query Parameters:
lines(default: 100),exceptions_only,search,source,level.
SignalR Hub: /hubs/cad
- Protocol: WebSockets / SignalR
- Description: Persistent bidirectional connection for CAD worker registration (
RegisterWorker), job progress reports (ReportJobProgress), job completions (ReportJobCompleted), and telemetry log dispatches.
SignalR Hub: /hubs/telemetry
- Protocol: WebSockets / SignalR
- Description: Real-time log streaming (
ReceiveLog), trace updates (OnTraceSpanUpdated), and worker status broadcasts (WorkerStatusChanged).
🌐 Web Application & Static Content Routes
/-> Serves Web Hub (hub.html)./studio-> Serves CAD Product Studio UI (studio.html)./inspector-> Serves Model Inspector UI (inspector.html)./models-> Serves Model Management UI (models.html)./logs-> Serves Diagnostic Streaming & DAG UI (logs.html)./storage/{filepath}-> Serves 3D GLB, STEP, DXF, SVG, and WebP model files with proper MIME types.