Skip to content
OpenAppPhysical access, fully managed
Login

Allowed entry kinds

Type
invitation_allowed_entry_kinds
Category
Invitations
Enforced at
Authoring-time
Tiers
OrgIntegrationDevice
Enforcement
Enforce
Default
Not configured — any portal entry kind may be granted.

Every granted portal’s entry_kind must be in the intersection of allowed sets. Use this so guests can get listing doors but not a vehicle boom-gate, for example.

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
kindsstring[]Yes
doorgateboom-gate
Non-empty allow-list of portal entry kinds.
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.
outputstring or integerNo—Device policies only. One output of the device, as the device reports it (PalGate `1` or `2`, a Shelly, Tasmota, or Waveshare channel index). When set, the policy binds only actions on that output; when omitted, every output of the device. An output that is not one of the device’s outputs, or `output` on an organization or integration policy, is rejected. If an action’s output cannot be identified, an output-scoped policy denies it.

How overlapping rows combine

Intersection of kinds arrays. Empty intersection means nothing may be granted.

Example

An invitation that includes a boom-gate portal is rejected.

config
{
"kinds": [
"door",
"gate"
]
}

Integrations

This type is documented on these connectors:

The OpenAPI contract names this object InvitationAllowedEntryKindsPolicyConfig:

{
"kinds": ["door", "gate"],
"output": "main"
}

kinds is a non-empty allow-list of door, gate, and boom-gate.