Configuration Findings
Streams configuration findings from Upwind, providing visibility into misconfigurations and compliance violations across your cloud infrastructure.
Sync Type: Incremental
Prerequisites
Before connecting Monad to Upwind, you need:
- An active Upwind account with access to the target organization.
- Your Upwind Organization ID — found in the Upwind console under Organization Settings. The ID has the format
org_<alphanumeric>. - An OAuth2 API application with a Client ID and Client Secret — see the Authentication section below for setup steps.
Authentication
Upwind uses the OAuth2 client credentials grant. Monad exchanges the Client ID and Client Secret for a short-lived access token at https://auth.upwind.io/oauth/token before each request. Token refresh is handled automatically.
Generating API Credentials
- Log in to the Upwind console.
- Navigate to Settings > Credentials.
- Click Generate Credentials.
- Select API as the credential type.
- Define the Scope: choose Global Scope for full read access, or Custom and grant read access to configuration findings.
- Provide a descriptive name (e.g.,
monad-configuration-findings). - Click Generate New Credentials.
- Copy the Client ID and Client Secret — the secret is shown only once, so store it securely.
Finding your Organization ID
- In the Upwind console, open Organization Settings.
- Copy the Organization ID value. It begins with
org_followed by alphanumeric characters.
Configuration
Settings
| Setting | Type | Required | Description |
|---|---|---|---|
| Region | string | Yes | The Upwind deployment region. Determines which API and authentication endpoints are used. Options: United States, Europe, Middle East. Defaults to United States. |
| Organization ID | string | Yes | Your Upwind organization identifier. Found in the Upwind console under Organization Settings. Format: org_<alphanumeric>. |
| Severity Filter | array | No | Restrict returned findings to the specified severity levels. Accepted values: critical, high, medium, low. Leave empty to receive findings of all severities. |
| Status Filter | array | No | Restrict returned findings to the specified statuses. Accepted values: pass, fail. Leave empty to receive findings of all statuses. |
| Backfill Start Time | string | No | The date and time (RFC3339) to start fetching configuration findings from on the first run. If not specified, only findings that appear after the input is created will be ingested. |
| Use Synthetic Data | boolean | No | Generate synthetic demo data instead of connecting to the real data source. Useful for testing pipelines before go-live. |
Secrets
| Secret | Type | Required | Description |
|---|---|---|---|
| Client ID | string | Yes | OAuth2 Client ID from your Upwind API application. Used to obtain access tokens via the client credentials grant. |
| Client Secret | string | Yes | OAuth2 Client Secret from your Upwind API application. Used alongside the Client ID to obtain access tokens. |
Setup Walk-through
-
In the Upwind console, create an API application and copy the Client ID and Client Secret (see Prerequisites and Authentication above).
-
Note your Organization ID from Organization Settings in the Upwind console.
-
In Monad, navigate to Inputs and click Add Input.
-
Search for Upwind and select Configuration Findings.
-
Select your Region (United States, Europe, or Middle East) to match your Upwind deployment.
-
Enter your Organization ID (e.g.,
org_xxxxxxxx). -
Enter the Client ID and Client Secret from step 1.
-
Optionally, configure Severity Filter and/or Status Filter to narrow the findings returned. Leave both empty to receive all findings.
-
Optionally, set Backfill Start Time to ingest historical findings from a specific date.
-
Click Save and verify that the input status transitions to Running.
Troubleshooting
Common Issues
Authentication failures (401 Unauthorized)
- Confirm the Client ID and Client Secret are copied correctly with no extra whitespace.
- Check that the API application has not been disabled or deleted in the Upwind console.
- Verify the application has permission to read configuration findings for the target organization.
Organization not found or access denied (403 Forbidden)
- Verify the Organization ID starts with
org_and matches an organization the API application has access to. - Ensure the correct Region is selected — using the wrong region results in the API call reaching the wrong endpoint.
No findings returned
- Confirm that configuration findings exist for the target organization in the Upwind console.
- If you set a Backfill Start Time, ensure it is not in the future.
- Check that your Severity Filter and Status Filter are not excluding all results.
Invalid Organization ID format
- The Organization ID must start with
org_. For example:org_abc123. Check Organization Settings in the Upwind console for the exact value.