files.com 1.1.775 → 1.1.777

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4c219d136b284a59d807f0457203b8c9cea7dfc0a2e816df7be244d5a063546
4
- data.tar.gz: 92418b15c3786ca448d176d68a3e1d2a9a16e1a9c69a0c8713642e37c87b7f74
3
+ metadata.gz: 41ee15aacfc59a928215ccdd55f993d875355de89907f76fc7082adbfb98f69a
4
+ data.tar.gz: 9a6125da5b2d327c7601239fc2aa561b4dd68422181c561ffc0dce3d9b546aeb
5
5
  SHA512:
6
- metadata.gz: aa90b8947359abecb1f93143a999a5816d291bba7d3087966baaaa695acc90f02a4c0d5b73ebbd7a34c93f831d815809995b6f977159ffeb74573169236adeb2
7
- data.tar.gz: c160181dd3b0241c69b86a86d11afb2f2a73a83f3c17c8ac913aabea1d9c5307981c267f7f8dd01839924591cdeefde9f522127938d71df3217ba0b6df26c7b2
6
+ metadata.gz: 84bd52644dc78033492013f56f220e0bdac93e0bea0b1dd60612396998572d23ddd532b65bd2ae998adf6a7525596f10c4fa665d060e8901c32ed4b885e5c145
7
+ data.tar.gz: 0d1277b2c7581f386e65bcaa1b8b2a3d4eb553f0ad0931f3dec5711b512d963ce641a104b470154b023e94565d5ac570e42d786b55e7fec73d1f55ab2687ebf9
data/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.775
1
+ 1.1.777
data/docs/api_key.md CHANGED
@@ -36,7 +36,7 @@
36
36
  * `aws_secret_key` (string): AWS Secret Key to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
37
37
  * `last_use_at` (date-time): API Key last used - note this value is only updated once per 3 hour period, so the 'actual' time of last use may be up to 3 hours later than this timestamp.
38
38
  * `name` (string): Internal name for the API Key. For your use.
39
- * `permission_set` (string): Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user, and every other endpoint denies them with `not-authorized/api-key-only-for-file-operations`.
39
+ * `permission_set` (string): Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, excluding the GPG Encrypt and GPG Decrypt file actions, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user. Both GPG file actions and every other endpoint deny them with `not-authorized/api-key-only-for-file-operations`. Folder-configured GPG encryption and decryption still apply to files uploaded with a `files_only` key.
40
40
  * `platform` (string): If this API key represents a Desktop app, what platform was it created on?
41
41
  * `site_id` (int64): Site ID
42
42
  * `site_name` (string): Site Name
@@ -116,7 +116,7 @@ Files::ApiKey.create(
116
116
  * `name` (string): Required - Internal name for the API Key. For your use.
117
117
  * `aws_style_credentials` (boolean): If `true`, this API key will be usable with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
118
118
  * `path` (string): Restricts the file and folder operations made with this key, meaning the files, folders, and file_actions endpoints, to the specified folder and its descendants, including copy and move destinations. For `GET /file_migrations/{id}`, a key with a path can read only migrations it started. Other endpoints do not apply the path restriction; use the `files_only` permission set to confine a key to file operations and their supporting lookups. Does not grant access beyond the owning user's permissions. Optional except for `office_integration` keys, which require a path the owning user can read.
119
- * `permission_set` (string): Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user, and every other endpoint denies them with `not-authorized/api-key-only-for-file-operations`.
119
+ * `permission_set` (string): Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, excluding the GPG Encrypt and GPG Decrypt file actions, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user. Both GPG file actions and every other endpoint deny them with `not-authorized/api-key-only-for-file-operations`. Folder-configured GPG encryption and decryption still apply to files uploaded with a `files_only` key.
120
120
  * `workspace_id` (int64): Workspace ID for this API Key. `0` means the default workspace.
121
121
 
122
122
 
@@ -136,7 +136,7 @@ Files::ApiKey.update_current(
136
136
 
137
137
  * `expires_at` (string): API Key expiration date
138
138
  * `name` (string): Internal name for the API Key. For your use.
139
- * `permission_set` (string): Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user, and every other endpoint denies them with `not-authorized/api-key-only-for-file-operations`.
139
+ * `permission_set` (string): Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, excluding the GPG Encrypt and GPG Decrypt file actions, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user. Both GPG file actions and every other endpoint deny them with `not-authorized/api-key-only-for-file-operations`. Folder-configured GPG encryption and decryption still apply to files uploaded with a `files_only` key.
140
140
 
141
141
 
142
142
  ---
data/docs/bundle.md CHANGED
@@ -23,6 +23,7 @@
23
23
  "form_field_set": {
24
24
  "id": 1,
25
25
  "title": "Sample Form Title",
26
+ "require_complete_metadata_capture": false,
26
27
  "form_layout": [
27
28
  1,
28
29
  2,
@@ -8,6 +8,7 @@
8
8
  "event_record_id": 1,
9
9
  "event_subscription_id": 1,
10
10
  "event_target_id": 1,
11
+ "activity_notification_batch_id": 1,
11
12
  "workspace_id": 1,
12
13
  "status": "example",
13
14
  "attempt_number": 1,
@@ -26,6 +27,7 @@
26
27
  * `event_record_id` (int64): Event Record ID
27
28
  * `event_subscription_id` (int64): Event Subscription ID
28
29
  * `event_target_id` (int64): Event Target ID
30
+ * `activity_notification_batch_id` (int64): Shared summary ID when this event is delivered in a Slack or Teams subfolder summary. All events in a summary share its delivery outcome.
29
31
  * `workspace_id` (int64): Workspace ID. 0 means the default workspace or site-wide.
30
32
  * `status` (string): Delivery status.
31
33
  * `attempt_number` (int64): Number of delivery attempts made.
data/docs/event_target.md CHANGED
@@ -24,7 +24,7 @@
24
24
  * `apply_to_all_workspaces` (boolean): If true, this default-workspace target can receive events from all workspaces.
25
25
  * `enabled` (boolean): Whether this Event Target can receive events.
26
26
  * `config` (object): Event Target configuration. Folder targets accept path and format (json or csv).
27
- * `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400.
27
+ * `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
28
28
  * `created_at` (date-time): Event Target create date/time.
29
29
  * `updated_at` (date-time): Event Target update date/time.
30
30
 
@@ -81,7 +81,7 @@ Files::EventTarget.create(
81
81
  * `apply_to_all_workspaces` (boolean): If true, this default-workspace target can receive events from all workspaces.
82
82
  * `enabled` (boolean): Whether this Event Target can receive events.
83
83
  * `config` (object): Required - Event Target configuration. Folder targets accept path and format (json or csv).
84
- * `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400.
84
+ * `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
85
85
  * `target_type` (string): Required - Event Target type.
86
86
 
87
87
 
@@ -108,7 +108,7 @@ Files::EventTarget.update(id,
108
108
  * `apply_to_all_workspaces` (boolean): If true, this default-workspace target can receive events from all workspaces.
109
109
  * `enabled` (boolean): Whether this Event Target can receive events.
110
110
  * `config` (object): Event Target configuration. Folder targets accept path and format (json or csv).
111
- * `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400.
111
+ * `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
112
112
 
113
113
 
114
114
  ---
@@ -149,7 +149,7 @@ event_target.update(
149
149
  * `apply_to_all_workspaces` (boolean): If true, this default-workspace target can receive events from all workspaces.
150
150
  * `enabled` (boolean): Whether this Event Target can receive events.
151
151
  * `config` (object): Event Target configuration. Folder targets accept path and format (json or csv).
152
- * `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400.
152
+ * `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
153
153
 
154
154
 
155
155
  ---
@@ -6,6 +6,7 @@
6
6
  {
7
7
  "id": 1,
8
8
  "title": "Sample Form Title",
9
+ "require_complete_metadata_capture": false,
9
10
  "form_layout": [
10
11
  1,
11
12
  2,
@@ -37,6 +38,7 @@
37
38
 
38
39
  * `id` (int64): Form field set id
39
40
  * `title` (string): Title to be displayed
41
+ * `require_complete_metadata_capture` (boolean): Reject answers over 1024 characters or more than 32 answered custom fields to ensure complete file metadata capture
40
42
  * `form_layout` (array(int64)): Layout of the form
41
43
  * `form_fields` (array(object)): Associated form field definitions; authenticated form field set responses include historical definitions, while form_layout identifies current fields
42
44
  * `skip_name` (boolean): Any associated InboxRegistrations or BundleRegistrations can be saved without providing name
@@ -85,6 +87,7 @@ Files::FormFieldSet.find(id)
85
87
  Files::FormFieldSet.create(
86
88
  user_id: 1,
87
89
  title: "Sample Form Title",
90
+ require_complete_metadata_capture: false,
88
91
  workspace_id: 1,
89
92
  skip_email: false,
90
93
  skip_name: false,
@@ -97,6 +100,7 @@ Files::FormFieldSet.create(
97
100
 
98
101
  * `user_id` (int64): User ID. Provide a value of `0` to operate the current session's user.
99
102
  * `title` (string): Title to be displayed
103
+ * `require_complete_metadata_capture` (boolean): Reject answers over 1024 characters or more than 32 answered custom fields to ensure complete file metadata capture
100
104
  * `workspace_id` (int64): Workspace ID
101
105
  * `skip_email` (boolean): Skip validating form email
102
106
  * `skip_name` (boolean): Skip validating form name
@@ -111,6 +115,7 @@ Files::FormFieldSet.create(
111
115
  ```
112
116
  Files::FormFieldSet.update(id,
113
117
  title: "Sample Form Title",
118
+ require_complete_metadata_capture: false,
114
119
  workspace_id: 1,
115
120
  skip_email: false,
116
121
  skip_name: false,
@@ -123,6 +128,7 @@ Files::FormFieldSet.update(id,
123
128
 
124
129
  * `id` (int64): Required - Form Field Set ID.
125
130
  * `title` (string): Title to be displayed
131
+ * `require_complete_metadata_capture` (boolean): Reject answers over 1024 characters or more than 32 answered custom fields to ensure complete file metadata capture
126
132
  * `workspace_id` (int64): Workspace ID
127
133
  * `skip_email` (boolean): Skip validating form email
128
134
  * `skip_name` (boolean): Skip validating form name
@@ -152,6 +158,7 @@ form_field_set = Files::FormFieldSet.find(id)
152
158
 
153
159
  form_field_set.update(
154
160
  title: "Sample Form Title",
161
+ require_complete_metadata_capture: false,
155
162
  workspace_id: 1,
156
163
  skip_email: false,
157
164
  skip_name: false,
@@ -164,6 +171,7 @@ form_field_set.update(
164
171
 
165
172
  * `id` (int64): Required - Form Field Set ID.
166
173
  * `title` (string): Title to be displayed
174
+ * `require_complete_metadata_capture` (boolean): Reject answers over 1024 characters or more than 32 answered custom fields to ensure complete file metadata capture
167
175
  * `workspace_id` (int64): Workspace ID
168
176
  * `skip_email` (boolean): Skip validating form email
169
177
  * `skip_name` (boolean): Skip validating form name
data/docs/restore.md CHANGED
@@ -40,9 +40,9 @@
40
40
  * `files_errored` (int64): Number of files that were not able to be restored.
41
41
  * `files_total` (int64): Total number of files processed.
42
42
  * `prefix` (string): Prefix of the files/folders to restore, or a case-insensitive username prefix for a user restore. A trailing slash selects that folder and its contents only; without it, the prefix matches any path beginning with that text. Do not use a leading slash. To restore all deleted items of the selected restoration type within the selected site or workspace scope, specify an empty string (`''`) or omit the field.
43
- * `restoration_type` (string): Type of restoration to perform. `files` restores deleted filesystem items. `users` restores deleted users and associated access/authentication records removed as part of deleting those users.
43
+ * `restoration_type` (string): Type of restoration to perform. `files` restores deleted filesystem items. `users` restores deleted users and associated authentication records, plus permissions when `restore_deleted_permissions=true`. A 5-minute grace period allows for batch deletion processes: associated records deleted within the 5 minutes before the user are included, even if removed independently. Records deleted earlier, or before `earliest_date`, remain deleted.
44
44
  * `restore_in_place` (boolean): If true, we will restore the files in place (into their original paths). If false, we will create a new restoration folder in the root and restore files there.
45
- * `restore_deleted_permissions` (boolean): If true, a user restore restores permissions removed as part of deleting the selected users. An in-place file restore restores user and group permissions on returned folders and their subfolders that were deleted from the time of the folder's deletion through 24 hours afterward, including permissions removed independently within that window. File restores into a new folder do not restore permissions.
45
+ * `restore_deleted_permissions` (boolean): If true, a user restore restores permissions deleted along with the selected users, including permissions removed independently within the 5 minutes before user deletion. Permissions deleted earlier, or before `earliest_date`, remain deleted. An in-place file restore restores user and group permissions on returned folders and their subfolders that were deleted from the time of the folder's deletion through 24 hours afterward, including permissions removed independently within that window. File restores into a new folder do not restore permissions.
46
46
  * `users_restored` (int64): Number of users successfully restored (only present for `restoration_type=users`).
47
47
  * `users_errored` (int64): Number of users that failed to restore (only present for `restoration_type=users`).
48
48
  * `users_total` (int64): Total number of users processed (only present for `restoration_type=users`).
@@ -91,8 +91,8 @@ Files::Restore.create(
91
91
 
92
92
  * `earliest_date` (string): Required - Restore files or users deleted on or after this date/time. Don't set this earlier than you need. Can not be greater than 365 days prior to the restore request.
93
93
  * `prefix` (string): Prefix of the files/folders to restore, or a case-insensitive username prefix for a user restore. A trailing slash selects that folder and its contents only; without it, the prefix matches any path beginning with that text. Do not use a leading slash. To restore all deleted items of the selected restoration type within the selected site or workspace scope, specify an empty string (`''`) or omit the field.
94
- * `restoration_type` (string): Type of restoration to perform. `files` restores deleted filesystem items. `users` restores deleted users and associated access/authentication records removed as part of deleting those users.
95
- * `restore_deleted_permissions` (boolean): If true, a user restore restores permissions removed as part of deleting the selected users. An in-place file restore restores user and group permissions on returned folders and their subfolders that were deleted from the time of the folder's deletion through 24 hours afterward, including permissions removed independently within that window. File restores into a new folder do not restore permissions.
94
+ * `restoration_type` (string): Type of restoration to perform. `files` restores deleted filesystem items. `users` restores deleted users and associated authentication records, plus permissions when `restore_deleted_permissions=true`. A 5-minute grace period allows for batch deletion processes: associated records deleted within the 5 minutes before the user are included, even if removed independently. Records deleted earlier, or before `earliest_date`, remain deleted.
95
+ * `restore_deleted_permissions` (boolean): If true, a user restore restores permissions deleted along with the selected users, including permissions removed independently within the 5 minutes before user deletion. Permissions deleted earlier, or before `earliest_date`, remain deleted. An in-place file restore restores user and group permissions on returned folders and their subfolders that were deleted from the time of the folder's deletion through 24 hours afterward, including permissions removed independently within that window. File restores into a new folder do not restore permissions.
96
96
  * `restore_in_place` (boolean): If true, we will restore the files in place (into their original paths). If false, we will create a new restoration folder in the root and restore files there.
97
97
  * `update_timestamps` (boolean): If true, we will update the last modified timestamp of restored files to today's date. If false, we might trigger File Expiration to delete the file again.
98
98
  * `workspace_id` (int64): Workspace ID for a workspace-scoped restore. `0` means the default site-wide scope.
data/docs/site.md CHANGED
@@ -97,6 +97,7 @@
97
97
  "disable_all_ai_features": true,
98
98
  "disable_files_certificate_generation": true,
99
99
  "disable_notifications": true,
100
+ "file_activity_events_enabled": true,
100
101
  "disable_password_reset": true,
101
102
  "domain": "my-custom-domain.com",
102
103
  "domain_hsts_header": true,
@@ -447,6 +448,7 @@
447
448
  * `disable_all_ai_features` (boolean): If true, all AI features are disabled for this site.
448
449
  * `disable_files_certificate_generation` (boolean): If set, Files.com will not set the CAA records required to generate future SSL certificates for this domain.
449
450
  * `disable_notifications` (boolean): Are notifications disabled?
451
+ * `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.
450
452
  * `disable_password_reset` (boolean): Is password reset disabled?
451
453
  * `domain` (string): Custom domain
452
454
  * `domain_hsts_header` (boolean): Send HSTS (HTTP Strict Transport Security) header when visitors access the site via a custom domain?
@@ -649,6 +651,7 @@ Files::Site.update(
649
651
  legacy_checksums_mode: false,
650
652
  migrate_remote_server_sync_to_sync: false,
651
653
  as2_message_retention_days: 1,
654
+ file_activity_events_enabled: false,
652
655
  username_display: "username_only",
653
656
  session_expiry_minutes: 1,
654
657
  ssl_required: false,
@@ -837,6 +840,7 @@ Files::Site.update(
837
840
  * `legacy_checksums_mode` (boolean): Use legacy checksums mode?
838
841
  * `migrate_remote_server_sync_to_sync` (boolean): If true, we will migrate all remote server syncs to the new Sync model.
839
842
  * `as2_message_retention_days` (int64): Number of days to retain AS2 messages (incoming and outgoing).
843
+ * `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.
840
844
  * `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`.
841
845
  * `session_expiry_minutes` (int64): Session expiry in minutes
842
846
  * `ssl_required` (boolean): Is SSL required? Disabling this is insecure.
@@ -104,7 +104,7 @@ module Files
104
104
  @attributes[:name] = value
105
105
  end
106
106
 
107
- # string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user, and every other endpoint denies them with `not-authorized/api-key-only-for-file-operations`.
107
+ # string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, excluding the GPG Encrypt and GPG Decrypt file actions, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user. Both GPG file actions and every other endpoint deny them with `not-authorized/api-key-only-for-file-operations`. Folder-configured GPG encryption and decryption still apply to files uploaded with a `files_only` key.
108
108
  def permission_set
109
109
  @attributes[:permission_set]
110
110
  end
@@ -295,7 +295,7 @@ module Files
295
295
  # name (required) - string - Internal name for the API Key. For your use.
296
296
  # aws_style_credentials - boolean - If `true`, this API key will be usable with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
297
297
  # path - string - Restricts the file and folder operations made with this key, meaning the files, folders, and file_actions endpoints, to the specified folder and its descendants, including copy and move destinations. For `GET /file_migrations/{id}`, a key with a path can read only migrations it started. Other endpoints do not apply the path restriction; use the `files_only` permission set to confine a key to file operations and their supporting lookups. Does not grant access beyond the owning user's permissions. Optional except for `office_integration` keys, which require a path the owning user can read.
298
- # permission_set - string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user, and every other endpoint denies them with `not-authorized/api-key-only-for-file-operations`.
298
+ # permission_set - string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, excluding the GPG Encrypt and GPG Decrypt file actions, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user. Both GPG file actions and every other endpoint deny them with `not-authorized/api-key-only-for-file-operations`. Folder-configured GPG encryption and decryption still apply to files uploaded with a `files_only` key.
299
299
  # workspace_id - int64 - Workspace ID for this API Key. `0` means the default workspace.
300
300
  #
301
301
  # params:: Hash of API operation parameter values.
@@ -319,7 +319,7 @@ module Files
319
319
  # Parameters:
320
320
  # expires_at - string - API Key expiration date
321
321
  # name - string - Internal name for the API Key. For your use.
322
- # permission_set - string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user, and every other endpoint denies them with `not-authorized/api-key-only-for-file-operations`.
322
+ # permission_set - string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can use only the files, folders, and file_actions endpoints, excluding the GPG Encrypt and GPG Decrypt file actions, where they perform file operations as a full-access file user in the key's workspace scope, along with `GET /file_migrations/{id}` and `GET /api_key`. On the migration lookup, any key with a `path` can read only migrations it started. Without a `path`, user-owned keys retain user-scoped access; site-wide Workspace-bound keys can read only migrations whose source and destination are both in their Workspace. Every `files_only` key is Workspace-bound, including Workspace `0`, as is a full-access key in a named Workspace. A full-access site-wide key in the default Workspace retains Site-wide migration access. Migrations outside the caller's visibility return `not-found`. Keys with `files_only` cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user. Both GPG file actions and every other endpoint deny them with `not-authorized/api-key-only-for-file-operations`. Folder-configured GPG encryption and decryption still apply to files uploaded with a `files_only` key.
323
323
  #
324
324
  # params:: Hash of API operation parameter values.
325
325
  # options:: Hash of optional request configuration passed to Files::Api.send_request.
@@ -29,6 +29,11 @@ module Files
29
29
  @attributes[:event_target_id]
30
30
  end
31
31
 
32
+ # int64 - Shared summary ID when this event is delivered in a Slack or Teams subfolder summary. All events in a summary share its delivery outcome.
33
+ def activity_notification_batch_id
34
+ @attributes[:activity_notification_batch_id]
35
+ end
36
+
32
37
  # int64 - Workspace ID. 0 means the default workspace or site-wide.
33
38
  def workspace_id
34
39
  @attributes[:workspace_id]
@@ -72,7 +72,7 @@ module Files
72
72
  @attributes[:config] = value
73
73
  end
74
74
 
75
- # object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400.
75
+ # object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
76
76
  def delivery_policy
77
77
  @attributes[:delivery_policy]
78
78
  end
@@ -97,7 +97,7 @@ module Files
97
97
  # apply_to_all_workspaces - boolean - If true, this default-workspace target can receive events from all workspaces.
98
98
  # enabled - boolean - Whether this Event Target can receive events.
99
99
  # config - object - Event Target configuration. Folder targets accept path and format (json or csv).
100
- # delivery_policy - object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400.
100
+ # delivery_policy - object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
101
101
  def update(params = {})
102
102
  params ||= {}
103
103
  params[:id] = @attributes[:id]
@@ -192,7 +192,7 @@ module Files
192
192
  # apply_to_all_workspaces - boolean - If true, this default-workspace target can receive events from all workspaces.
193
193
  # enabled - boolean - Whether this Event Target can receive events.
194
194
  # config (required) - object - Event Target configuration. Folder targets accept path and format (json or csv).
195
- # delivery_policy - object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400.
195
+ # delivery_policy - object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
196
196
  # target_type (required) - string - Event Target type.
197
197
  #
198
198
  # params:: Hash of API operation parameter values.
@@ -219,7 +219,7 @@ module Files
219
219
  # apply_to_all_workspaces - boolean - If true, this default-workspace target can receive events from all workspaces.
220
220
  # enabled - boolean - Whether this Event Target can receive events.
221
221
  # config - object - Event Target configuration. Folder targets accept path and format (json or csv).
222
- # delivery_policy - object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400.
222
+ # delivery_policy - object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
223
223
  #
224
224
  # params:: Hash of API operation parameter values.
225
225
  # options:: Hash of optional request configuration passed to Files::Api.send_request.
@@ -27,6 +27,15 @@ module Files
27
27
  @attributes[:title] = value
28
28
  end
29
29
 
30
+ # boolean - Reject answers over 1024 characters or more than 32 answered custom fields to ensure complete file metadata capture
31
+ def require_complete_metadata_capture
32
+ @attributes[:require_complete_metadata_capture]
33
+ end
34
+
35
+ def require_complete_metadata_capture=(value)
36
+ @attributes[:require_complete_metadata_capture] = value
37
+ end
38
+
30
39
  # array(int64) - Layout of the form
31
40
  def form_layout
32
41
  @attributes[:form_layout]
@@ -101,6 +110,7 @@ module Files
101
110
 
102
111
  # Parameters:
103
112
  # title - string - Title to be displayed
113
+ # require_complete_metadata_capture - boolean - Reject answers over 1024 characters or more than 32 answered custom fields to ensure complete file metadata capture
104
114
  # workspace_id - int64 - Workspace ID
105
115
  # skip_email - boolean - Skip validating form email
106
116
  # skip_name - boolean - Skip validating form name
@@ -196,6 +206,7 @@ module Files
196
206
  # Parameters:
197
207
  # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
198
208
  # title - string - Title to be displayed
209
+ # require_complete_metadata_capture - boolean - Reject answers over 1024 characters or more than 32 answered custom fields to ensure complete file metadata capture
199
210
  # workspace_id - int64 - Workspace ID
200
211
  # skip_email - boolean - Skip validating form email
201
212
  # skip_name - boolean - Skip validating form name
@@ -218,6 +229,7 @@ module Files
218
229
 
219
230
  # Parameters:
220
231
  # title - string - Title to be displayed
232
+ # require_complete_metadata_capture - boolean - Reject answers over 1024 characters or more than 32 answered custom fields to ensure complete file metadata capture
221
233
  # workspace_id - int64 - Workspace ID
222
234
  # skip_email - boolean - Skip validating form email
223
235
  # skip_name - boolean - Skip validating form name
@@ -90,7 +90,7 @@ module Files
90
90
  @attributes[:prefix] = value
91
91
  end
92
92
 
93
- # string - Type of restoration to perform. `files` restores deleted filesystem items. `users` restores deleted users and associated access/authentication records removed as part of deleting those users.
93
+ # string - Type of restoration to perform. `files` restores deleted filesystem items. `users` restores deleted users and associated authentication records, plus permissions when `restore_deleted_permissions=true`. A 5-minute grace period allows for batch deletion processes: associated records deleted within the 5 minutes before the user are included, even if removed independently. Records deleted earlier, or before `earliest_date`, remain deleted.
94
94
  def restoration_type
95
95
  @attributes[:restoration_type]
96
96
  end
@@ -108,7 +108,7 @@ module Files
108
108
  @attributes[:restore_in_place] = value
109
109
  end
110
110
 
111
- # boolean - If true, a user restore restores permissions removed as part of deleting the selected users. An in-place file restore restores user and group permissions on returned folders and their subfolders that were deleted from the time of the folder's deletion through 24 hours afterward, including permissions removed independently within that window. File restores into a new folder do not restore permissions.
111
+ # boolean - If true, a user restore restores permissions deleted along with the selected users, including permissions removed independently within the 5 minutes before user deletion. Permissions deleted earlier, or before `earliest_date`, remain deleted. An in-place file restore restores user and group permissions on returned folders and their subfolders that were deleted from the time of the folder's deletion through 24 hours afterward, including permissions removed independently within that window. File restores into a new folder do not restore permissions.
112
112
  def restore_deleted_permissions
113
113
  @attributes[:restore_deleted_permissions]
114
114
  end
@@ -246,8 +246,8 @@ module Files
246
246
  # Parameters:
247
247
  # earliest_date (required) - string - Restore files or users deleted on or after this date/time. Don't set this earlier than you need. Can not be greater than 365 days prior to the restore request.
248
248
  # prefix - string - Prefix of the files/folders to restore, or a case-insensitive username prefix for a user restore. A trailing slash selects that folder and its contents only; without it, the prefix matches any path beginning with that text. Do not use a leading slash. To restore all deleted items of the selected restoration type within the selected site or workspace scope, specify an empty string (`''`) or omit the field.
249
- # restoration_type - string - Type of restoration to perform. `files` restores deleted filesystem items. `users` restores deleted users and associated access/authentication records removed as part of deleting those users.
250
- # restore_deleted_permissions - boolean - If true, a user restore restores permissions removed as part of deleting the selected users. An in-place file restore restores user and group permissions on returned folders and their subfolders that were deleted from the time of the folder's deletion through 24 hours afterward, including permissions removed independently within that window. File restores into a new folder do not restore permissions.
249
+ # restoration_type - string - Type of restoration to perform. `files` restores deleted filesystem items. `users` restores deleted users and associated authentication records, plus permissions when `restore_deleted_permissions=true`. A 5-minute grace period allows for batch deletion processes: associated records deleted within the 5 minutes before the user are included, even if removed independently. Records deleted earlier, or before `earliest_date`, remain deleted.
250
+ # restore_deleted_permissions - boolean - If true, a user restore restores permissions deleted along with the selected users, including permissions removed independently within the 5 minutes before user deletion. Permissions deleted earlier, or before `earliest_date`, remain deleted. An in-place file restore restores user and group permissions on returned folders and their subfolders that were deleted from the time of the folder's deletion through 24 hours afterward, including permissions removed independently within that window. File restores into a new folder do not restore permissions.
251
251
  # restore_in_place - boolean - If true, we will restore the files in place (into their original paths). If false, we will create a new restoration folder in the root and restore files there.
252
252
  # update_timestamps - boolean - If true, we will update the last modified timestamp of restored files to today's date. If false, we might trigger File Expiration to delete the file again.
253
253
  # workspace_id - int64 - Workspace ID for a workspace-scoped restore. `0` means the default site-wide scope.
@@ -361,6 +361,11 @@ module Files
361
361
  @attributes[:disable_notifications]
362
362
  end
363
363
 
364
+ # 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.
365
+ def file_activity_events_enabled
366
+ @attributes[:file_activity_events_enabled]
367
+ end
368
+
364
369
  # boolean - Is password reset disabled?
365
370
  def disable_password_reset
366
371
  @attributes[:disable_password_reset]
@@ -1076,6 +1081,7 @@ module Files
1076
1081
  # legacy_checksums_mode - boolean - Use legacy checksums mode?
1077
1082
  # migrate_remote_server_sync_to_sync - boolean - If true, we will migrate all remote server syncs to the new Sync model.
1078
1083
  # as2_message_retention_days - int64 - Number of days to retain AS2 messages (incoming and outgoing).
1084
+ # 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.
1079
1085
  # 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`.
1080
1086
  # session_expiry_minutes - int64 - Session expiry in minutes
1081
1087
  # ssl_required - boolean - Is SSL required? Disabling this is insecure.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Files
4
- VERSION = "1.1.775"
4
+ VERSION = "1.1.777"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: files.com
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.775
4
+ version: 1.1.777
5
5
  platform: ruby
6
6
  authors:
7
7
  - files.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-11 00:00:00.000000000 Z
11
+ date: 2026-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable