Skip to Content
API ReferenceIntegrations API

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

GET/api/integrationsAuth required

List all connected integrations for the workspace.

POST/api/integrations/:provider/connectAuth required

Connect a new integration. Requires owner or admin role.

// Request body (example for GitHub) { "installationId": "12345678", "accountLogin": "acme-org" }
POST/api/integrations/:provider/disconnectAuth required

Disconnect 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

GET/api/integrations/:provider/checksAuth required

List available checks for this provider (e.g. branch_protection, ci_status).

GET/api/integrations/:provider/actionsAuth required

List available actions for this provider (e.g. label, comment, notify).

Repository Access

GET/api/integrations/:provider/reposAuth required

List repositories accessible through this integration. Supports pagination and search.

GET /api/integrations/github/repos?page=1&per_page=30&search=api

Example 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

GET/api/integrations/:provider/healthAuth required

Check 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.

POST/api/integrations/github/scan-orgAuth required

Start a full organization scan. Requires owner or admin role.

GET/api/integrations/github/scan-permissionsAuth required

Check whether the GitHub App has sufficient permissions to scan. Requires owner or admin role.

GET/api/integrations/github/scan-progressAuth required

Get the current scan progress (percentage and repos scanned). Requires owner or admin role.

POST/api/integrations/github/scan-cache/invalidateAuth required

Clear the cached scan results to force a fresh scan. Requires owner or admin role.

GET/api/integrations/github/scan-statusAuth required

Get 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" }