API Services
Auth Server API
Port 3000 — User registration, login, sessions, TOTP two-factor, GDPR compliance, and subscription management.
Manager API
Port 8443 — Agent registration, heartbeats, threat event ingestion, policy management, SSE streaming, and fleet dashboard.
Threat Cloud API
Configurable port — IoC management, threat feeds, campaign tracking, MITRE heatmaps, geographic queries, and audit logs.
Base URLs
| Service | Default Base URL | TLS |
|---|---|---|
| Auth Server | https://auth.panguard.ai or http://localhost:3000 | Optional (recommended) |
| Manager | https://localhost:8443 | Self-signed by default |
| Threat Cloud | https://tc.panguard.ai or http://localhost:PORT | Optional |
Authentication
All authenticated endpoints require a Bearer token in theAuthorization header.
The Manager API uses a shared static token configured via the
MANAGER_AUTH_TOKEN environment variable. The Auth Server API issues JWT tokens on login.Common Response Format
Every API endpoint returns a consistent JSON envelope:- Success
- Error
Rate Limiting
All API services enforce rate limiting to protect against abuse.| Service | Default Limit | Scope |
|---|---|---|
| Auth Server | 20 req/min | Per IP |
| Manager API | 60 req/min | Per IP |
| Threat Cloud | Varies by endpoint | Per API key |
429 status code with a Retry-After header indicating when to retry.
Error Codes
| Status Code | Meaning | Description |
|---|---|---|
200 | OK | Request succeeded |
201 | Created | Resource created successfully |
400 | Bad Request | Invalid request body or missing required fields |
401 | Unauthorized | Missing or invalid authentication token |
403 | Forbidden | Valid token but insufficient permissions or tier |
404 | Not Found | Requested resource does not exist |
429 | Too Many Requests | Rate limit exceeded, check Retry-After header |
500 | Internal Server Error | Unexpected server error, retry with backoff |
Content Type
All request and response bodies useapplication/json unless otherwise noted. Feed endpoints may return text/plain for blocklist formats.
Pagination
Endpoints that return collections support pagination via query parameters:Page number (1-indexed).
Number of items per page. Maximum 200.