API Documentation
Integrate KyberGate programmatically. Manage policies, ingest logs, control devices, and build custom workflows.
Base URL
https://proxy.kybergate.comAuthentication
Pass your org ID in the request path or body. API key authentication coming soon.
X-KyberGate-Org: your_org_idRate Limits
1,000
req/min (logs)
100
req/min (policy)
60
req/min (commands)
Endpoints
/healthService health check
Response
{ "status": "healthy", "version": "0.6", "uptime": "48h32m" }/statsProxy server statistics
Response
{ "totalRequests": 142857, "blocked": 12340, "allowed": 130517, "goroutines": 24, "gameDomains": 25213, "autoFlagged": 4 }/api/policy/{orgId}Get filtering policies for an organization
Parameters
orgId(path)Organization IDemail(query)User email (optional, for user-based policies)deviceId(query)Device UDID (optional)Response
{
"blockedDomains": ["tiktok.com", "instagram.com"],
"blockedCategories": ["adult", "gaming", "social-media"],
"bypassDomains": ["apple.com", "google.com"],
"schoolHours": { "start": "08:00", "end": "15:30" },
"schoolDays": ["mon", "tue", "wed", "thu", "fri"],
"filterMode": "both",
"safeSearch": true
}/api/heartbeatDevice check-in (updates online status, last seen)
Request Body
{
"orgId": "abc123",
"deviceId": "UDID-or-serial",
"userEmail": "student@school.edu",
"platform": "chromebook",
"version": "1.0.0",
"timestamp": "2026-02-21T14:30:00Z"
}Response
{ "ok": true }/api/logsBatch submit browsing logs
Request Body
{
"orgId": "abc123",
"logs": [
{
"url": "https://example.com",
"domain": "example.com",
"action": "allowed",
"category": "education",
"timestamp": "2026-02-21T14:30:00Z",
"deviceId": "UDID-123",
"userEmail": "student@school.edu"
}
]
}Response
{ "ok": true, "count": 1 }/api/commands/{orgId}/{deviceId}Poll pending device commands
Parameters
orgId(path)Organization IDdeviceId(path)Device UDID or serialResponse
[
{
"id": "cmd_abc123",
"type": "lock",
"payload": { "message": "Class is over" },
"status": "pending",
"createdAt": "2026-02-21T14:30:00Z"
}
]/api/commands/{orgId}/{deviceId}/{cmdId}/ackAcknowledge a command as executed
Response
{ "ok": true }/api/pac/{orgId}PAC (Proxy Auto-Config) file for MDM
Parameters
orgId(path)Organization IDemail(query)$EMAIL MDM variableudid(query)$UDID MDM variableResponse
function FindProxyForURL(url, host) { ... }/api/mdm/{orgId}Download MDM configuration profile (.mobileconfig)
Response
(XML plist — .mobileconfig file)
/api/ca.pemDownload CA certificate for SSL inspection
Response
(PEM-encoded X.509 certificate)
/api/classifyClassify a URL's content category
Request Body
{ "url": "https://example.com", "orgId": "abc123" }Response
{ "url": "https://example.com", "category": "education", "confidence": 0.95, "blocked": false }/api/game-domainsList known game domains
Response
{ "domains": ["coolmathgames.com", "poki.com", ...], "count": 68, "autoFlagged": ["newgame.io"], "autoFlaggedCount": 2 }/api/game-reportReport a detected game (client-side fingerprinting)
Request Body
{ "domain": "example.com", "orgId": "abc123", "signals": { "canvas": true, "webgl": true, "gameLoop": true }, "confidence": 0.85 }Response
{ "ok": true, "action": "flagged" }/api/screenshotSubmit screenshot metadata
Request Body
{ "orgId": "abc123", "deviceId": "UDID-123", "sessionId": "class_456", "userEmail": "student@school.edu" }Response
{ "ok": true }Ready to Integrate?
Get your org ID and start building. Need help? Our engineering team is available for integration support.