/api/metrics
Prometheus-compatible metrics
ALLOD API
Servers
- https://swg.your-domain
- https://dam.your-domain
The ALLOD platform runs entirely in your own infrastructure. Every API call stays inside your network - no vendor cloud in the path. This reference covers two products: - **ALLOD | SWG** - the Secure Web Gateway and its admin API - **ALLOD | DAM** - the Digital Asset Manager and its governance API
SWG - System
Health check and metrics endpoints.
/api/health
Health check
/api/admin/setup
Get initial setup state
Returns whether initial setup has been completed and what steps remain.
/api/admin/setup
Complete initial setup step
/api/admin/log-level
Get current log level
/api/admin/log-level
Set log level at runtime
/api/admin/license/sync
Sync license with license server
Forces an immediate sync of the license and catalog data from allodlicense.
/api/admin/license-settings
Get license server settings
/api/admin/license-settings
Update license server settings
/api/admin/integrations-config
Get integrations configuration
/api/admin/integrations-config
Update integrations configuration
/api/admin/debug-bundle
Download debug bundle
Generates and streams a ZIP archive containing logs, config (secrets redacted), and diagnostic info for support.
SWG - Firewall
Firewall rules, default policy and domain allow/deny management.
/api/admin/firewall/rules
List firewall rules
/api/admin/firewall/rules
Replace all firewall rules
/api/admin/firewall
Get firewall state (default policy, default TLS inspection, rules)
/api/admin/firewall
Update default firewall settings
SWG - DLP
Data Loss Prevention - events, configuration, body samples.
/api/dlp/s3config
Get S3 storage configuration for DLP body samples
/api/dlp/s3config
Update S3 storage configuration
/api/dlp/events
List DLP events
Cursor-paginated list of DLP upload/download events.
| Name | In | Type | Description |
|---|---|---|---|
| before | query | string(date-time) | |
| before_id | query | string | |
| limit | query | integer |
/api/dlp/config
Get DLP configuration
/api/dlp/config
Replace DLP configuration
/api/agent/screenshot-event
Report screenshot content for DLP (agent → server)
Called by the agent when a screenshot is taken while the device has an active sensitive-context resource (ZTNA/DAM). ocr_text is matched against DLP rules; the event is dropped (not stored) when no sensitive context is active. process/window_title (the foreground window at the moment of capture) are best-effort and may be empty on a headless session. The domain the device was browsing (host/domain_category) is attached server-side from the navigation heatmap, not sent by the agent. Also covers screenshots that never touch disk - a capture pasted straight to the clipboard (PrtScn, Cmd+Ctrl+Shift+3/4) is reported the same way, with path empty and filename set to the synthetic "clipboard-image.png".
/api/dlp/events/{id}/content
Retrieve stored body sample for a DLP event
Fetches the body sample from S3 and streams it inline, decompressing gzip/zstd/deflate automatically.
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
SWG - CASB
Cloud Access Security Broker - shadow IT, app usage, tenant discovery.
/api/casb/v1/shadow-it
Shadow IT report - license-server authenticated
Same as /api/casb/shadow-it but authenticated with a license-bearer token rather than an API key. Used by the allodlicense server to aggregate cross-deployment analytics.
| Name | In | Type | Description |
|---|---|---|---|
| days | query | integer | |
| limit | query | integer |
/api/casb/v1/internal-domains
Uncatalogued internal-domain discovery - license-server authenticated
Returns hosts observed in the last 30 days that fall under the configured internal DNS zone and have no saascat catalog match - internal tools (e.g. a self-hosted git server) that shadow-IT detection can't see because they aren't SaaS apps. Matching is DNS-zone-based, not IP/CIDR-based, to avoid ever matching a private IP range an employee's home network happens to reuse. Consumed by Allod DAM's swgsync poller for asset discovery.
/api/casb/v1/app-usage
App usage aggregates - license-server authenticated
Returns per-app traffic aggregates for the last 30 days. Authenticated with a license-bearer token.
/api/casb/tenants
Discovered cloud tenants
Returns tenant identifiers extracted from proxied traffic, grouped by cloud app.
| Name | In | Type | Description |
|---|---|---|---|
| days | query | integer |
/api/casb/shared-accounts
Shared (non-IdP) accounts
Returns non-IdP accounts used by more than two distinct people across devices, aggregated from tenant sightings - a shadow-IT and credential-sharing signal.
/api/casb/shadow-it
Shadow IT report - discovered cloud services
| Name | In | Type | Description |
|---|---|---|---|
| days | query | integer | |
| limit | query | integer |
/api/casb/processes
Process-level CASB observations
Returns SaaS traffic broken down by originating process name (where available from agent UID lookup).
| Name | In | Type | Description |
|---|---|---|---|
| days | query | integer |
/api/casb/firewall-log
CASB-enriched firewall block log
| Name | In | Type | Description |
|---|---|---|---|
| days | query | integer | |
| limit | query | integer |
/api/casb/coverage
CASB coverage breakdown by traffic bucket
Returns connection counts for the last 30 days split by inspection category (managed SaaS, unmanaged SaaS, unknown).
/api/casb/corporate-it
Corporate IT (managed) app usage
| Name | In | Type | Description |
|---|---|---|---|
| days | query | integer | |
| limit | query | integer |
/api/casb/config
Get CASB configuration
/api/casb/config
Update CASB configuration
SWG - ZTNA
Zero Trust Network Access settings.
/api/tunnel
Agent reverse tunnel WebSocket (agent → server)
WebSocket upgrade for reverse tunnels. Agent registers the local ports it listens on (e.g. debug port). On-prem processes can then connect back to agent localhost through the connector hub.
/api/connector
Connector daemon WebSocket (connector → server)
WebSocket upgrade for on-prem connector daemons. After upgrade, connector sends a register message with its name and the CIDRs it can reach. The hub then routes proxy connections for those CIDRs through the connector. Protocol: JSON control frames + binary data frames with uint32 conn_id prefix.
/api/admin/ztna-settings
Get ZTNA settings
/api/admin/ztna-settings
Update ZTNA settings
SWG - Access
Step-up SSO and just-in-time access requests - approval workflow and self-service resource discovery.
/api/admin/access-requests
List pending JIT access requests
Powers the Access Requests admin page. Requires an authenticated admin session - not currently available via X-Api-Key.
/api/access/resources
List self-service resources available to a device
Powers the end-user self-service page for pre-provisioning a step-up SSO or JIT grant before opening a non-HTTP client. Requires an authenticated session - not currently available via X-Api-Key.
| Name | In | Type | Description |
|---|---|---|---|
| device_id * | query | string |
/api/admin/access-requests/{id}/decide
Approve or deny a pending JIT access request
Same decision path used by the Slack, Teams, and PagerDuty approval buttons. Requires an authenticated admin session - not currently available via X-Api-Key.
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
SWG - Events
Unified event log - firewall blocks and DLP events.
/api/events
List events (DLP + firewall blocks)
Cursor-paginated event log. Returns DLP upload/download events and firewall block events.
| Name | In | Type | Description |
|---|---|---|---|
| before | query | string(date-time) | Cursor: timestamp of last event on previous page |
| before_id | query | string | Cursor: event_id tie-breaker |
| limit | query | integer | |
| type | query | string |
/api/admin/event-store/test
Test external event store connection
/api/admin/event-store
Get external event store configuration
Returns configuration for the external event store (ClickHouse or compatible).
/api/admin/event-store
Update external event store configuration
/api/admin/event-log-config
Get structured event log sink configuration
Returns configuration for structured event log sinks: local file, Elastic Beats, syslog.
/api/admin/event-log-config
Update structured event log sink configuration
/api/access-log
Proxy access log
Returns recent proxy request log entries (all traffic, not just blocked/DLP). Cursor-paginated.
| Name | In | Type | Description |
|---|---|---|---|
| before | query | string(date-time) | |
| before_id | query | string | |
| limit | query | integer | |
| search | query | string |
/api/events/{id}
Get a single event by ID
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
SWG - Devices
Enrolled agent devices and their status.
/api/admin/gdpr-export
GDPR data export for a user
/api/admin/gdpr-erase
GDPR data erasure for a user
Irreversibly deletes all events, access log entries, and device records associated with the given user.
/api/admin/devices
List enrolled devices
/api/admin/device-locations
Get device location data
Returns last-known geographic locations of enrolled devices derived from their IP addresses.
SWG - Agent
Agent lifecycle - enroll, heartbeat, config distribution, upgrade.
/api/ws
Agent real-time WebSocket (agent → server)
WebSocket upgrade. Agents use this for real-time config pushes and DLP local-path enrichment. Requires Upgrade: websocket header.
/api/quic-metadata
Report QUIC SNI metadata (agent → server)
Agents post SNI hostname observations gathered during QUIC downgrade mode so the proxy can log them for shadow-IT purposes.
/api/mitm-cert
Get per-hostname MITM certificate (agent → server)
Called by agents during TLS inspection to obtain a CA-signed leaf certificate for a given hostname. Returns PEM-encoded certificate and private key.
| Name | In | Type | Description |
|---|---|---|---|
| host * | query | string |
/api/heartbeat
Agent heartbeat (agent → server)
Sent periodically by enrolled agents. Response includes config push: block_quic, proxy_token, access_routes (CIDRs for transparent proxy), windivert_url (Windows only), and local_path_enabled.
/api/enroll
Enroll a device (agent → server)
Called by the allodswg agent on first run to register the device.
/api/config
Get proxy config for agent
Returns CA cert and proxy address for the agent to configure the OS proxy.
/api/agent/download
Download agent binary for the current platform
Used by agents to self-update. Returns the binary for the requesting platform.
/api/admin/agent-versions
List available agent binaries
/api/admin/agent-upload
Upload a new agent binary
Multipart upload. The binary filename must follow the pattern allodswg-agent-<platform>[.exe].
/api/admin/agent-upgrade
Trigger upgrade on all connected agents
Sends an upgrade command to all agents connected via WebSocket. Each agent will download the latest binary and restart.
/api/admin/agent-sync
Push config to all connected agents
Broadcasts the current firewall rules, CA cert, and proxy settings to all agents connected via WebSocket.
/api/agent/assets/{name}
Download a platform asset (e.g. WinDivert)
Serves files from the controller assets directory. Used by Windows agents to auto-download WinDivert.dll and WinDivert64.sys on startup.
| Name | In | Type | Description |
|---|---|---|---|
| name * | path | string | Filename (alphanumeric, dots, hyphens, underscores only) |
SWG - CA
Certificate Authority - TLS inspection cert and SCEP for MDM.
/scep
SCEP endpoint for MDM CA distribution
Simple Certificate Enrollment Protocol (RFC 8894). MDMs use this to automatically fetch and install the proxy CA as a trusted root. Supports GetCACaps and GetCACert operations.
| Name | In | Type | Description |
|---|---|---|---|
| operation * | query | string |
/api/ca/regenerate
Regenerate the CA certificate
Generates a new CA key and self-signed certificate. Pushes the new cert to all connected agents. Optional body fields override server-configured defaults.
/api/ca-info
Get CA certificate info
Returns metadata about the currently active CA certificate: algorithm, subject (CN, O, C, ST, L), validity period, and fingerprint.
/api/ca-cert
Download the allodswg CA certificate
PEM-encoded CA certificate. Add to OS/browser trust stores, or point MDM to the /scep endpoint for automatic distribution.
SWG - Domains
Domain category classification and overrides.
/api/domain-classify
Classify a domain
| Name | In | Type | Description |
|---|---|---|---|
| domain * | query | string |
/api/categories
List all domain categories
Returns the full list of domain category identifiers and their display names used by the firewall and domain classifier.
/api/admin/domains/lookup
Look up the category of a domain
| Name | In | Type | Description |
|---|---|---|---|
| domain * | query | string |
/api/admin/domains
List domain category overrides
/api/admin/domains
Add a domain category override
/api/admin/domains
Remove a domain category override
| Name | In | Type | Description |
|---|---|---|---|
| domain * | query | string |
SWG - Identity
OIDC SSO, SCIM sync, GDPR data export/erase.
/api/admin/scim/users
List SCIM-synced users
/api/admin/scim/test
Test SCIM provider connection
/api/admin/scim/sync
Trigger a manual SCIM sync
/api/admin/scim/groups
List SCIM-synced groups
/api/admin/scim-config
Get SCIM identity provider configuration
/api/admin/scim-config
Update SCIM configuration
/api/admin/oidc-config/test
Test OIDC provider connection
Attempts discovery and a client credentials check against the configured OIDC issuer.
/api/admin/oidc-config
Get OIDC SSO configuration
/api/admin/oidc-config
Update OIDC SSO configuration
SWG - Proxy
Proxy and GeoDNS configuration.
/api/admin/proxy-settings
Get proxy settings
/api/admin/proxy-settings
Update proxy settings
SWG - Compliance
Device compliance posture configuration.
/api/admin/compliance
Get compliance config and per-device status
/api/admin/compliance
Update compliance config
SWG - Alerts
Alert configuration and test delivery.
/api/admin/syslog-config
Get syslog/SIEM forwarding configuration
/api/admin/syslog-config
Update syslog/SIEM forwarding configuration
/api/admin/alerts/test
Send a test alert
/api/admin/alerts
Get alert configuration
/api/admin/alerts
Update alert configuration
SWG - Keys
API key management for the SWG controller.
/api/admin/keys
List API keys (incl. revoked)
/api/admin/keys
Create a new API key
/api/admin/keys/{id}/unrevoke
Un-revoke a previously revoked API key
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/admin/keys/{id}/permanent
Permanently delete an API key
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/admin/keys/{id}
Revoke an API key
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
SWG - AI
AI translation and enrichment.
/api/ai/translate/available
Check if AI translation is configured
Returns whether an AI provider is configured and the translation feature is enabled.
/api/ai/translate
Translate text via AI
Proxies a translation request to the configured AI provider (OpenAI-compatible). Used by the browser extension to translate page content.
/api/admin/ai-config
Get AI configuration
/api/admin/ai-config
Update AI configuration
DAM - Systems
Vendor systems under governance - the core inventory of third-party SaaS/cloud services.
/api/v1/systems
List systems
/api/v1/systems
Create a system
/api/v1/systems/{id}/similar
Find similar systems
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/ropa
Get RoPA entry
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/ropa
Update RoPA entry
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/probes
Get probe results for a system
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/probe-scan
Trigger a full probe scan
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/oscal/import
Import OSCAL component definition
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}
Get a system
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}
Update a system
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}
Delete a system
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/probe-scan/{type}
Trigger a single probe scan
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string | |
| type * | path | string | Probe type, e.g. tls, geo, spf, mx, privacy, dpa, sanctions, gleif |
DAM - Contacts
Vendor contacts and DPO information per system.
/api/v1/systems/{id}/contacts
List contacts for a system
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/contacts
Create or update a contact
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/contacts/{cid}
Update a contact
| Name | In | Type | Description |
|---|---|---|---|
| cid * | path | string | |
| id * | path | string |
/api/v1/systems/{id}/contacts/{cid}
Delete a contact
| Name | In | Type | Description |
|---|---|---|---|
| cid * | path | string | |
| id * | path | string |
DAM - Documents
Contracts, DPAs and other documents attached to a system.
/api/v1/systems/{id}/documents
List documents for a system
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/documents
Upload a document
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/documents/{did}
Delete a document
| Name | In | Type | Description |
|---|---|---|---|
| did * | path | string | |
| id * | path | string |
DAM - Reviews
Privacy and security review workflows per system.
/api/v1/reviews
List all reviews
/api/v1/systems/{id}/reviews
List reviews for a system
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/systems/{id}/reviews
Create a review for a system
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/reviews/{id}
Get a review
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/reviews/{id}
Update a review
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
DAM - Cycle Types
Review cycle definitions (e.g. Annual GDPR review).
/api/v1/cycle-types
List cycle types
/api/v1/cycle-types
Create a cycle type
/api/v1/cycle-types/{id}
Get a cycle type
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/cycle-types/{id}
Update a cycle type
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/cycle-types/{id}
Delete a cycle type
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
DAM - Classifications
Data classification levels (e.g. Public, Internal, Confidential).
/api/v1/classification
List classification levels
/api/v1/classification
Create a classification level
/api/v1/classification/{id}
Update a classification level
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
/api/v1/classification/{id}
Delete a classification level
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
DAM - Keys
API key management for the DAM.
/api/v1/keys
List API keys
/api/v1/keys
Create an API key
/api/v1/keys/{id}
Delete an API key
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
DAM - Notifications
In-app notifications for governance events.
/api/v1/notifications/read-all
Mark all notifications as read
/api/v1/notifications
List notifications
/api/v1/notifications/{id}/read
Mark a notification as read
| Name | In | Type | Description |
|---|---|---|---|
| id * | path | string |
DAM - Identity
OIDC SSO and SCIM identity sync configuration.
/api/v1/scim/users
List SCIM-synced users
/api/v1/scim/groups
List SCIM-synced groups
/api/v1/admin/scim-push-config
Get SCIM push (IdP → DAM) configuration
/api/v1/admin/scim-push-config
Update SCIM push configuration
/api/v1/admin/scim-pull-test
Test SCIM pull connection
/api/v1/admin/scim-pull-sync
Trigger a SCIM pull sync
/api/v1/admin/scim-pull-config
Get SCIM pull (DAM → IdP) configuration
/api/v1/admin/scim-pull-config
Update SCIM pull configuration
/api/v1/admin/oidc-config/test
Test OIDC provider connection
/api/v1/admin/oidc-config
Get OIDC SSO configuration
/api/v1/admin/oidc-config
Update OIDC SSO configuration
DAM - Admin
License, SWG integration, probe scans, OSCAL imports and vendor catalog.
/api/v1/probe-scan
Trigger a full probe scan for all systems
/api/v1/oscal-scan
Trigger a global OSCAL scan
/api/v1/intel-status
Get intelligence data status
Returns status of GLEIF, EU sanctions list and other intelligence sources.
/api/v1/catalog
Search SaaSCat vendor catalog
| Name | In | Type | Description |
|---|---|---|---|
| q | query | string | Search query |
/api/v1/approved-classifications
List RoPA classification levels by saascat_id (SWG integration)
Called by allodswg to fold DAM-classified systems into its own sensitive-context detection. Only systems with a completed RoPA entry (a linked DataRecord with a classification set) are included - systems without one are simply absent from the map, not an error. Authenticated with the shared license key, not an admin API key.
/api/v1/approved-apps
List approved apps (SWG integration)
Called by allodswg to fetch the approved-app list. Authenticated with the shared license key, not an admin API key.
/api/v1/admin/swg-sync
Trigger SWG shadow-IT sync
/api/v1/admin/swg-config
Get SWG sync configuration
/api/v1/admin/swg-config
Update SWG sync configuration
/api/v1/admin/license-refresh
Refresh license status