Skip to content

Overrides API

Base: /org/subscribers/{subscriber_id}/overrides

subscriber_id is the id you chose for the subscriber. Feature paths use the catalog key.

Create or replace override

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

PUT /org/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 /org/subscribers/{subscriber_id}/overrides

Optional query: include_expired=true (default false).

200

{
  "overrides": [
    {
      "id": "01H…",
      "subscriber_id": "cust_123",
      "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": "cust_123",
      "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 /org/subscribers/{subscriber_id}/overrides/{feature_key}

200 — override · 404 — none

Delete override

DELETE /org/subscribers/{subscriber_id}/overrides/{feature_key}

204 — removed; the plan grant applies again for that feature. See Resolution order.