Skip to content

Register a capability

A capability is a right a product confers that is not access to content: a data app, event tickets, job posts. It can carry a quota unit, the unit a grant would limit it in.

EdgeKit enforces one quota itself: seats in a user organization (see Seats and the seat limit). Every capability you register is enforced by your own application, and EdgeKit only records it.

You need the catalog write permission (the Owner, Admin and Developer roles).

  1. Open Revenue › Catalog › Capabilities and select New capability.
  2. Fill in the form:
    • Key: dotted and lower case, your application’s namespace and then the right, for example careers.job_posts. Up to 128 characters. The key cannot change later. membership.seats is reserved for EdgeKit.
    • Label: what staff call it, up to 200 characters.
    • Quota unit: one lower-case word such as job_post, up to 64 characters. Leave it empty for a capability with no quota.
  3. Select Create. The capability opens for editing.

Open the product in Revenue › Catalog › Products, tick the capability in Capabilities, and save. A capability no product confers grants nothing. The change is part of your draft, so deploy it.

On its screen you can change the Label and the Quota unit. The key is fixed. The screen also shows how many products confer the capability.

Changing a quota unit relabels the unit for every grant that carries a quota for this capability.

Your application decides what the capability allows. It reads the products a user holds from the user’s grants: the browser client’s grants() (createClient) or GET /v1/grants in the client API reference. Each grant names its product, and the catalog says which products confer the capability. The grants response does not list capabilities or quotas.

The list shows each capability’s Key, Label, Unit, Conferred by and Enforced by. Enforced by is Your own app for every capability you register. Filter by whether a product confers it, by who enforces it and by whether it has a quota. Search by key or label, and sort by key, label or the number of products conferring it.

The console cannot delete a capability.