Version: 0.1.0 Server: http://178.156.178.70:3000 Local: http://localhost:3000
Swagger UI: http://178.156.178.70:3000/api-docs
Interactive API documentation with try-it-out functionality.
META_SUPERVISOR (Routing + Monitoring)
β
ENGINEERING_LEAD_SUPERVISOR (Plan + Delegate + Verify + STOP)
β
CLOUD_ASSISTANT (Execute + Report + Evidence)
All API endpoints (except /health and /api) require JWT authentication.
POST /api/auth/login
Content-Type: application/json
{
"email": "admin@example.com",
"password": "your-password"
}Response:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": "user-123",
"email": "admin@example.com",
"role": "admin"
}
}Include the token in all subsequent requests:
curl -H "Authorization: Bearer YOUR_TOKEN" \
http://178.156.178.70:3000/api/tasksGET /health- System health checkGET /api- API information
POST /api/auth/login- User loginPOST /api/auth/logout- User logoutPOST /api/auth/refresh- Refresh JWT token
GET /api/tasks- List all tasksPOST /api/tasks- Create new taskGET /api/tasks/:id- Get task detailsPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
GET /api/audit- Get audit logsPOST /api/audit/verify/:id- Verify task claims
GET /api/enforcement/blocked- Get blocked tasksPOST /api/enforcement/approve- Approve blocked taskPOST /api/enforcement/reject- Reject blocked task
GET /api/memory/conversations- List conversationsPOST /api/memory/conversations- Create conversationGET /api/memory/conversations/:id- Get conversationPOST /api/memory/conversations/:id/messages- Add messagePOST /api/memory/search- Semantic searchGET /api/memory/stats- Memory statistics- ...and 15 more
GET /api/github/repos- List repositoriesGET /api/github/issues/:owner/:repo- Get issuesPOST /api/github/issues/:owner/:repo- Create issueGET /api/github/prs/:owner/:repo- Get pull requests
GET /api/linear/issues- List issuesPOST /api/linear/issues- Create issueGET /api/linear/projects- List projects
GET /api/settings- Get settingsPUT /api/settings- Update settings
POST /api/webhooks/github- GitHub webhook handlerPOST /api/webhooks/linear- Linear webhook handler
POST /api/slack/events- Slack events handler
curl http://178.156.178.70:3000/healthResponse:
{
"status": "healthy",
"timestamp": "2025-12-26T15:30:45.892Z",
"components": {
"database": "healthy",
"queue": "healthy"
},
"mode": "in-memory"
}curl -X POST http://178.156.178.70:3000/api/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"name": "Implement authentication",
"description": "Add JWT auth to API",
"agent": "CLOUD_ASSISTANT",
"priority": "high"
}'Response:
{
"id": "task-abc123",
"name": "Implement authentication",
"description": "Add JWT auth to API",
"agent": "CLOUD_ASSISTANT",
"status": "pending",
"priority": "high",
"stopScore": 15,
"createdAt": "2025-12-26T15:35:00.000Z"
}curl http://178.156.178.70:3000/api/tasks \
-H "Authorization: Bearer YOUR_TOKEN"curl -X POST http://178.156.178.70:3000/api/memory/search \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"query": "authentication implementation",
"limit": 5,
"agentName": "CLOUD_ASSISTANT"
}'Tasks are automatically evaluated for risk using STOP scores (0-100):
| Score | Risk Level | Action |
|---|---|---|
| 0-19 | LOW | β Proceed automatically |
| 20-44 | MEDIUM | |
| 45-69 | HIGH | |
| 70-100 | CRITICAL | π STOP REQUIRED |
When a task is blocked (STOP score β₯ 45), it requires human approval:
POST /api/enforcement/approve
{
"taskId": "task-abc123",
"approver": "admin@example.com",
"reason": "Reviewed and approved for production"
}Real-time updates available via WebSocket:
const ws = new WebSocket("ws://178.156.178.70:3000");
ws.on("message", (data) => {
const event = JSON.parse(data);
console.log("Event:", event);
});
// Events:
// - agent_status: Agent state changes
// - task_update: Task progress updates
// - enforcement_alert: High STOP score alertsThe Memory System provides semantic search and conversation management across 21 endpoints.
- Conversations: Multi-turn chat history
- Messages: Individual messages with embeddings
- Semantic Search: Vector similarity search
- Statistics: Usage analytics
- Trending Topics: Popular themes
POST /api/memory/conversations/{id}/messages
{
"role": "user",
"content": "How do I implement auth?",
"metadata": {
"priority": "high"
}
}# Get repositories
GET /api/github/repos
# Get issues for a repo
GET /api/github/issues/dsactivi-2/code-cloud-agents
# Create an issue
POST /api/github/issues/dsactivi-2/code-cloud-agents
{
"title": "Bug: Auth not working",
"body": "Description of the bug",
"labels": ["bug", "high-priority"]
}# Get issues
GET /api/linear/issues
# Create issue
POST /api/linear/issues
{
"title": "Implement feature X",
"description": "Full description",
"priority": 1
}All errors follow this format:
{
"error": "Error message",
"code": "ERROR_CODE",
"details": {
"field": "Additional information"
}
}| Code | Status | Description |
|---|---|---|
UNAUTHORIZED |
401 | Missing or invalid token |
FORBIDDEN |
403 | Insufficient permissions |
NOT_FOUND |
404 | Resource not found |
VALIDATION_ERROR |
400 | Invalid request data |
STOP_REQUIRED |
403 | Task blocked by enforcement gate |
INTERNAL_ERROR |
500 | Server error |
- Default: 100 requests per minute per IP
- Authenticated: 1000 requests per minute per user
Exceeded limits return:
{
"error": "Rate limit exceeded",
"retryAfter": 60
}# Set token
export TOKEN="your-jwt-token"
# Test endpoint
curl -H "Authorization: Bearer $TOKEN" \
http://178.156.178.70:3000/api/tasksImport the Postman collection: postman/collection.json
- Swagger UI: /api-docs
- Postman Collection:
postman/collection.json - OpenAPI Spec:
swagger.yaml - GitHub: dsactivi-2/code-cloud-agents
- Issues: GitHub Issues
- Docs: Repository Wiki
Generated: 2025-12-26 Version: 0.1.0 Agent: Agent 4 (Documentation & DevOps)