Bulk Import
Bulk import lets you provision monitors, notification channels, teams, and escalation policies in a single operation using a JSON template. This is useful for onboarding new environments, migrating from another tool, or replicating a standard monitoring setup across multiple organizations.
Access
Section titled “Access”Bulk import is available to organization admins and owners only.
- UI: Navigate to Settings > Import and upload or paste your JSON template.
- API: Send a POST request to
/api/v1/importwith the JSON body and your API key.
JSON Format
Section titled “JSON Format”The import template is a single JSON object with top-level keys for each resource type:
{ "channels": [ { "name": "Ops Slack", "type": "slack", "config": { "webhook_url": "https://hooks.slack.com/services/..." } } ], "teams": [ { "name": "Platform Team", "channels": ["Ops Slack"] } ], "policies": [ { "name": "Platform Escalation", "steps": [ { "team": "Platform Team", "delay_minutes": 0 }, { "team": "Platform Team", "delay_minutes": 15 } ] } ], "monitors": [ { "name": "API Health", "type": "http", "url": "https://api.example.com/health", "interval": "30s", "policy": "Platform Escalation" } ]}Dependency Order
Section titled “Dependency Order”Resources are processed in a fixed order to satisfy dependencies:
- Channels: Notification channels are created first.
- Teams: Teams reference channels by name.
- Policies: Escalation policies reference teams by name.
- Monitors: Monitors reference policies by name.
If you reference a resource that does not exist yet and is not included earlier in the template, the import will fail.
Validation Behavior
Section titled “Validation Behavior”The import uses fail-fast validation. If any resource fails validation (missing required fields, invalid references, duplicate names), the entire import is rejected and no resources are created. The response includes the specific validation error and the resource that caused it.