Inventory Assets
Retrieves a full snapshot of inventory assets from the Upwind Security catalog, including cloud resources, Kubernetes workloads, and containers across your organization.
Sync Type: Full Synchronization
Prerequisites
Before connecting Monad to Upwind, you need:
- An active Upwind account with API access enabled
- Your Organization ID — found in the Upwind console under Organization Settings. The value has the format
org_<alphanumeric>. - An OAuth 2.0 API application with a Client ID and Client Secret. See the Authentication section below for steps to create one.
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 inventory assets.
- Provide a descriptive name (e.g.,
monad-inventory-assets). - 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
The following configuration defines the input parameters.
Settings
| Setting | Type | Required | Description |
|---|---|---|---|
| Region | string | Yes | The Upwind deployment region. Determines which API and authentication endpoints are used. Options: United States (us), Europe (eu), Middle East (me). Defaults to us. |
| Organization ID | string | Yes | Your Upwind organization identifier. Found in the Upwind console under Organization Settings. Format: org_<alphanumeric>. |
| Cloud Provider | string | Yes | The cloud provider to scope the inventory search to. Upwind requires at least one search condition; this value is sent as a cloud_provider filter on the search request (for example, AWS, GCP, AZURE). |
| Cron | string | Yes | Cron expression that controls how often the connector runs a full asset scan (5-field, standard syntax). Example: 0 0 * * * for daily at midnight. |
| Use Synthetic Data | boolean | No | Generate synthetic data for testing instead of connecting to the real Upwind API. Defaults to false. |
Secrets
| Secret | Type | Required | Description |
|---|---|---|---|
| Client ID | secret | Yes | OAuth2 Client ID from your Upwind API application. Used to obtain access tokens via the client credentials grant. |
| Client Secret | secret | Yes | OAuth2 Client Secret from your Upwind API application. Used alongside the Client ID to obtain access tokens. |
Setup Walk-through
-
Create an API application — follow the Authentication section above to create an OAuth 2.0 application in the Upwind console and copy the Client ID and Client Secret.
-
Find your Organization ID — in the Upwind console navigate to Organization Settings and copy the
org_<alphanumeric>identifier. -
Create the input in Monad:
- Open your Monad workspace and navigate to Inputs.
- Click Add Input and select Upwind — Inventory Assets.
-
Fill in the configuration:
- Select the Region that matches your Upwind deployment (United States, Europe, or Middle East).
- Paste your Organization ID into the Organization ID field.
- Enter the Cloud Provider to scope the asset search to (for example,
AWS,GCP, orAZURE). Upwind requires at least one search condition, so this filter is mandatory. - Enter the Client ID and Client Secret from your API application.
- Set the Cron schedule to control how often a full asset snapshot is taken (for example,
0 0 * * *for once daily).
-
Save and test — click Test Connection. Monad will authenticate with Upwind and make a sample request to the inventory assets search endpoint to confirm the credentials and organization ID are valid.
-
Activate — once the connection test passes, enable the input. Monad will perform a full scan of your Upwind asset catalog on each scheduled run.
Troubleshooting
Common Issues
-
Authentication Errors (401 / 403)
- Confirm the Client ID and Client Secret are correct and have not been revoked.
- Verify the API application exists and is active in the Upwind console.
- Ensure no extra whitespace was included when copying the credentials.
- Regenerate credentials in the Upwind console if you suspect they have been compromised.
-
Organization Not Found or Permission Denied
- Verify the Organization ID starts with
org_and matches the value shown in Upwind Organization Settings. - Confirm the API application has read access for the target organization.
- Verify the Organization ID starts with
-
Empty Results
- Confirm that the selected Cloud Provider matches assets that exist in your Upwind organization — only assets matching this filter are returned. To pull assets from a different cloud, create a separate input for that provider.
- Confirm that inventory assets exist in your Upwind organization.
- Check the pipeline logs for any parse errors returned from the Upwind API.
-
Invalid Region
- Ensure the selected region matches the Upwind deployment your organization uses. Using the wrong region will result in connection failures because API and token endpoints differ per region.
-
Invalid Cron Expression
- Ensure the cron expression uses standard 5-field syntax. Refer to Cron Expression Syntax for guidance.