# Meraki Organization Configuration Changes Collects and ingests organization configuration changes from the Cisco Meraki Dashboard API, providing logs of configuration modifications across your Meraki organization. **Sync Type: Incremental** ## Requirements Before you connect Monad to Cisco Meraki, you need: - A Meraki organization with appropriate permissions - A Meraki Dashboard API key with organization access - Organization Admin or Full Organization Admin privileges ### Generating an API Key 1. **Log in to the Meraki Dashboard**: - Navigate to your [Meraki Dashboard](https://dashboard.meraki.com) - Log in with your credentials 2. **Navigate to API & Webhooks**: - Click on **Organization** > **API & webhooks** 3. **Generate API Key**: - Click **Generate API Key** button - **Important**: Copy and securely store the API key immediately as it will not be shown again 4. **Find Your Organization ID**: - The Organization ID can be found in the footer of every page in the Meraki Dashboard - Look for the organization ID highlighted in the footer (as shown in the image below) - Copy the organization ID value **Note**: API keys inherit the permissions of the user who creates them. Ensure the user has appropriate organization-level access. ## Configuration The following configuration defines the input parameters. Each field's specifications, such as type, requirements, and descriptions, are detailed below. ### Settings | Setting | Type | Required | Description | | ------------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Organization ID | string | Yes | The ID of the Meraki organization to monitor. | | Region | string | Yes | The Meraki cloud region where your organization is hosted. | | Backfill Start Time | string | No | The date to start fetching data from. If not specified, no past records will be fetched. | ### Secrets | Secret | Type | Required | Description | | ------- | ------ | -------- | --------------------------------------------------------------------------------------------------------------------------- | | API Key | string | Yes | Cisco Meraki Dashboard API key with organization access. Generate this from Organization > Settings > Dashboard API access. | ## API Reference This input uses the [Cisco Meraki Dashboard API](https://developer.cisco.com/meraki/api-v1/get-organization-configuration-changes/) endpoints: - **Primary Endpoint**: `GET /organizations/{organizationId}/configurationChanges` - **Base URI**: Varies by region - `https://api.meraki.com/api/v1` (global), `https://api.meraki.ca/api/v1` (Canada), `https://api.meraki.cn/api/v1` (China), `https://api.meraki.in/api/v1` (India), or `https://api.gov-meraki.com/api/v1` (FedRAMP) - **Authentication**: X-Cisco-Meraki-API-Key header authentication - **Rate Limiting**: Respects Meraki's standard API rate limits - **Data Retention**: Meraki retains configuration changes for up to 365 days ## Troubleshooting ### Common Issues 1. **Authentication Failures** - Verify the API key is correct and hasn't expired - Ensure the API key was generated by a user with organization admin privileges - Check that API access is enabled for the organization - Confirm you're using the correct region - incorrect region settings will result in authentication errors 2. **Rate Limiting** - The input implements automatic rate limiting handling - Check for other applications using the same API key ## Related Articles - [Cisco Meraki Dashboard API Documentation](https://developer.cisco.com/meraki/api-v1/) - [Meraki API Authentication Guide](https://developer.cisco.com/meraki/api-v1/authorization/) - [Organization Configuration Changes API Reference](https://developer.cisco.com/meraki/api-v1/get-organization-configuration-changes/) - [Meraki API Rate Limiting](https://developer.cisco.com/meraki/api-v1/rate-limit/) - [Meraki Region Guide](https://developer.cisco.com/meraki/api-v1/getting-started/#base-uri) ## Sample Record ```json { "ts": "2024-10-06T14:30:25.090210Z", "adminName": "John Smith", "adminEmail": "john.smith@company.com", "adminId": "212406", "networkName": "Main Office", "networkId": "N_24329156", "networkUrl": "https://n1.meraki.com/Main-Office/n/N_24329156/manage/nodes/list", "ssidName": "Corporate WiFi", "ssidNumber": 1, "page": "via API", "label": "PUT /api/v1/networks/N_24329156/wireless/ssids/1", "oldValue": "{\"name\":\"Corporate WiFi\",\"enabled\":true,\"authMode\":\"psk\",\"encryptionMode\":\"wpa2\",\"psk\":\"oldpassword123\"}", "newValue": "{\"name\":\"Corporate WiFi\",\"enabled\":true,\"authMode\":\"psk\",\"encryptionMode\":\"wpa2\",\"psk\":\"newpassword456\"}", "client": { "id": "0hoXjtjX6C-Nk4Nr6kEbCJJFRmIgycaG1HBE572hlIc", "type": "oauth" } } ```