{"endpoints":{"/events/track":"POST - Record a client-side interaction event","/get_data":"GET - Optional cube/slider state","/health":"GET - Deployment self-check: storage layout, writability, database","/ingest":"POST - Ingest an STL from an external tool; optional first_name, returns a workshop_url + user_id","/ingest-test":"GET - Static harness to send the sample STL to /ingest from a browser","/models":"GET - List available models","/models/<filename>":"DELETE - Delete an uploaded model","/render":"POST - Render CAD view with parameters","/render/dotpad-hex":"POST - Get render as DotPad hex string for Web SDK","/render/fit-view":"POST - Render with the model framed to fit the display","/session/identify":"POST - Store email/consent for current session","/session/me":"GET - Return current session metadata","/session/models":"GET - List uploaded models for current session","/study":"GET - Participant view for a study session; models load per protocol step","/study/control":"GET - Experimenter control panel (requires ?token=)","/upload":"POST - Upload an STL or STEP model file","/viewer":"GET - Serve the HTML viewer (required for DotPad Web SDK)","/workshop":"GET - Simplified viewer; ?model= pre-loads, ?name= resolves a participant's first name"},"message":"Accessible 3D Viewer server","status":"running"}
