Reference
API Reference
SkyPort REST API endpoints and WebSocket documentation
API Reference
Complete REST API and WebSocket reference for SkyPort.
Base URL
http://localhost:8080/api
Authentication
All API requests require authentication via:
Bearer Token (Recommended)
Authorization: Bearer your-api-token
Query Parameter
?token=your-api-token
Response Format
All responses are JSON:
{
"success": true,
"data": {},
"error": null
}
REST Endpoints
Server
# Server status
GET /status
# System information
GET /system/info
# System metrics
GET /metrics
Docker
# List containers
GET /docker/containers
# Create container
POST /docker/containers
# Container details
GET /docker/containers/:id
# Container logs
GET /docker/containers/:id/logs
# Container stats
GET /docker/containers/:id/stats
# Start container
POST /docker/containers/:id/start
# Stop container
POST /docker/containers/:id/stop
# Remove container
DELETE /docker/containers/:id
# List images
GET /docker/images
# Pull image
POST /docker/images/pull
# Remove image
DELETE /docker/images/:id
PM2
# List processes
GET /pm2/processes
# Start process
POST /pm2/start
# Stop process
POST /pm2/stop
# Restart process
POST /pm2/restart
# Delete process
DELETE /pm2/:id
# Process logs
GET /pm2/:id/logs
# Process details
GET /pm2/:id
Projects
# List projects
GET /projects
# Create project
POST /projects
# Get project
GET /projects/:id
# Update project
PUT /projects/:id
# Delete project
DELETE /projects/:id
WebSocket (Real-Time)
Connect to WebSocket for real-time updates:
ws://localhost:8080/ws
Events
// Connection
event: 'connected'
data: { client_id: '...', timestamp: '...' }
// Container event
event: 'container:update'
data: { container_id: '...', status: 'running', ... }
// Process event
event: 'process:update'
data: { pid: 123, memory: 45234123, ... }
// Metrics
event: 'metrics:update'
data: { cpu: 45.2, memory: 8234534, disk: 23.4, ... }
Error Codes
| Code | Status | Meaning |
|---|---|---|
| 200 | OK | Request succeeded |
| 400 | Bad Request | Invalid parameters |
| 401 | Unauthorized | Missing/invalid auth |
| 403 | Forbidden | Access denied |
| 404 | Not Found | Resource not found |
| 500 | Server Error | Internal error |
Rate Limiting
- 100 requests per minute per API key
- 1000 WebSocket messages per minute
Next: CLI Reference | Webhooks
