Integrations API
The Integrations API lets you connect third-party providers (GitHub, Slack, etc.), inspect available checks and actions, and manage repository access. It also provides GitHub-specific endpoints for organization scanning.
All endpoints are under /api/integrations and require authentication.
Core Operations
/api/integrationsAuth requiredList all connected integrations for the workspace.
/api/integrations/:provider/connectAuth requiredConnect a new integration. Requires owner or admin role.
// Request body (example for GitHub)
{
"installationId": "12345678",
"accountLogin": "acme-org"
}/api/integrations/:provider/disconnectAuth requiredDisconnect an integration. Requires owner or admin role.
Disconnecting an integration will disable all rules and policies that depend on it. Reconnecting does not automatically re-enable them.
Provider Capabilities
/api/integrations/:provider/checksAuth requiredList available checks for this provider (e.g. branch_protection, ci_status).
/api/integrations/:provider/actionsAuth requiredList available actions for this provider (e.g. label, comment, notify).
Repository Access
/api/integrations/:provider/reposAuth requiredList repositories accessible through this integration. Supports pagination and search.
GET /api/integrations/github/repos?page=1&per_page=30&search=apiExample response
{
"repos": [
{ "id": "repo_123", "name": "acme/api", "private": true },
{ "id": "repo_456", "name": "acme/api-docs", "private": false }
],
"total": 2,
"page": 1,
"per_page": 30
}Health Check
/api/integrations/:provider/healthAuth requiredCheck whether the integration connection is healthy and credentials are valid.
GitHub Organization Scanning
These endpoints let you scan your GitHub organization to discover repositories, permissions, and configuration drift.
Org scan endpoints require owner or admin role. Scans run in the background and you can poll progress.
/api/integrations/github/scan-orgAuth requiredStart a full organization scan. Requires owner or admin role.
/api/integrations/github/scan-permissionsAuth requiredCheck whether the GitHub App has sufficient permissions to scan. Requires owner or admin role.
/api/integrations/github/scan-progressAuth requiredGet the current scan progress (percentage and repos scanned). Requires owner or admin role.
/api/integrations/github/scan-cache/invalidateAuth requiredClear the cached scan results to force a fresh scan. Requires owner or admin role.
/api/integrations/github/scan-statusAuth requiredGet the timestamp of the last completed scan. Requires owner or admin role.
Scan progress example
{
"status": "scanning",
"progress": 65,
"reposScanned": 42,
"reposTotal": 64,
"startedAt": "2026-04-30T08:00:00Z"
}