The Policy resource represents a Security Policy, which can apply to users (kind: user) or apps (kind: app). kind is set at creation time and cannot be changed afterward.
Core Attributes
| Attribute | Type | Description |
|---|
| id | Integer | Policy ID. |
| name | String | Policy name. |
| kind | String | user or app. Immutable after create. |
| is_default | Boolean | Computed: true if this policy's ID matches the account's default policy ID. Only a user-kind policy can be default. |
Password Attributes
| Attribute | Type | Description |
|---|
| minimum_password_length | Integer | Minimum password length. Allowed values: 5, 6, 8, 10, 12, 16. |
| password_complexity_requirements | Integer (enum) | Complexity requirement level: 0 = none, 1 = letters+digits, 2 = mixed-case+digits, 3 = +special character, 4 = three-of-four character classes. |
| passwords_remembered | Integer | Number of prior passwords disallowed for reuse. Allowed values: 0, 3, 5. |
| password_expiration_days | Integer | Days until password expires (0 = never). |
There is no dedicated “include username in password” or “confirm password change” attribute on the Policy resource. The closest related settings are dynamic_blacklist_attributes and enforce_account_password_blacklist.
Invite Expiration Attributes
| Attribute | Type | Description |
|---|
| invite_expiration_time_value | Integer | Length of the invite expiration window. Default: 24. |
| invite_expiration_time_unit | Integer (enum) | Unit for the invite expiration window: 0 = Minutes, 1 = Hours. Default: 1. |
Lockout Attributes
| Attribute | Type | Description |
|---|
| maximum_invalid_login_attempts | Integer | Number of failed logins before lockout. Range 3–10, or 0 = no limit. |
| lock_effective_minutes | Integer (enum) | Lockout duration in minutes: 15, 30, 60, or 0. |
There is no separate “failed attempts period” or “lockout notify” attribute on the Policy resource.
Session Attributes
| Attribute | Type | Description |
|---|
| session_timeout_minutes | Integer | Idle session timeout in minutes. |
| session_timeout_by_fixed_time_value | Integer | Fixed maximum session duration value, paired with session_timeout_by_fixed_time_unit. |
| session_timeout_by_fixed_time_unit | Integer (enum) | Unit for session_timeout_by_fixed_time_value: 0 = Minutes, 1 = Hours. |
There is no “prevent concurrent sessions” attribute. A related but distinct concept, persistent_session_enabled, exists but does not control concurrency.
MFA Attributes
| Attribute | Type | Description |
|---|
| authentication_factor_ids | Array<Integer> | Enabled MFA factor IDs. Full-replace on update; send [] to clear. |
| reset_password_authentication_factor_ids | Array<Integer> | MFA factor IDs allowed for password reset. Full-replace on update. |
| mfa_registration_enabled | Boolean | Whether MFA registration is enabled. |
| voluntary_mfa_registration_enabled | Boolean | Whether users may voluntarily register MFA factors. |
There is no single “MFA enrollment period” attribute; MFA registration is controlled by the two boolean flags above.
IP Restriction Attributes
| Attribute | Type | Description |
|---|
| ip_addr_restriction | Text | Allowed IP ranges. This is free-form text, not a JSON array. |
| ignore_xff | Boolean | Whether to ignore the X-Forwarded-For header when evaluating IP restriction. |
Device Trust Attributes
| Attribute | Type | Description |
|---|
| browser_cert_required | Boolean | Require a browser certificate for device trust. |
| self_install_cert | Boolean | Allow self-installed certificates. |
| third_party_device_trust | Boolean | Allow third-party device trust providers. |
| gdt_required | Boolean | Require Global Device Trust. |
| trusted_device_login_enabled | Boolean | Enable trusted-device login. |
| trusted_device_login_mfa_allowed | Boolean | Allow MFA bypass on trusted-device login. |
| browser_pki_expiration | Integer | Days until the browser PKI/device certificate expires (also governs "remember device" duration). |
Device trust is not a single boolean; it is controlled by the combination of fields above.
Portal Attributes
| Attribute | Type | Description |
|---|
| new_portal_setting | String | required, allowed, or forbidden. |
| allow_add_company_app | Boolean | Allow users to add company apps from the portal. |
| allow_add_personal_app | Boolean | Allow users to add personal apps from the portal. |
| enable_browser_extensions | Boolean | Enable browser extension support. |
| disable_browser_password_manager | Boolean | Disable the browser's native password manager. |
| enable_email_hint | Boolean | Show an email hint on the login page. |
There is no single “show all apps in portal” attribute.
Social Sign-In Attributes
| Attribute | Type | Description |
|---|
| social_sign_in | Boolean | Master switch for social identity provider sign-in. |
| google | Boolean | Enable Google sign-in. |
| facebook | Boolean | Enable Facebook sign-in. |
| linkedin | Boolean | Enable LinkedIn sign-in. |
| twitter | Boolean | Enable Twitter sign-in. |
Advanced / Risk Attributes
| Attribute | Type | Description |
|---|
| euba_enabled | Boolean | Enable entity/user behavior analytics-based risk checks. |
| euba_risk_threshold | Integer | Risk threshold for EUBA-based challenges. |
| enable_smart_access | Boolean | Enable Smart Access risk-based authentication. |
| smart_access_risk_threshold | Integer | Risk threshold for Smart Access challenges. |
There is no single “risk_based_auth_enabled” attribute; risk-based auth is split between the EUBA and Smart Access field groups above.
App Policy Settings (kind: app only)
| Attribute | Type | Description |
|---|
| force_authn | Boolean | Force re-authentication for this app. |
| app_otp_offset_enabled | Boolean | Enable an OTP offset window for this app. |
| app_otp_offset | Integer | OTP offset value, when enabled. |
| app_force_authn_offset | Integer | Force-authentication offset for this app. |
There is no single “app_session_timeout” attribute.
Secure Areas / Step-Up Attributes
| Attribute | Type | Description |
|---|
| admin_policy_id | Integer | ID of an app-kind policy on the same account, applied as a step-up policy for admin/secure areas. 422 if it references a policy of a different kind or a different account. |
| profile_policy_id | Integer | ID of an app-kind policy on the same account, applied as a step-up policy for profile/secure areas. Same validation as admin_policy_id. |
| secure_area_otp_timeout_minutes | Integer | OTP timeout, in minutes, for secure area step-up challenges. |
Terms & Conditions Attributes
| Attribute | Type | Description |
|---|
| terms_and_conditions | Object | An object of shape { "enabled": Boolean, "content": String }, not a single boolean. |
Have a Question?
Looking for walkthroughs or how-to guides? Check out our Knowledge Base.
Have a product idea or request? Share it in our Ideas Portal.