Skip to content

Overrides API

Base: /api/organizations/{organization_id}/subscribers/{subscriber_id}/overrides

Create or replace override

Upsert by feature key for the subscriber. Body kind must match the catalog feature.

PUT /api/organizations/{organization_id}/subscribers/{subscriber_id}/overrides/{feature_key}

Flag

{
  "kind": "flag",
  "allowed": true,
  "expires_at": "2026-02-01T00:00:00.000Z"
}

Limit

{
  "kind": "limit",
  "limit": 50
}

Unlimited:

{
  "kind": "limit",
  "limit": null
}
Field Required Rules
kind yes flag | limit; must match feature
allowed if flag boolean
limit if limit integer ≥ 0, or null (unlimited)
expires_at no ISO-8601; null/omit = no expiry

feature_key must exist in the org catalog. Values are absolute (not deltas on the plan).

200 — override (created or updated)

404 — subscriber or feature not found

422 — kind mismatch or invalid body

List overrides

GET /api/organizations/{organization_id}/subscribers/{subscriber_id}/overrides

Optional query: include_expired=true (default false).

200

{
  "overrides": [
    {
      "id": "01H…",
      "subscriber_id": "01H…",
      "feature": "sso",
      "kind": "flag",
      "allowed": true,
      "expires_at": "2026-02-01T00:00:00.000Z",
      "created_at": "2026-01-15T12:00:00.000Z",
      "updated_at": "2026-01-15T12:00:00.000Z"
    },
    {
      "id": "01H…",
      "subscriber_id": "01H…",
      "feature": "seats",
      "kind": "limit",
      "limit": 50,
      "expires_at": null,
      "created_at": "2026-01-15T12:00:00.000Z",
      "updated_at": "2026-01-15T12:00:00.000Z"
    }
  ]
}

Get override

GET /api/organizations/{organization_id}/subscribers/{subscriber_id}/overrides/{feature_key}

200 — override · 404 — none

Delete override

DELETE /api/organizations/{organization_id}/subscribers/{subscriber_id}/overrides/{feature_key}

204 — removed; plan resolution applies again for that feature