Skip to main content
All paths below are relative to the base /api/v1. Three gate notations recur: Seat (any admin seat or portal session), alfiz_internal.* keys (org-domain permissions, enforced by whichever provider currently holds the org root), and Seat + cloud.app:<id> (a seat holding a grant scoped to that application). Org-domain gates use the built-in keys every Alfiz catalog carries: alfiz_internal.access.{read, manage_grants, manage_revokes, manage_roles, manage_groups, manage_reporting, view_as}, alfiz_internal.requests.{read, decide_request}, alfiz_internal.audit.read, and alfiz_internal.catalog.{read, publish_catalog}. Account gates are an admin seat, or the named cloud.* key, held globally or at cloud.app:<id> for one application.

Auth and orgs

Publisher

The document is the CatalogDocument from catalog.toDocument(). Publisher keys are namespace-scoped and valid for this endpoint only; sessions and admin keys cannot call it. Versions are monotonic per namespace; out-of-order publishes are rejected. See the registry.

Me

A view-as preview only narrows. It can never show the viewer a surface their own grants would not reach.

Org root

Uniform across topologies: these gates are the alfiz_internal.* keys of the current org root. For a linked org the operation relays to your Application for enforcement; after federation, Alfiz Cloud enforces the same keys itself.
Instance-scoped rows live with their owner. Grant, revoke, and request writes at instance scopes belonging to a member application’s namespace are routed to the owning Application by delegation, since the org root never holds another application’s instance-scoped rows.

Requests

In a federated org the queue aggregates member-application queues, each entry tagged with its application. Pass application on decide when the entry names one. Decision entitlement resolves provider-side at decision time, with the admin override available to org administrators.

Applications

Per-application surfaces are account surfaces: they gate on a seat plus a grant scoped to cloud.app:<id>, per the uniform rule. Promotion via federate follows the runbook: export, validation, atomic flip, read-model push-down. PromotionConflictError (409) returns the conflicts array that resolutions answers.

Registry

Seats and API keys

Billing

Crossing a cap degrades hosted convenience only. See Metering and caps.

Retention

Sync