API changelog and versioning
What changed in the API, and the promise we make about changes inside /v1.
Versioning
The version is in the path: /api/v1/ext.
Inside /v1 we only add:
- new fields in responses and webhook payloads,
- new optional request fields and query parameters,
- new endpoints,
- new values in
status, and new error codes.
We don't remove or rename a field, change its type or meaning, or make an optional field required. Write your client so it ignores fields it doesn't know and treats an unknown status as "still in progress".
A change that would break an existing client goes into a new version, /v2. We announce it ahead of time by email to the owners of every organization with an active API key, and /v1 keeps working alongside it for a period stated in that notice.
Changelog
October 2026 — Key restrictions
- Each key can have an IP allowlist (addresses or CIDR ranges, up to 20). Requests from other addresses get
403 ip_not_allowed. - Each key has scopes:
cases:readandcases:write. A request outside them gets403 insufficient_scope. Existing keys have both. - The console shows the IP address a key was last used from, and owners and admins can edit a key's name, allowlist and scopes.
v1 — October 2026
First release.
POST /casesopens a takedown case for a URL, withIdempotency-Keysupport.GET /cases/{id}andGET /cases(cursor pagination,statusfilter).- API keys in Settings > API keys: create, expire after 30, 90 or 365 days or never, revoke.
- Webhook URLs must use
https://. - Enterprise plan only. 60 requests per minute per key; 16 KB request bodies.