Skip to content
OpenAppPhysical access, fully managed
Login

Max share uses

Type
share_max_uses
Category
Invitations
Enforced at
Authoring-time
Tiers
OrgIntegrationDevice
Enforcement
Enforce
Default
Not configured — no extra ceiling; unlimited shares remain forbidden.

Finite max_uses is a ceiling on the author’s choice. allow_unlimited is AND across rows: if any applicable row omits it or sets it false, unlimited is forbidden. Not configured: no extra ceiling beyond invitation_max_uses, and unlimited is still forbidden. invitation_max_uses still applies to shares (most restrictive).

When it is enforced

Evaluated when someone creates or updates an invitation, hold, or share. Requests that would exceed the limit are rejected — they are not silently rewritten.

Where to set it

Settings → Policies (org), the integration Policies tab, or — on PalGate — the device steward Policies tab.

Policies never grant access. See thepolicies architecture guidefor how org, integration, and device tiers combine.

Arguments

The config object on create/update. Row fields outsideconfig are enforcement (this type acceptsenforce; any other value is rejected with 400), enabled (disabled rows never apply), and capability.

NameTypeRequiredValuesDescription
max_usesintegerYes—Maximum redemption count. Integer from 1 through 31536000.
allow_unlimitedbooleanNo—When true on every applicable row, the author may omit max_uses (unlimited). Default false / omitted = forbidden.
applies_tostring[]No
adminmemberresidentall
Principal kinds this row binds, as a non-empty array of admin, member, resident, all. Other kinds, a bare string, and empty arrays are rejected. `all` matches every kind this policy can bind. A caller is every kind it is at once, and a row binds when any of them is listed. When omitted, the default applies. Default: Every author, including admins.

How overlapping rows combine

Minimum of max_uses. allow_unlimited is AND (any denying row wins).

Example

A share with 10 uses is rejected. Unlimited is rejected unless every row allows it.

config
{
"max_uses": 5,
"allow_unlimited": false
}

Integrations

This type is documented on these connectors: