REST API ENTERPRISE

Integrate
everything

Full programmatic access to KyberGate. 16 endpoints covering devices, users, policies, activity, alerts, and reports. Build custom workflows, sync with your SIS, or create dashboards.

terminal
$ curl https://api.kybergate.com/v1/devices \
    -H "Authorization: Bearer kg_live_abc123..."

{
  "data": [
    {
      "id": "dev_iPad5_8f2a",
      "name": "iPad-5th-Gen",
      "status": "online",
      "user": "jsmith@school.edu",
      "policy": "elementary-strict",
      "lastSeen": "2026-04-17T12:34:56Z"
    }
  ],
  "total": 847,
  "page": 1,
  "perPage": 25
}

16 Endpoints

Everything you need to manage filtering programmatically.

GET/v1/devices
GET/v1/devices/:id
POST/v1/devices/:id/command
GET/v1/users
POST/v1/users
PATCH/v1/users/:id
GET/v1/policies
POST/v1/policies
DELETE/v1/policies/:id
GET/v1/activity
GET/v1/activity/summary
GET/v1/alerts
PATCH/v1/alerts/:id
GET/v1/reports/weekly
GET/v1/reports/compliance
POST/v1/reports/custom

Code examples

Get started in minutes with your language of choice.

cURL
curl -X GET "https://api.kybergate.com/v1/devices?status=online&limit=50" \
  -H "Authorization: Bearer kg_live_abc123..." \
  -H "Content-Type: application/json"
Python
import requests

api_key = "kg_live_abc123..."
headers = {"Authorization": f"Bearer {api_key}"}

# List online devices
response = requests.get(
    "https://api.kybergate.com/v1/devices",
    headers=headers,
    params={"status": "online", "limit": 50}
)

devices = response.json()["data"]
print(f"Online: {len(devices)} devices")
Node.js
const response = await fetch(
  "https://api.kybergate.com/v1/devices?status=online&limit=50",
  {
    headers: {
      "Authorization": "Bearer kg_live_abc123...",
      "Content-Type": "application/json",
    },
  }
);

const { data: devices, total } = await response.json();
console.log(`Online: ${devices.length} of ${total}`);

API Features

API Key Auth

Create multiple API keys with different permission scopes. Rotate, revoke, and monitor usage from the dashboard.

Granular Permissions

10 permission scopes — devices, users, policies, activity, alerts, and reports. Read-only or full CRUD per scope.

Rate Limiting

100 to 5,000 requests per minute depending on your tier. Response headers show remaining quota.

Pagination & Filtering

All list endpoints support cursor pagination, date ranges, field filtering, and sorting. Efficient at any scale.

Webhooks

Real-time push notifications for alerts, device events, and policy changes. Custom endpoints, Slack, or Discord.

SDKs Coming Soon

Auto-generated Python, Node.js, and Go SDKs from our OpenAPI spec. Type-safe with full IntelliSense.

Permission Scopes

Give each API key only the access it needs.

devices:read
devices:write
users:read
users:write
policies:read
policies:write
activity:read
alerts:read
alerts:write
reports:read

What people build with our API

SIS Roster Sync

Sync student rosters from PowerSchool, Infinite Campus, or Skyward. Auto-create users and assign to organizational units.

Custom Dashboards

Build Tableau or Power BI dashboards from activity and reporting endpoints. Visualize filtering data your way.

Helpdesk Automation

Connect with Zendesk or ServiceNow. Auto-unblock domains when teachers submit a ticket. Auto-resolve when done.

Compliance Reporting

Generate CIPA compliance reports on demand. Pull activity summaries for board meetings or E-Rate audits.

ENTERPRISE FEATURE

Ready to integrate?

API access is included with every Enterprise plan. Start building in minutes.