Skip to content
OpenAppPhysical access, simplified
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. Shared row fieldsenforcement (enforce, require_approval,audit_only) and enabled apply to every type;audit_only and disabled rows never block.

NameTypeRequiredValuesDescription
max_usesintegerYesMaximum redemption count. Must be greater than 0.
allow_unlimitedbooleanNoWhen true on every applicable row, the author may omit max_uses (unlimited). Default false / omitted = forbidden.
outputstring or integerNoOptional channel or output id. When set, the policy binds only that output. When omitted, it binds every output of the tier target. A scoped row does not apply when the acting output is unknown.

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: