Child Site Management Policies
A Child Site Management Policy is a centralized policy defined by a parent site to enforce consistent configurations across child sites. These policies allow parent sites to maintain control over specific aspects of their child sites' functionality and appearance.
Non-default policies apply only to the child sites listed in child_site_ids, and each child site can be explicitly assigned to only one policy.
One policy can be designated as the default policy. It applies to every child site not explicitly assigned to another policy or listed in its skip_child_site_ids, including newly created child sites. Only a default policy can exclude child sites. The value field contains the policy configuration data, with the format varying based on the policy type. When a policy is active, its managed configurations are automatically enforced on applicable child sites, and attribute modifications are not permitted.
On a Child Site, listing policies returns only the policy covering that site. Each key in value identifies a managed setting, but its value is always null. Read non-secret effective setting values from the Child Site's own Site settings response.
Settings Policy
Manages site settings and root folder behaviors for child sites. Allows centralized control of site configuration across multiple child sites.
| Policy Details | |
|---|---|
| Policy type | settings |
| Supported site settings | See the Value Hash section below. |
| Non-centrally managed settings | name, subdomain, domain, custom_namespace, disable_files_certificate_generation, legacy_checksums_mode, welcome_screen, show_request_access_link, disable_2fa_with_delay, active_sftp_host_key_id, active_sftp_host_key_ids |
| Requires site admin? | Yes |
| Can skip child sites? | Yes, supply an array for `skip_child_site_id`` for the child sites to skip when applying the policy. |
List Child Site Management Policies
List Child Site Management Policies. On a Child Site, returns only the policy covering that site. Its value contains managed setting names with null values
SDK Method
ChildSiteManagementPolicy.List();
Return Object
FilesList<ChildSiteManagementPolicy>
Authorization Requirement
Requires a Site-Wide API key, or a User API key or session from a Site Administrator.
Additional Arguments
Show Child Site Management Policy
SDK Method
ChildSiteManagementPolicy.Find();
Return Object
ChildSiteManagementPolicy
Authorization Requirement
Requires a Site-Wide API key, or a User API key or session from a Site Administrator.
Method Arguments
| Argument | Description |
|---|---|
| id int64 Required | Child Site Management Policy ID. |
Create Child Site Management Policy
SDK Method
ChildSiteManagementPolicy.Create();
Return Object
ChildSiteManagementPolicy
Authorization Requirement
Requires a Site-Wide API key, or a User API key or session from a Site Administrator.
Method Arguments
| Argument | Default | Description |
|---|---|---|
| value object | Policy configuration data. Attributes differ by policy type. For more information, refer to the Value Hash section of the developer documentation. | |
| skip_child_site_ids array(int64) | IDs of child sites excluded from this default policy. | |
| child_site_ids array(int64) | IDs of child sites explicitly assigned to this non-default policy. | |
| default_policy boolean | true | Whether this policy applies to child sites not explicitly assigned to another policy. |
| policy_type string Required | Type of policy. Valid values: settings.Possible values: settings | |
| name string | Name for this policy. | |
| description string | Description for this policy. |
Update Child Site Management Policy
SDK Method
childSiteManagementPolicy.Update();
Return Object
ChildSiteManagementPolicy
Authorization Requirement
Requires a Site-Wide API key, or a User API key or session from a Site Administrator.
Method Arguments
| Argument | Description |
|---|---|
| value object | Policy configuration data. Attributes differ by policy type. For more information, refer to the Value Hash section of the developer documentation. |
| skip_child_site_ids array(int64) | IDs of child sites excluded from this default policy. |
| child_site_ids array(int64) | IDs of child sites explicitly assigned to this non-default policy. |
| default_policy boolean | Whether this policy applies to child sites not explicitly assigned to another policy. |
| policy_type string | Type of policy. Valid values: settings.Possible values: settings |
| name string | Name for this policy. |
| description string | Description for this policy. |
Delete Child Site Management Policy
SDK Method
childSiteManagementPolicy.Delete();
Return Object
No return value.
Authorization Requirement
Requires a Site-Wide API key, or a User API key or session from a Site Administrator.
The ChildSiteManagementPolicy Object
Some of the methods above return a ChildSiteManagementPolicy object. The attributes of this object are listed below.
| Attribute | Description |
|---|---|
| id int64 | Policy ID. |
| policy_type string | Type of policy. Valid values: settings.Possible values: settings |
| name string | Name for this policy. |
| description string | Description for this policy. |
| value object | Policy configuration data. On a Child Site, contains only managed setting names with null values. Settings policies accept site settings plus an optional folder_behaviors array for parent-managed root behaviors on child sites. For more information, refer to the Value Hash section of the developer documentation. |
| applied_child_site_ids array(int64) | IDs of child sites that this policy has been applied to. This field is read-only. |
| skip_child_site_ids array(int64) | IDs of child sites excluded from this default policy. |
| child_site_ids array(int64) | IDs of child sites explicitly assigned to this non-default policy. |
| default_policy boolean | Whether this policy applies to child sites not explicitly assigned to another policy. |
| created_at date-time | When this policy was created. |
| updated_at date-time | When this policy was last updated. |
value
Site settings and root folder behaviors that a settings policy manages on applicable Child Sites. On the parent site, values follow the same validation as Site settings and Behaviors, so a setting can be null only where that Site setting accepts null. Older policies may hold boolean and integer settings as strings, such as "false" or "30". Child sites receive the converted value. Unsupported keys are removed when the policy is saved. When policies are listed from a Child Site, the values are hidden: each managed key is present with a null value, whatever its type on the parent site.
| Value Hash Parameter | Description |
|---|---|
| domain_hsts_header boolean | Send HSTS (HTTP Strict Transport Security) header when visitors access the site via a custom domain? |
| domain_letsencrypt_chain string | Letsencrypt chain to use when registering SSL Certificate for domain. No longer used as of 2026. Possible values: default, isrg_root_x1, dst_root_ca_x3. |
| email string | Main email for this site |
| reply_to_email string | Reply-to email for this site |
| allow_bundle_names boolean | Are manual Bundle names allowed? |
| bundle_expiration integer | Site-wide Bundle expiration in days |
| welcome_email_enabled boolean | Will the welcome email be sent to new users? |
| ask_about_overwrites boolean | If false, rename conflicting files instead of asking for overwrite confirmation. Only applies to web interface. |
| always_mkdir_parents boolean | Create parent directories if they do not exist during uploads? This is primarily used to work around broken upload clients that assume servers will perform this step. |
| welcome_email_cc string | Include this email in welcome emails if enabled |
| welcome_email_subject string | Include this email subject in welcome emails if enabled |
| welcome_custom_text string | Custom text send in user welcome email |
| language string | Site default language |
| windows_mode_ftp boolean | Does FTP user Windows emulation mode? |
| default_time_zone string | Site default time zone |
| desktop_app boolean | Is the desktop app enabled? |
| desktop_app_session_ip_pinning boolean | Is desktop app session IP pinning enabled? |
| desktop_app_session_lifetime integer | Desktop app session lifetime (in hours) |
| mobile_app boolean | Is the mobile app enabled? |
| mobile_app_session_ip_pinning boolean | Is mobile app session IP pinning enabled? |
| mobile_app_session_lifetime integer | Mobile app session lifetime (in hours) |
| folder_permissions_groups_only boolean | If true, permissions for this site must be bound to a group (not a user). |
| office_integration_available boolean | If true, allows users to use a document editing integration. |
| office_integration_type string | Which document editing integration to support. Files.com Editor or Microsoft Office for the Web. Possible values: only_office, office_365, disabled. |
| pin_all_remote_servers_to_site_region boolean | If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings. |
| motd_text string | A message to show users when they connect via FTP or SFTP. |
| motd_use_for_ftp boolean | Show message to users connecting via FTP |
| motd_use_for_sftp boolean | Show message to users connecting via SFTP |
| left_navigation_visibility object | Visibility settings for account navigation |
| disable_all_ai_features boolean | If true, all AI features are disabled for this site. |
| ai_feature_availability object | Availability settings for AI features. Each feature requires the site_admins, workspace_admins, folder_admins, and all_users keys. Optional selected_group_members defaults to false; when true, members of at least one group in group_ids get access regardless of the other options. All availability options are additive: any enabled option matching the user grants access. Optional group_ids is an array of integer IDs of active groups on this site, from any workspace. Omitted or empty group_ids grants no access through selected_group_members and does not affect other options. Disabling all AI features overrides these settings. |
| mcp_dcr_enabled boolean | Is OAuth DCR (dynamic client registration) for MCP enabled? |
| additional_text_file_types array of strings | Additional extensions that are considered text files |
| bundle_require_note boolean | Do Bundles require internal notes? |
| bundle_send_shared_receipts boolean | Do Bundle creators receive receipts of invitations? |
| bundles_default_owned_by_primary_group boolean | If true, new Share Links created by a user with a primary group will default to that group as owner. |
| calculate_file_checksums_crc32 boolean | Calculate CRC32 checksums for files? |
| calculate_file_checksums_md5 boolean | Calculate MD5 checksums for files? |
| calculate_file_checksums_sha1 boolean | Calculate SHA1 checksums for files? |
| calculate_file_checksums_sha256 boolean | Calculate SHA256 checksums for files? |
| migrate_remote_server_sync_to_sync boolean | If true, we will migrate all remote server syncs to the new Sync model. |
| as2_message_retention_days integer | Number of days to retain AS2 messages (incoming and outgoing). |
| file_activity_events_enabled boolean | If true, file operations produce file_action.activity.v1 EventChannel events in all workspaces. Defaults to false; subscription filters and workspace access still control delivery. |
| username_display string | How usernames are displayed in the web UI. Can be username_only, full_name_only, full_name_username, full_name_company, or full_name_username_company. Possible values: username_only, full_name_only, full_name_username, full_name_company, full_name_username_company. |
| integration_centric_remote_server_admin_access string | Administrator access to user-owned Remote Servers in every Workspace: always_visible (default), never_visible, user_choice_default_visible, or user_choice_default_personal. Forced modes override owner preferences; choice modes use the preference or their default. Possible values: always_visible, never_visible, user_choice_default_visible, user_choice_default_personal. |
| session_expiry_minutes integer | Session expiry in minutes |
| legacy_pairing_enabled boolean | Allow legacy app pairing in all workspaces? Disabled for new sites; existing sites remain enabled until changed. Disabling blocks new pairing exchanges without revoking existing app credentials or affecting OAuth sign-in. Site administrators can re-enable it. |
| ssl_required boolean | Is SSL required? Disabling this is insecure. |
| ftp_tls_session_reuse_required boolean | Require TLS-protected FTP data connections to reuse the control connection TLS session? Applies to all workspaces. |
| sftp_insecure_ciphers boolean | If true, we will allow weak and known insecure ciphers to be used for SFTP connections. Enabling this setting severely weakens the security of your site and it is not recommend, except as a last resort for compatibility. |
| sftp_insecure_diffie_hellman boolean | If true, we will allow weak Diffie Hellman parameters to be used within ciphers for SFTP that are otherwise on our secure list. This has the effect of making the cipher weaker than our normal threshold for security, but is required to support certain legacy or broken SSH and MFT clients. Enabling this weakens security, but not nearly as much as enabling the full sftp_insecure_ciphers option. |
| fedramp boolean | Are FedRAMP security restrictions enabled for this site? |
| user_lockout boolean | Will users be locked out after incorrect login attempts? |
| user_lockout_tries integer | Number of login tries within user_lockout_within hours before users are locked out |
| user_lockout_within integer | Number of hours for user lockout window |
| user_lockout_lock_period integer | How many hours to lock user out for failed password? |
| include_password_in_welcome_email boolean | Include password in emails to new users? |
| allowed_countries string | Comma separated list of allowed Country codes |
| allowed_ips string | List of allowed IP addresses |
| allow_user_level_2fa_override boolean | Allow the site-wide two-factor authentication requirement to be overriden on a per-user-basis? |
| allow_user_level_allowed_ip_override boolean | Allow the site-wide allowed IP restriction to be overriden on a per-user-basis? |
| allow_user_level_ssl_override boolean | Allow the site-wide FTP SSL requirement to be overriden on a per-user-basis? |
| allow_user_level_ftp_tls_session_reuse_override boolean | Allow per-user overrides of the FTP TLS session reuse requirement? |
| enforce_parent_site_user_ip_restrictions boolean | Require Parent Site users entering this Child Site to match its allowed IP addresses in addition to their existing IP restrictions. Applies to all Workspaces. Defaults to false. |
| disallowed_countries string | Comma separated list of disallowed Country codes |
| days_to_retain_backups integer | Number of days to keep deleted files |
| max_prior_passwords integer | Number of prior passwords to disallow |
| password_validity_days integer | Number of days password is valid |
| password_min_length integer | Shortest password length for users |
| password_require_letter boolean | Require a letter in passwords? |
| password_require_mixed boolean | Require lower and upper case letters in passwords? |
| password_require_special boolean | Require special characters in password? |
| password_require_number boolean | Require a number in passwords? |
| password_require_unbreached boolean | Require passwords that have not been previously breached? (see https://haveibeenpwned.com/) |
| require_logout_from_bundles_and_inboxes boolean | If true, we will hide the 'Remember Me' box on Inbox and Bundle registration pages, requiring that the user logout and log back in every time they visit the page. |
| dav_user_root_enabled boolean | Use user FTP roots also for WebDAV? |
| sftp_user_root_enabled boolean | Use user FTP roots also for SFTP? |
| disable_password_reset boolean | Is password reset disabled? |
| immutable_files boolean | Are files protected from modification? |
| bundle_not_found_message string | Custom error message to show when bundle is not found. |
| bundle_password_required boolean | Do Bundles require password protection? |
| bundle_require_registration boolean | Do Bundles require registration? |
| bundle_require_share_recipient boolean | Do Bundles require recipients for sharing? |
| bundle_send_one_time_password_to_recipient_at_registration boolean | If true, new Share Links must send a one-time password to the recipient when they register. Requires bundle_require_share_recipient and cannot be enabled with bundle_password_required. |
| bundle_registration_notifications string | Do Bundle owners receive registration notification? Possible values: never, always, per_bundle_setting. |
| bundle_activity_notifications string | Do Bundle owners receive activity notifications? Possible values: never, always, per_bundle_setting. |
| bundle_upload_receipt_notifications string | Do Bundle uploaders receive upload confirmation notifications? Possible values: never, always, per_bundle_setting. |
| document_edits_in_bundle_allowed boolean | If true, allow public viewers of Bundles with full permissions to use document editing integrations. |
| password_requirements_apply_to_bundles boolean | Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords? |
| prevent_root_permissions_for_non_site_admins boolean | If true, we will prevent non-administrators from receiving any permissions directly on the root folder. This is commonly used to prevent the accidental application of permissions. |
| restrict_root_folder_behaviors_to_site_admins boolean | If true, only site admins may create, modify, or delete any behavior at the site root, or a skip that would disable one. |
| root_folder_behaviors_apply_to_workspaces boolean | If true, supported protective behaviors at the site root also apply within named workspaces. Requires restrict_root_folder_behaviors_to_site_admins to be enabled. |
| opt_out_global boolean | Use servers in the USA only? |
| use_provided_modified_at boolean | Allow uploaders to set provided_modified_at for uploaded files? |
| non_sso_groups_allowed boolean | If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider. |
| non_sso_users_allowed boolean | If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider. |
| sharing_enabled boolean | Allow bundle creation |
| snapshot_sharing_enabled boolean | Allow snapshot share links creation |
| user_requests_enabled boolean | Enable User Requests feature |
| user_requests_notify_admins boolean | Send email to site admins when a user request is received? |
| dav_enabled boolean | Is WebDAV enabled? |
| files_com_remote_server_enabled boolean | Allow other Files.com sites to use this site's API keys for native Files.com Remote Server connections? Defaults to true and applies to all keys and workspaces on this site. When false, new pairings and access through existing connections are rejected without revoking keys or deleting connections. Re-enabling permits access again with usable keys. Does not disable this site's connections to other sites, ordinary API access, or Connected Sites. |
| ftp_enabled boolean | Is FTP enabled? |
| s3_compatible_endpoint_enabled boolean | Is the S3-compatible endpoint enabled for all users and workspaces on this site? Defaults to true. When false, user and group S3 permissions do not allow access. |
| sftp_enabled boolean | Is SFTP enabled? |
| sftp_finalize_partial_uploads boolean | Finalize partial SFTP uploads from interrupted connections? Default: true. |
| users_can_create_api_keys boolean | Allow users to create their own API keys? |
| users_can_create_ssh_keys boolean | Allow users to create their own SSH keys? |
| show_user_notifications_log_in_link boolean | Show log in link in user notifications? |
| sftp_host_key_type string | Sftp Host Key Type Possible values: default, exavault, custom, smartfile. |
| protocol_access_groups_only boolean | If true, protocol access permissions on users will be ignored, and only protocol access permissions set on Groups will be honored. Make sure that your current user is a member of a group with API permission when changing this value to avoid locking yourself out of your site. |
| revoke_bundle_access_on_disable_or_delete boolean | Auto-removes bundles for disabled/deleted users and enforces bundle expiry within user access period. |
| bundle_watermark_value object | Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value |
| group_admins_can_add_users boolean | Allow group admins to create users in their groups |
| group_admins_can_manage_group_memberships boolean | Allow group admins to add or remove existing users in their groups |
| group_admins_can_delete_users boolean | Allow group admins to delete users in their groups |
| group_admins_can_enable_disable_users boolean | Allow group admins to enable or disable users in their groups |
| group_admins_can_modify_users boolean | Allow group admins to modify users in their groups |
| group_admins_can_bypass_user_lifecycle_rules boolean | Allow group admins to exempt users in their groups from lifecycle rules |
| group_admins_can_reset_passwords boolean | Allow group admins to reset passwords for users in their groups |
| group_admins_can_set_user_password boolean | Allow group admins to set password authentication method |
| child_site_folder_admins_can_see_parent_site_directory boolean | If true, administrators on this site's Child Sites, including Folder Admins, can list this site's Default Workspace users and groups and grant them folder permissions and notifications on Child Site paths. |
| workspace_folder_admins_can_see_default_workspace_directory boolean | If true, Workspace Administrators and Folder Admins in a Custom Workspace can list the Default Workspace users and groups that have permissions in that Workspace and choose them as Email Notification recipients. |
| bundle_recipient_blacklist_free_email_domains boolean | Disallow free email domains for Bundle/Inbox recipients? |
| bundle_recipient_blacklist_domains array of strings | List of email domains to disallow when entering a Bundle/Inbox recipients |
| admins_bypass_locked_subfolders boolean | Allow admins to bypass the locked subfolders setting. |
| allowed_2fa_method_sms boolean | Is SMS two factor authentication allowed? |
| allowed_2fa_method_totp boolean | Is TOTP two factor authentication allowed? |
| allowed_2fa_method_webauthn boolean | Is WebAuthn two factor authentication allowed? |
| allowed_2fa_method_yubi boolean | Is yubikey two factor authentication allowed? |
| allowed_2fa_method_email boolean | Is OTP via email two factor authentication allowed? |
| allowed_2fa_method_static boolean | Is OTP via static codes for two factor authentication allowed? |
| allowed_2fa_method_bypass_for_ftp_sftp_dav boolean | Are users allowed to configure their two factor authentication to be bypassed for FTP/SFTP/WebDAV? |
| require_2fa boolean | Require two-factor authentication for all users? |
| require_2fa_exempt_all_sso_users boolean | If true, SSO users using the default user-level two-factor authentication setting are exempt from the site-wide two-factor authentication requirement. |
| require_2fa_user_type string | What type of user is required to use two-factor authentication (when require_2fa is set to true for this site)? Possible values: all, folder_and_site_admins, site_admins. |
| color2_top string | Top bar background color |
| color2_left string | Page link and button color |
| color2_link string | Top bar link color |
| color2_text string | Page link and button color |
| color2_top_text string | Top bar text color |
| site_header string | Custom site header text for authenticated pages |
| site_footer string | Custom site footer text for authenticated pages |
| site_public_header string | Custom site header text for public pages |
| site_public_footer string | Custom site footer text for public pages |
| login_help_text string | Login help text |
| use_dedicated_ips_for_smtp boolean | If using custom SMTP, should we use dedicated IPs to deliver emails? |
| email_footer_custom_text string | Custom footer text for system-generated emails (as Markdown). Supports standard strftime date/time patterns like %Y (4-digit year), %m (month), %d (day). |
| smtp_address string | SMTP server hostname or IP |
| smtp_authentication string | SMTP server authentication type |
| smtp_from string | From address to use when mailing through custom SMTP |
| smtp_username string | SMTP server username |
| smtp_password string | Setting: Smtp password |
| smtp_port integer | SMTP server port |
| smtp_ssl string | Custom SMTP encryption mode: if_available (default) uses STARTTLS when offered and otherwise sends credentials and messages unencrypted. A certificate-verified STARTTLS connection automatically changes if_available to require unless smtp_ssl is managed by a parent policy. require requires STARTTLS before authentication; require_implicit uses TLS from connection start; never disables TLS. TLS verifies the server certificate against smtp_address. Encryption is never automatically downgraded. Possible values: if_available, require, require_implicit, never. |
| uploads_via_email_authentication boolean | Require email authentication, virus, and spam checks for incoming emails to Inboxes and Incoming Email Automations in every Workspace on this site? |
| folder_behaviors array of objects | Root folder behaviors to configure and manage on applicable child sites. Currently available behavior types: malware_scanning, file_expiration, limit_file_extensions, limit_file_regex. |