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.
| Name | Type | Required | Values | Description |
|---|---|---|---|---|
| max_uses | integer | Yes | — | Maximum redemption count. Integer from 1 through 31536000. |
| allow_unlimited | boolean | No | — | When true on every applicable row, the author may omit max_uses (unlimited). Default false / omitted = forbidden. |
| applies_to | string[] | 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.
{ "max_uses": 5, "allow_unlimited": false}Integrations
This type is documented on these connectors:
- Home Assistant (home_assistant)
- KNX (knx)
- MQTT (mqtt)
- PalGate Cloud (palgate_cloud)
- Shelly Cloud (shelly_cloud)
- Shelly Websocket (shelly_websocket)
- Tasmota (tasmota)
- Virtual Access (virtual_access)
- Virtual Demo Devices (virtual_demo)
- Waveshare (waveshare)
Related
- Policy catalog
- Policies architecture guide
- Default share uses (share_default_max_uses)
- Max invitation uses (invitation_max_uses)
- Max share duration (share_max_duration)