Skip to main content

API Keys

API keys let you access the Sentro REST API programmatically. Use them to automate monitor management, build custom integrations, pull data into dashboards, or integrate with CI/CD pipelines.

Creating a key​

  1. Go to Settings > API Keys in the dashboard.
  2. Click Create API Key.
  3. Give the key a descriptive name (e.g., "Production Backend", "CI/CD Pipeline").
  4. Choose an access level.
  5. Optionally set an expiration date.
  6. Copy the key immediately -- it is shown only once.

API keys follow the format sentro_sk_live_xxxxxxxx.

Access levels​

LevelCan do
Read OnlyList monitors, view checks, read incidents. Cannot create, update, or delete anything.
Read & WriteFull access -- create monitors, manage alerts, acknowledge incidents, and more.

Use read-only keys wherever possible. If an integration only pulls data, there is no reason to give it write access.

Key lifecycle​

StatusMeaning
ActiveValid and usable.
ExpiredPast its expiration date. Returns 401 on use.
RevokedPermanently disabled by a team member. Cannot be restored.

The dashboard shows lastUsedAt for each key so you can identify unused keys.

Security best practices​

  • Rotate regularly -- Generate new keys every 90 days and retire old ones.
  • Use environment variables -- Never hard-code keys in source code.
  • Create purpose-specific keys -- Separate keys for production, staging, and CI/CD.
  • Set expiration dates -- For temporary integrations or third-party access.
  • Revoke compromised keys immediately -- If a key appears in a commit or log, revoke it and create a new one.

Zero-downtime rotation​

  1. Create a new key.
  2. Update your application to use the new key.
  3. Verify the new key works in production.
  4. Revoke the old key.

Rate limits​

Rate limits are enforced per API key and vary by plan:

PlanRead (GET)Write (POST/PATCH/DELETE)
Free60 req/minRead-only (no writes)
Starter120 req/min30 req/min
Pro300 req/min30 req/min
Max1,000 req/min100 req/min

When the limit is exceeded, the API returns 429 Too Many Requests with a Retry-After header.