opsgenie-export is a command-line tool WHAWIT publishes under the MIT
license. It reads the whole account through the REST API and writes plain JSON
files to a folder on your machine. It is useful whether or not you move to
WHAWIT: the importer recreates schedules and escalation
policies; this tool keeps everything else, including the history the importer
deliberately leaves behind.
The tool is read-only. It talks to
api.opsgenie.com (or the EU host)
and nothing else — no sign-up, no telemetry, no upload. Nothing in Opsgenie is
modified, and the folder never leaves your disk unless you move it.What you need
Node.js 20 or newer
Node.js 20 or newer
npx downloads and runs the current version; nothing is installed globally.An Opsgenie account API key with read access
An Opsgenie account API key with read access
Settings → API key management → Add new API key, with Read and
Configuration Access. A team integration key only sees alerts and fails
with HTTP 403 on the configuration endpoints. The same key works for the
importer.
Your region
Your region
Add
--region eu for accounts on api.eu.opsgenie.com.What you get
--resume and the same --out.
Options
Sections:
account, users, teams, schedules, on-calls, escalations, integrations, policies, maintenance, heartbeats, services, forwarding-rules, roles, alerts, incidents.
What it cannot get
- Audit logs and reports — not exposed by the API.
- Alert attachments — listed as download links, not fetched.
- Integration secrets by default — redacted unless you pass
--include-secrets. They do not transfer anyway: every integration is re-created and re-keyed on the destination side. - Anything a team integration key cannot read — use an account key.
How long it takes
Opsgenie throttles by request domain, and the configuration domain (users, teams, schedules, policies) has the lowest limit. The tool keeps a floor of 120 ms between requests, retries429 and 5xx with exponential backoff and
honours Retry-After. Configuration takes roughly one request per user, team,
schedule and integration. History is 100 alerts per request; --with-alert-notes
and --with-alert-logs add one request per alert each, which is what turns a
large account into hours rather than minutes.
Next
Importing from Opsgenie
Recreate schedules, rotations and escalation policies in WHAWIT from the same API key.
Migrating from another tool
The cutover playbook: run both systems in parallel, then switch.

