API Endpoints
This page lists the major API endpoint groups in O.D.I.N. For full parameter details, response schemas, and "Try it out" functionality, use the interactive Swagger UI at /api/v1/docs on your running instance.
Printers
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET | /api/v1/printers | List all printers | viewer+ |
POST | /api/v1/printers | Add a printer | operator+ |
GET | /api/v1/printers/{id} | Get printer details | viewer+ |
PUT | /api/v1/printers/{id} | Update printer | operator+ |
DELETE | /api/v1/printers/{id} | Delete printer | admin |
POST | /api/v1/printers/{id}/pause | Pause active print | operator+ |
POST | /api/v1/printers/{id}/resume | Resume paused print | operator+ |
POST | /api/v1/printers/{id}/stop | Stop/cancel print | operator+ |
POST | /api/v1/printers/{id}/fan | Set fan speeds | operator+ |
POST | /api/v1/printers/{id}/speed | Set print speed | operator+ |
POST | /api/v1/printers/{id}/light | Toggle chamber light | operator+ |
POST | /api/v1/printers/{id}/plate-cleared | Confirm plate cleared | operator+ |
POST | /api/v1/printers/{id}/clear-errors | Clear HMS errors | operator+ |
Jobs
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET | /api/v1/jobs | List jobs | viewer+ |
POST | /api/v1/jobs | Create a job | operator+ |
GET | /api/v1/jobs/{id} | Get job details | viewer+ |
PUT | /api/v1/jobs/{id} | Update job | operator+ |
DELETE | /api/v1/jobs/{id} | Delete job | admin |
POST | /api/v1/jobs/batch | Batch send to multiple printers | operator+ |
POST | /api/v1/jobs/{id}/clone | Clone/reprint job | operator+ |
GET | /api/v1/jobs/filament-check | Check filament compatibility | viewer+ |
Models
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET | /api/v1/models | List models | viewer+ |
POST | /api/v1/models | Upload model (.3mf/.gcode) | operator+ |
GET | /api/v1/models/{id} | Get model details | viewer+ |
PUT | /api/v1/models/{id} | Update model metadata | operator+ |
DELETE | /api/v1/models/{id} | Delete model | admin |
GET | /api/v1/models/{id}/variants | List model variants (plate_count, filament) | viewer+ |
Archives
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET | /api/v1/archives | List archives (paginated, filterable) | viewer+ |
GET | /api/v1/archives/{id} | Get archive details | viewer+ |
PATCH | /api/v1/archives/{id} | Update archive notes/tags | operator+ |
DELETE | /api/v1/archives/{id} | Delete archive | admin |
POST | /api/v1/archives/{id}/reprint | Reprint from archive | operator+ |
GET | /api/v1/archives/log | Print log (dense table, CSV export) | viewer+ |
GET | /api/v1/archives/compare | Compare two archives | viewer+ |
GET | /api/v1/archives/tags | List all tags | viewer+ |
Spools
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET | /api/v1/spools | List spools | viewer+ |
POST | /api/v1/spools | Create spool | operator+ |
PUT | /api/v1/spools/{id} | Update spool | operator+ |
DELETE | /api/v1/spools/{id} | Delete spool | admin |
GET | /api/v1/spools/low-stock | Low-stock spools | viewer+ |
GET | /api/v1/spools/export | CSV export | viewer+ |
GET | /api/v1/spools/{id}/label | Generate QR label | viewer+ |
Projects
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET | /api/v1/projects | List projects | viewer+ |
POST | /api/v1/projects | Create project | operator+ |
GET | /api/v1/projects/{id} | Get project details | viewer+ |
PUT | /api/v1/projects/{id} | Update project | operator+ |
DELETE | /api/v1/projects/{id} | Delete project | admin |
POST | /api/v1/projects/{id}/archives | Assign archives | operator+ |
Authentication
| Method | Endpoint | Description | Role |
|---|---|---|---|
POST | /api/v1/auth/login | Login (returns session cookie) | public |
POST | /api/v1/auth/logout | Logout (revokes session) | any |
GET | /api/v1/auth/me | Current user info | any |
PUT | /api/v1/auth/me/theme | Update theme preferences | any |
POST | /api/v1/auth/change-password | Change own password | any |
Users (Admin)
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET | /api/v1/users | List users | admin |
POST | /api/v1/users | Create user | admin |
PUT | /api/v1/users/{id} | Update user | admin |
DELETE | /api/v1/users/{id} | Delete user | admin |
Vigil AI (Vision)
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET | /api/v1/vision/detections | List detections | viewer+ |
GET | /api/v1/vision/settings | Get detection settings | viewer+ |
PUT | /api/v1/vision/settings | Update thresholds | admin |
GET | /api/v1/vision/models | List ONNX models | viewer+ |
POST | /api/v1/vision/models | Upload ONNX model | admin |
Notifications & Alerts
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET | /api/v1/alerts | List alerts | viewer+ |
PUT | /api/v1/alerts/{id}/read | Mark alert read | any |
DELETE | /api/v1/alerts/{id} | Delete alert | operator+ |
GET | /api/v1/alerts/preferences | Get notification preferences | any |
PUT | /api/v1/alerts/preferences | Update notification preferences | any |
tip
This is a summary of the most commonly used endpoints. Your instance's Swagger UI at /api/v1/docs is the complete, always-current reference with request/response schemas and a "Try it out" feature.