My Entitlements
Resolved feature flags for the calling account. Driven by the plan-entitlements system (migration 142+) — every feature on the platform is gated by a named entitlement key, and this endpoint returns the union of plan-level grants plus any per-account overrides.
Use this on app load to decide which UI affordances to show. The flat {feature_key, enabled} shape makes it cheap to Set<string> the enabled keys client-side and check membership with O(1). Calls from admin accounts always return every entitlement as enabled: true (matches the entitled() short-circuit in the server).
Accounts with no plan assigned (plan_id IS NULL) get an empty list — webapp should treat as "everything gated" and direct the user to billing.
Response (200 OK)
{feature_key, enabled} pairs. Each entitlement appears at most once.Entitlement key catalog
The keys below are the stable identifiers checked by the dashboard and api-server. New keys are added by migration as features ship — treat unknown keys as enabled: false.
Domains & certificates
myapp.ngris.com) instead of an ephemeral random one.dev.example.com) with managed DNS + ACME issuance.limit_value controls count).Traffic management
redirect.webhook.jwt-validation.limit_value caps the number of templates).Authentication & access
plans.max_members (0 / null = unlimited). On downgrade to a plan without this key, non-owner memberships are suspended.Observability
/traffic/logs*). Without it those endpoints return 403./traffic/security-analytics). Returns 403 without it./traffic/alerts) with email / webhook channels.