Prowler Compliance Overview
Triggers a Prowler scan for a configured provider, waits for it to complete, then collects compliance overview data summarizing passed, failed, and manual requirements per framework.
Sync Type: Cron
Requirements
Before configuring this input, you need to:
-
Generate a Prowler API Key:
- Log in to your Prowler account
- Navigate to Settings > Integrations > API Keys
- Click Create API Key
- Copy and securely store the generated key (you will only see it once)
-
Configure a Provider in Prowler:
- Log in to Prowler Cloud
- Navigate to Providers
- Add a provider for your cloud environment if you haven't already
- Note the alias (the name you assigned to the provider, e.g., "My AWS Account")
- This alias will be used in the
Provider Aliasconfiguration field
-
API Access:
- Ensure your Prowler account has API access enabled
- Confirm you have permissions to trigger scans and retrieve compliance data
Details
On each scheduled run, Monad:
- Resolves the provider — Looks up the provider's UUID by querying
GET /api/v1/providers?filter[alias]={alias} - Triggers a new scan — Calls
POST /api/v1/scanswith the resolved provider UUID - Polls scan status — Calls
GET /api/v1/scans/{id}every 15 seconds until the scan completes (state becomes "completed") or times out - Fetches compliance data — Once the scan completes, retrieves compliance overview records filtered to that specific scan using
GET /api/v1/compliance-overviews?filter[scan_id]={id}&page[size]=100&sort=compliance_id
State Management
If a run is interrupted during polling (e.g., context timeout), the pending scan ID is saved in state. The next run will resume polling that scan instead of triggering a new one, ensuring efficient use of Prowler's scan quota. The scan ID is cleared from state once compliance data has been successfully fetched.
Pagination
The connector fetches compliance data with page-based pagination (max 100 records per page). It stops when all pages have been fetched or when the response contains no pagination metadata.
Configuration
Settings
| Setting | Type | Required | Description |
|---|---|---|---|
| Cron | string | Yes | Schedule expression for how often to run (e.g., 0 2 * * * for daily at 2 AM UTC). |
| Provider Alias | string | Yes | Alias of the Prowler provider to trigger a scan for. This is the name you set when adding the provider in the Prowler UI (e.g., "My AWS Account"). |
| Use Synthetic Data | boolean | No | Generate synthetic demo data instead of connecting to the real data source. Useful for testing configuration without credentials. |
Secrets
| Secret | Type | Required | Description |
|---|---|---|---|
| API Key | string | Yes | Prowler API key for authentication. Generate one in the Prowler UI under Settings > Integrations > API Keys. Use the value directly (the connector will prepend "Api-Key " automatically). |
Rate Limits
| Scope | Limit | Window | Notes |
|---|---|---|---|
| Global | 5 RPS | Per Second | Conservative estimate. Prowler does not publish explicit rate limits in API documentation. |
Headers: Authorization: Api-Key <key>
Source: Prowler API documentation (rate limits inferred from API best practices)
Related Articles
- Prowler Settings and API Keys
- Prowler Compliance Overview API Docs
- Prowler Scans API Docs
- Prowler Providers API Docs
Sample Record
{
"type": "compliance-overviews",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"framework": "CIS",
"version": "1.4.0",
"requirements_passed": 127,
"requirements_failed": 18,
"requirements_manual": 5,
"total_requirements": 150,
}
}