Reference
API Reference
REST API served on port 33001. All endpoints require a Bearer JWT except POST /auth/login.
Interactive Swagger UI available at http://localhost:33001/api/docs once DevPanel is running.
Authentication
Request
POST /auth/login
Content-Type: application/json
{ "email": "admin@example.com", "password": "..." }
→ 200 { "token": "eyJ..." }Subsequent requests
Authorization: Bearer eyJ...Key endpoints
| Method | Path | Description |
|---|---|---|
| POST | /auth/login | Obtain a JWT token |
| POST | /auth/register | Create the initial admin account (first-run only) |
| GET | /projects | List all projects |
| POST | /projects | Create a project |
| PATCH | /projects/:id | Update project name or description |
| DELETE | /projects/:id | Delete a project and all its services |
| GET | /projects/:id/services | List services in a project |
| POST | /projects/:id/services | Create a service |
| PATCH | /services/:id | Update service name, compose YAML, or server |
| DELETE | /services/:id | Delete a service and stop its containers |
| POST | /services/:id/deploy | Deploy (or redeploy) a service |
| POST | /services/:id/restart | Restart a running service |
| POST | /services/:id/stop | Stop a running service |
| GET | /services/:id/env | List environment variables for a service |
| PUT | /services/:id/env | Replace all environment variables |
| GET | /services/:id/domains | List domains attached to a service |
| POST | /services/:id/domains | Attach a domain and provision SSL |
| DELETE | /services/:id/domains/:domainId | Remove a domain |
| GET | /servers | List servers |
| POST | /servers | Create a server |
| DELETE | /servers/:id | Delete a server |
| GET | /health | Health check (no auth required) |