Skip to main content

API Documentation

OnChange REST API

Programmatic access to your monitors, changes, and notifications. Build dashboards, automate workflows, and integrate OnChange into your toolchain.

Authentication

Pass an API key in theX-API-Keyheader. Issue per-integration keys with their own scopes and expiry fromSettings → API.

Base URL

Every endpoint lives underhttps://onchange.app/api/v1and returns JSON. Default rate limit is 120 requests per minute per key — admins can raise that for partner keys.

Pagination

List endpoints support page-based pagination usingpageandper_pagequery parameters. Default is 20; monitor lists allow up to 500.

Authentication

Issue a key

  1. Open Settings → API.
  2. Click New key, name it after the integration that will use it, and pick the scopes it needs.
  3. Copy the secret. It is shown exactly once.

Use the key

Send the secret in the X-API-Key header on every request. Keys carry scopes — calls without the right scope return 403.

If a key is compromised, revoke it from the same settings page. Revocation is immediate.

Scopes

Scopes follow resource:action where action is read or write. Pick the smallest set your integration needs.

ScopeGrants
monitors:readList, fetch, and inspect monitors.
monitors:writeCreate, update, pause, delete monitors.
changes:readRead change history, diffs, and AI summaries.
changes:writeMark changes as useful / noise; archive.
alerts:readList alert destinations and rules.
alerts:writeCreate or modify alert destinations and rules.
reports:readDownload generated reports.
webhooks:readInspect outbound webhook deliveries.
users:readRead your own profile and API keys.
users:writeManage your own API keys.

Rate limits

Default ceiling is 120 requests / minute per key. Each issued key gets its own bucket — multi-key customers are not penalized for having many integrations.

Admins can raise the ceiling for individual keys (partner integrations, internal automations). Need a higher limit? Get in touch.

Exceeding the limit returns 429 Too many requests. Back off and retry after the bucket refills.

OpenAPI specification

Full machine-readable spec for the public surface. Drop it into Postman, Insomnia, or any OpenAPI-aware client to generate a request collection.

Example request
curl https://onchange.app/api/v1/monitors \
  -H "X-API-Key: ock_..." \
  -H "Content-Type: application/json"

Interactive API Explorer

Try any endpoint live. Enter your API key and send requests directly from this page.

Authentication

Add your API key to try endpoints live. Find it in Settings → API Key.

Monitors

Changes

Timeline & Values

Crawl

Alert Rules

Accessibility

Reports

Status Pages

Export

User

Error codes

CodeMeaning
200Success
201Created
400Bad request - invalid parameters
401Unauthorized - invalid or missing API key
403Forbidden — API key is missing the required scope (response includes required_scope)
404Not found
429Rate limited - too many requests
500Internal server error

Ready to build?

Create a free account to get your API key and start building.