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:

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

CodeStatusMeaning
200OKRequest succeeded
400Bad RequestInvalid parameters
401UnauthorizedMissing/invalid auth
403ForbiddenAccess denied
404Not FoundResource not found
500Server ErrorInternal error

Rate Limiting

  • 100 requests per minute per API key
  • 1000 WebSocket messages per minute

Next: CLI Reference | Webhooks

SkyPort

SkyPort Docs

Self-hosted infrastructure platform