Guides
Plans and migration
Keep one account key across plans and upgrade to SDK 0.2.0. Replace legacy credentials and use the unified IronDome API origin.
On this page
Manage free and pay-as-you-go access from your IronDome account. All checks use https://api.irondome.dev; normal plan changes keep both your unified account key and the API origin unchanged.
Enable paid access
- Open billing, complete setup, and confirm paid access is active.
- Keep using your existing unified account key and SDK client. Wait for the account policy update to publish.
- Send a controlled check, confirm success, and review recorded usage. The check consumes usage; accounting can lag.
A submitted billing form or pending plan update is not proof authorization has changed. Confirm account state before enabling production traffic.
Upgrade to SDK 0.2.0
Version 0.2.0 defaults to https://api.irondome.dev. Update your dependency and use the constructor for your language:
| SDK | Install | Constructor |
|---|---|---|
| JavaScript | npm install @irondome-dev/sdk@0.2.0 |
new IronDome({ apiKey }) |
| Go | go get github.com/IrondomeDev/sdks/go@v0.2.0 |
irondome.New(key, irondome.Options{}) |
| Rust | irondome-sdk = "=0.2.0" in Cargo.toml |
Client::new(key, Options::default()) |
| Python | Public tagged source; PyPI pending | Client(key) or AsyncClient(key) |
Go's old New(key, origin, options) becomes New(key, options). Rust's old Client::new(key, origin, options) becomes Client::new(key, options). For trusted staging, set Go's Options.BaseURL or Rust's Options::base_url instead. Update Go imports to github.com/IrondomeDev/sdks/go.
Remove legacy free origins from your configuration. Single checks, bulk checks and health retain their routes and response contract: /v1/check, /v1/check/bulk and /healthz. Review errors and client lifecycles before deploying.
Replace a legacy key
Existing dome_free_v1. and dome_live_v1. keys are retired. Create a new unified account key in API keys; newly issued keys begin with dome_acct_v1.. Treat the complete credential as opaque: editing a prefix does not migrate a signed key.
- Save the newly issued key in your server's secret manager.
- Change the API origin to
https://api.irondome.dev. The oldfree.irondome.devendpoint returns HTTP410 Gone; SDK 0.2.0 rejects legacy free origins. - Update all deployments and recreate clients that hold the replaced credential. Drain outstanding work before closing old clients.
- Perform one controlled check and confirm success. This consumes usage.
- Revoke any replaced credential still listed as active.
This is a one-time credential migration. Future normal plan changes use the same unified account key. Supabase native hooks keep their installation URL and signing secret; SDK upgrades do not replace hook configuration.
Handle quota exhaustion
HTTP 429 monthly_quota_exceeded means free-quota policy denies another check. Retrying does not reset it. Wait for the UTC monthly reset or explicitly arrange paid access.
Avoid automatic fallback between credentials or plans: it can change costs without the operator's knowledge. A quota failure is not a classification.
Read usage
Use GET /v1/usage for a free allowance. It returns HTTP 403 free_usage_only for a paid context. Read paid usage and invoices in the dashboard and billing page.
Verify integrations
Retest Supabase Auth and your server's signup flow after plan or credential changes. Keep failures separate from allowed-email results.
Review plans and limits for counting and asynchronous quota behavior.