API Documentation
Programmatic access to ACK Club's network simulation capabilities through RESTful endpoints and WebSocket interfaces.
RESTful Endpoints
Create, manage, and monitor simulations through standard HTTP methods. Supported operations include topology generation, traffic injection, and performance metrics retrieval.
Base URL: https://api.ackclub.net/sim/v3/
WebSocket Streams
Real-time simulation telemetry and event streaming using secure WebSocket connections. Perfect for dashboarding and operational monitoring.
Streaming URL: wss://api.ackclub.net/metrics/stream
📜 API Reference
POST /simulation
RequestBody
{ "topology": "mesh", "nodes": 5, "duration": "600s" }
Parameters
- topology Topology type (mesh, star, line, custom)
- nodes Number of simulation nodes
- duration Simulation runtime (e.g., "5m", "2h")
Example Response
{ "id": "sim-7c3a9", "status": "running", "metrics_url": "/metrics/sim-7c3a9" }
GET /simulation/:id/metrics
Path Parameters
- id Simulation identifier
Returns
{ "throughput": "5.3 Gbps", "latency": "12.4 ms", "packet_loss": "0.03%", "links_utilization": [58.4, 72.1, 43.8] }
WebSocket /connect
Query Parameters
- token Authentication token
- filter Event type filter (all, errors, metrics)
Received Messages
{ "type": "link_down", "node": "n3", "time": "02:15.333" }
🔐 Authentication
All API requests require a Bearer token. Generate tokens using your ACK Club account credentials:
🤖 Example Integrations
Start Simulation with Node.js
const fetch = require('node-fetch'); async function createSimulation() { const response = await fetch('https://api.ackclub.net/sim/v3/simulation', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_TOKEN', 'Content-Type': 'application/json' }, body: JSON.stringify({ topology: 'ring', nodes: 7, duration: '300s' }) }); return await response.json(); }
WebSocket Client in Python
import websockets async def connect(): async with websockets.connect( "wss://api.ackclub.net/metrics/stream?token=YOUR_TOKEN&filter=errors" ) as ws: async for message in ws: print("Received:", message)
Need Help?
Found an API bug or need additional integration examples? Check our documentation or submit feedback.