files.com 1.0.92

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.
Files changed (136) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTORS +4 -0
  3. data/Gemfile +12 -0
  4. data/Gemfile.lock +82 -0
  5. data/LICENSE +21 -0
  6. data/README.md +119 -0
  7. data/Rakefile +12 -0
  8. data/SECURITY.md +24 -0
  9. data/_VERSION +1 -0
  10. data/bin/files +8 -0
  11. data/bin/files-console +16 -0
  12. data/docs/account_line_item.md +41 -0
  13. data/docs/action.md +37 -0
  14. data/docs/api_key.md +202 -0
  15. data/docs/app.md +59 -0
  16. data/docs/as2_key.md +133 -0
  17. data/docs/auto.md +11 -0
  18. data/docs/automation.md +190 -0
  19. data/docs/behavior.md +208 -0
  20. data/docs/bundle.md +252 -0
  21. data/docs/bundle_download.md +35 -0
  22. data/docs/clickwrap.md +143 -0
  23. data/docs/dns_record.md +35 -0
  24. data/docs/errors.md +17 -0
  25. data/docs/file.md +204 -0
  26. data/docs/file_action.md +126 -0
  27. data/docs/file_comment.md +116 -0
  28. data/docs/file_comment_reaction.md +62 -0
  29. data/docs/file_part_upload.md +37 -0
  30. data/docs/file_utils.md +4 -0
  31. data/docs/folder.md +90 -0
  32. data/docs/group.md +153 -0
  33. data/docs/group_user.md +124 -0
  34. data/docs/history.md +171 -0
  35. data/docs/history_export.md +174 -0
  36. data/docs/image.md +13 -0
  37. data/docs/invoice.md +72 -0
  38. data/docs/invoice_line_item.md +27 -0
  39. data/docs/ip_address.md +55 -0
  40. data/docs/lock.md +98 -0
  41. data/docs/message.md +147 -0
  42. data/docs/message_comment.md +132 -0
  43. data/docs/message_comment_reaction.md +94 -0
  44. data/docs/message_reaction.md +94 -0
  45. data/docs/notification.md +177 -0
  46. data/docs/payment.md +72 -0
  47. data/docs/payment_line_item.md +19 -0
  48. data/docs/permission.md +95 -0
  49. data/docs/preview.md +19 -0
  50. data/docs/project.md +121 -0
  51. data/docs/public_ip_address.md +13 -0
  52. data/docs/public_key.md +133 -0
  53. data/docs/remote_server.md +356 -0
  54. data/docs/request.md +100 -0
  55. data/docs/session.md +78 -0
  56. data/docs/site.md +448 -0
  57. data/docs/sso_strategy.md +114 -0
  58. data/docs/status.md +21 -0
  59. data/docs/style.md +93 -0
  60. data/docs/usage_daily_snapshot.md +45 -0
  61. data/docs/usage_snapshot.md +53 -0
  62. data/docs/user.md +535 -0
  63. data/docs/user_cipher_use.md +41 -0
  64. data/docs/user_request.md +93 -0
  65. data/files.com.gemspec +22 -0
  66. data/lib/files.com.rb +184 -0
  67. data/lib/files.com/api.rb +38 -0
  68. data/lib/files.com/api_client.rb +340 -0
  69. data/lib/files.com/errors.rb +41 -0
  70. data/lib/files.com/list.rb +95 -0
  71. data/lib/files.com/models/account_line_item.rb +82 -0
  72. data/lib/files.com/models/action.rb +77 -0
  73. data/lib/files.com/models/api_key.rb +270 -0
  74. data/lib/files.com/models/app.rb +106 -0
  75. data/lib/files.com/models/as2_key.rb +179 -0
  76. data/lib/files.com/models/auto.rb +17 -0
  77. data/lib/files.com/models/automation.rb +304 -0
  78. data/lib/files.com/models/behavior.rb +266 -0
  79. data/lib/files.com/models/bundle.rb +371 -0
  80. data/lib/files.com/models/bundle_download.rb +49 -0
  81. data/lib/files.com/models/clickwrap.rb +197 -0
  82. data/lib/files.com/models/dir.rb +3 -0
  83. data/lib/files.com/models/dns_record.rb +51 -0
  84. data/lib/files.com/models/errors.rb +22 -0
  85. data/lib/files.com/models/file.rb +968 -0
  86. data/lib/files.com/models/file_action.rb +126 -0
  87. data/lib/files.com/models/file_comment.rb +146 -0
  88. data/lib/files.com/models/file_comment_reaction.rb +100 -0
  89. data/lib/files.com/models/file_part_upload.rb +82 -0
  90. data/lib/files.com/models/file_utils.rb +118 -0
  91. data/lib/files.com/models/folder.rb +357 -0
  92. data/lib/files.com/models/group.rb +208 -0
  93. data/lib/files.com/models/group_user.rb +171 -0
  94. data/lib/files.com/models/history.rb +228 -0
  95. data/lib/files.com/models/history_export.rb +353 -0
  96. data/lib/files.com/models/image.rb +22 -0
  97. data/lib/files.com/models/invoice.rb +117 -0
  98. data/lib/files.com/models/invoice_line_item.rb +57 -0
  99. data/lib/files.com/models/ip_address.rb +66 -0
  100. data/lib/files.com/models/lock.rb +173 -0
  101. data/lib/files.com/models/message.rb +201 -0
  102. data/lib/files.com/models/message_comment.rb +165 -0
  103. data/lib/files.com/models/message_comment_reaction.rb +128 -0
  104. data/lib/files.com/models/message_reaction.rb +128 -0
  105. data/lib/files.com/models/notification.rb +263 -0
  106. data/lib/files.com/models/payment.rb +117 -0
  107. data/lib/files.com/models/payment_line_item.rb +37 -0
  108. data/lib/files.com/models/permission.rb +172 -0
  109. data/lib/files.com/models/preview.rb +37 -0
  110. data/lib/files.com/models/project.rb +140 -0
  111. data/lib/files.com/models/public_ip_address.rb +22 -0
  112. data/lib/files.com/models/public_key.rb +179 -0
  113. data/lib/files.com/models/remote_server.rb +680 -0
  114. data/lib/files.com/models/request.rb +179 -0
  115. data/lib/files.com/models/session.rb +247 -0
  116. data/lib/files.com/models/site.rb +733 -0
  117. data/lib/files.com/models/sso_strategy.rb +227 -0
  118. data/lib/files.com/models/status.rb +37 -0
  119. data/lib/files.com/models/style.rb +131 -0
  120. data/lib/files.com/models/usage_daily_snapshot.rb +66 -0
  121. data/lib/files.com/models/usage_snapshot.rb +96 -0
  122. data/lib/files.com/models/user.rb +876 -0
  123. data/lib/files.com/models/user_cipher_use.rb +63 -0
  124. data/lib/files.com/models/user_request.rb +127 -0
  125. data/lib/files.com/response.rb +25 -0
  126. data/lib/files.com/sizable_io.rb +32 -0
  127. data/lib/files.com/system_profiler.rb +56 -0
  128. data/lib/files.com/util.rb +106 -0
  129. data/lib/files.com/version.rb +5 -0
  130. data/spec/list_spec.rb +214 -0
  131. data/spec/models/file_spec.rb +68 -0
  132. data/spec/models/folder_spec.rb +40 -0
  133. data/spec/spec_helper.rb +36 -0
  134. data/test.sh +8 -0
  135. data/test/test.rb +75 -0
  136. metadata +235 -0
@@ -0,0 +1,114 @@
1
+ # SsoStrategy
2
+
3
+ ## Example SsoStrategy Object
4
+
5
+ ```
6
+ {
7
+ "protocol": [
8
+
9
+ ],
10
+ "provider": "okta",
11
+ "label": "My Corporate SSO Provider",
12
+ "logo_url": "https://mysite.files.com/.../logo.png",
13
+ "id": 1,
14
+ "saml_provider_cert_fingerprint": "",
15
+ "saml_provider_issuer_url": "",
16
+ "saml_provider_metadata_url": "",
17
+ "saml_provider_slo_target_url": "",
18
+ "saml_provider_sso_target_url": "",
19
+ "scim_authentication_method": "",
20
+ "scim_username": "",
21
+ "subdomain": "my-site",
22
+ "provision_users": true,
23
+ "provision_groups": true,
24
+ "deprovision_users": true,
25
+ "deprovision_groups": true,
26
+ "provision_group_default": "Employees",
27
+ "provision_group_exclusion": "Employees",
28
+ "provision_group_inclusion": "Employees",
29
+ "provision_group_required": "",
30
+ "provision_attachments_permission": true,
31
+ "provision_dav_permission": true,
32
+ "provision_ftp_permission": true,
33
+ "provision_sftp_permission": true,
34
+ "provision_time_zone": "Eastern Time (US & Canada)",
35
+ "ldap_base_dn": "",
36
+ "ldap_domain": "mysite.com",
37
+ "enabled": true,
38
+ "ldap_host": "ldap.site.com",
39
+ "ldap_host_2": "ldap2.site.com",
40
+ "ldap_host_3": "ldap3.site.com",
41
+ "ldap_port": 1,
42
+ "ldap_secure": true,
43
+ "ldap_username": "[ldap username]",
44
+ "ldap_username_field": "sAMAccountName"
45
+ }
46
+ ```
47
+
48
+ * `protocol` (array): SSO Protocol
49
+ * `provider` (string): Provider name
50
+ * `label` (string): Custom label for the SSO provider on the login page.
51
+ * `logo_url` (string): URL holding a custom logo for the SSO provider on the login page.
52
+ * `id` (int64): ID
53
+ * `saml_provider_cert_fingerprint` (string): Identity provider sha256 cert fingerprint if saml_provider_metadata_url is not available.
54
+ * `saml_provider_issuer_url` (string): Identity provider issuer url
55
+ * `saml_provider_metadata_url` (string): Metadata URL for the SAML identity provider
56
+ * `saml_provider_slo_target_url` (string): Identity provider SLO endpoint
57
+ * `saml_provider_sso_target_url` (string): Identity provider SSO endpoint if saml_provider_metadata_url is not available.
58
+ * `scim_authentication_method` (string): SCIM authentication type.
59
+ * `scim_username` (string): SCIM username.
60
+ * `subdomain` (string): Subdomain
61
+ * `provision_users` (boolean): Auto-provision users?
62
+ * `provision_groups` (boolean): Auto-provision group membership based on group memberships on the SSO side?
63
+ * `deprovision_users` (boolean): Auto-deprovision users?
64
+ * `deprovision_groups` (boolean): Auto-deprovision group membership based on group memberships on the SSO side?
65
+ * `provision_group_default` (string): Comma-separated list of group names for groups to automatically add all auto-provisioned users to.
66
+ * `provision_group_exclusion` (string): Comma-separated list of group names for groups (with optional wildcards) that will be excluded from auto-provisioning.
67
+ * `provision_group_inclusion` (string): Comma-separated list of group names for groups (with optional wildcards) that will be auto-provisioned.
68
+ * `provision_group_required` (string): Comma or newline separated list of group names (with optional wildcards) to require membership for user provisioning.
69
+ * `provision_attachments_permission` (boolean): Auto-provisioned users get Sharing permission?
70
+ * `provision_dav_permission` (boolean): Auto-provisioned users get WebDAV permission?
71
+ * `provision_ftp_permission` (boolean): Auto-provisioned users get FTP permission?
72
+ * `provision_sftp_permission` (boolean): Auto-provisioned users get SFTP permission?
73
+ * `provision_time_zone` (string): Default time zone for auto provisioned users.
74
+ * `ldap_base_dn` (string): Base DN for looking up users in LDAP server
75
+ * `ldap_domain` (string): Domain name that will be appended to LDAP usernames
76
+ * `enabled` (boolean): Is strategy enabled?
77
+ * `ldap_host` (string): LDAP host
78
+ * `ldap_host_2` (string): LDAP backup host
79
+ * `ldap_host_3` (string): LDAP backup host
80
+ * `ldap_port` (int64): LDAP port
81
+ * `ldap_secure` (boolean): Use secure LDAP?
82
+ * `ldap_username` (string): Username for signing in to LDAP server.
83
+ * `ldap_username_field` (string): LDAP username field
84
+
85
+
86
+ ---
87
+
88
+ ## List Sso Strategies
89
+
90
+ ```
91
+ Files::SsoStrategy.list(
92
+ page: 1,
93
+ per_page: 1
94
+ )
95
+ ```
96
+
97
+ ### Parameters
98
+
99
+ * `page` (int64): Current page number.
100
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
101
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
102
+
103
+
104
+ ---
105
+
106
+ ## Show Sso Strategy
107
+
108
+ ```
109
+ Files::SsoStrategy.find(id)
110
+ ```
111
+
112
+ ### Parameters
113
+
114
+ * `id` (int64): Required - Sso Strategy ID.
@@ -0,0 +1,21 @@
1
+ # Status
2
+
3
+ ## Example Status Object
4
+
5
+ ```
6
+ {
7
+ "code": 200,
8
+ "message": "",
9
+ "status": "",
10
+ "data": "",
11
+ "errors": [
12
+
13
+ ]
14
+ }
15
+ ```
16
+
17
+ * `code` (int64): Status http code
18
+ * `message` (string): Error message
19
+ * `status` (string): Status message
20
+ * `data`: Additional data
21
+ * `errors` (array): A list of api errors
@@ -0,0 +1,93 @@
1
+ # Style
2
+
3
+ ## Example Style Object
4
+
5
+ ```
6
+ {
7
+ "id": 1,
8
+ "path": "",
9
+ "logo": "",
10
+ "thumbnail": ""
11
+ }
12
+ ```
13
+
14
+ * `id` (int64): Style ID
15
+ * `path` (string): Folder path This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
16
+ * `logo`: Logo
17
+ * `thumbnail`: Logo thumbnail
18
+ * `file` (file): Logo for custom branding.
19
+
20
+
21
+ ---
22
+
23
+ ## Show Style
24
+
25
+ ```
26
+ Files::Style.find(path)
27
+ ```
28
+
29
+ ### Parameters
30
+
31
+ * `path` (string): Required - Style path.
32
+
33
+
34
+ ---
35
+
36
+ ## Update Style
37
+
38
+ ```
39
+ Files::Style.update(path,
40
+ file: "file"
41
+ )
42
+ ```
43
+
44
+ ### Parameters
45
+
46
+ * `path` (string): Required - Style path.
47
+ * `file` (file): Required - Logo for custom branding.
48
+
49
+
50
+ ---
51
+
52
+ ## Delete Style
53
+
54
+ ```
55
+ Files::Style.delete(path)
56
+ ```
57
+
58
+ ### Parameters
59
+
60
+ * `path` (string): Required - Style path.
61
+
62
+
63
+ ---
64
+
65
+ ## Update Style
66
+
67
+ ```
68
+ style = Files::Style.list_for(path).first
69
+
70
+ style.update(
71
+ file: "file"
72
+ )
73
+ ```
74
+
75
+ ### Parameters
76
+
77
+ * `path` (string): Required - Style path.
78
+ * `file` (file): Required - Logo for custom branding.
79
+
80
+
81
+ ---
82
+
83
+ ## Delete Style
84
+
85
+ ```
86
+ style = Files::Style.list_for(path).first
87
+
88
+ style.delete
89
+ ```
90
+
91
+ ### Parameters
92
+
93
+ * `path` (string): Required - Style path.
@@ -0,0 +1,45 @@
1
+ # UsageDailySnapshot
2
+
3
+ ## Example UsageDailySnapshot Object
4
+
5
+ ```
6
+ {
7
+ "id": 1,
8
+ "date": "2020-11-21",
9
+ "current_storage": "65536",
10
+ "usage_by_top_level_dir": [
11
+
12
+ ]
13
+ }
14
+ ```
15
+
16
+ * `id` (int64): ID of the usage record
17
+ * `date` (date): The date of this usage record
18
+ * `current_storage` (int64): The quantity of storage held for this site
19
+ * `usage_by_top_level_dir` (array): Usage broken down by each top-level folder
20
+
21
+
22
+ ---
23
+
24
+ ## List Usage Daily Snapshots
25
+
26
+ ```
27
+ Files::UsageDailySnapshot.list(
28
+ page: 1,
29
+ per_page: 1
30
+ )
31
+ ```
32
+
33
+ ### Parameters
34
+
35
+ * `page` (int64): Current page number.
36
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
37
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
38
+ * `cursor` (string): Send cursor to resume an existing list from the point at which you left off. Get a cursor from an existing list via the X-Files-Cursor-Next header.
39
+ * `sort_by` (object): If set, sort records by the specified field in either 'asc' or 'desc' direction (e.g. sort_by[last_login_at]=desc). Valid fields are `site_id`, `date` or `usage_snapshot_id`.
40
+ * `filter` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `date` and `usage_snapshot_id`.
41
+ * `filter_gt` (object): If set, return records where the specifiied field is greater than the supplied value. Valid fields are `date` and `usage_snapshot_id`.
42
+ * `filter_gteq` (object): If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `date` and `usage_snapshot_id`.
43
+ * `filter_like` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `date` and `usage_snapshot_id`.
44
+ * `filter_lt` (object): If set, return records where the specifiied field is less than the supplied value. Valid fields are `date` and `usage_snapshot_id`.
45
+ * `filter_lteq` (object): If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `date` and `usage_snapshot_id`.
@@ -0,0 +1,53 @@
1
+ # UsageSnapshot
2
+
3
+ ## Example UsageSnapshot Object
4
+
5
+ ```
6
+ {
7
+ "id": 1,
8
+ "start_at": "2000-01-01T01:00:00Z",
9
+ "end_at": "2000-01-01T01:00:00Z",
10
+ "created_at": "2000-01-01T01:00:00Z",
11
+ "current_storage": "",
12
+ "high_water_storage": "",
13
+ "total_downloads": 1,
14
+ "total_uploads": 1,
15
+ "updated_at": "2000-01-01T01:00:00Z",
16
+ "usage_by_top_level_dir": "",
17
+ "root_storage": "",
18
+ "deleted_files_counted_in_minimum": "",
19
+ "deleted_files_storage": ""
20
+ }
21
+ ```
22
+
23
+ * `id` (int64): Site usage ID
24
+ * `start_at` (date-time): Site usage report start date/time
25
+ * `end_at` (date-time): Site usage report end date/time
26
+ * `created_at` (date-time): Site usage report created at date/time
27
+ * `current_storage` (double): Current site usage as of report
28
+ * `high_water_storage` (double): Site usage report highest usage in time period
29
+ * `total_downloads` (int64): Number of downloads in report time period
30
+ * `total_uploads` (int64): Number of uploads in time period
31
+ * `updated_at` (date-time): The last time this site usage report was updated
32
+ * `usage_by_top_level_dir` (object): A map of root folders to their total usage
33
+ * `root_storage` (double): Usage for root folder
34
+ * `deleted_files_counted_in_minimum` (double): Usage for files that are deleted but uploaded within last 30 days
35
+ * `deleted_files_storage` (double): Usage for files that are deleted but retained as backups
36
+
37
+
38
+ ---
39
+
40
+ ## List Usage Snapshots
41
+
42
+ ```
43
+ Files::UsageSnapshot.list(
44
+ page: 1,
45
+ per_page: 1
46
+ )
47
+ ```
48
+
49
+ ### Parameters
50
+
51
+ * `page` (int64): Current page number.
52
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
53
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
@@ -0,0 +1,535 @@
1
+ # User
2
+
3
+ ## Example User Object
4
+
5
+ ```
6
+ {
7
+ "id": 1,
8
+ "username": "user",
9
+ "admin_group_ids": [
10
+
11
+ ],
12
+ "allowed_ips": "127.0.0.1",
13
+ "attachments_permission": true,
14
+ "api_keys_count": 1,
15
+ "authenticate_until": "2000-01-01T01:00:00Z",
16
+ "authentication_method": "password",
17
+ "avatar_url": "",
18
+ "billing_permission": true,
19
+ "bypass_site_allowed_ips": true,
20
+ "bypass_inactive_disable": true,
21
+ "created_at": "2000-01-01T01:00:00Z",
22
+ "dav_permission": true,
23
+ "disabled": true,
24
+ "email": "john.doe@files.com",
25
+ "ftp_permission": true,
26
+ "group_ids": "",
27
+ "header_text": "User-specific message.",
28
+ "language": "en",
29
+ "last_login_at": "2000-01-01T01:00:00Z",
30
+ "last_protocol_cipher": "",
31
+ "lockout_expires": "2000-01-01T01:00:00Z",
32
+ "name": "John Doe",
33
+ "notes": "Internal notes on this user.",
34
+ "notification_daily_send_time": 18,
35
+ "office_integration_enabled": true,
36
+ "password_set_at": "2000-01-01T01:00:00Z",
37
+ "password_validity_days": 1,
38
+ "public_keys_count": 1,
39
+ "receive_admin_alerts": true,
40
+ "require_2fa": true,
41
+ "require_password_change": true,
42
+ "restapi_permission": true,
43
+ "self_managed": true,
44
+ "sftp_permission": true,
45
+ "site_admin": true,
46
+ "skip_welcome_screen": true,
47
+ "ssl_required": "always_require",
48
+ "sso_strategy_id": 1,
49
+ "subscribe_to_newsletter": true,
50
+ "externally_managed": true,
51
+ "time_zone": "Pacific Time (US & Canada)",
52
+ "type_of_2fa": "",
53
+ "user_root": ""
54
+ }
55
+ ```
56
+
57
+ * `id` (int64): User ID
58
+ * `username` (string): User's username
59
+ * `admin_group_ids` (array): List of group IDs of which this user is an administrator
60
+ * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
61
+ * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
62
+ * `api_keys_count` (int64): Number of api keys associated with this user
63
+ * `authenticate_until` (date-time): Scheduled Date/Time at which user will be deactivated
64
+ * `authentication_method` (string): How is this user authenticated?
65
+ * `avatar_url` (string): URL holding the user's avatar
66
+ * `billing_permission` (boolean): Allow this user to perform operations on the account, payments, and invoices?
67
+ * `bypass_site_allowed_ips` (boolean): Allow this user to skip site-wide IP blacklists?
68
+ * `bypass_inactive_disable` (boolean): Exempt this user from being disabled based on inactivity?
69
+ * `created_at` (date-time): When this user was created
70
+ * `dav_permission` (boolean): Can the user connect with WebDAV?
71
+ * `disabled` (boolean): Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
72
+ * `email` (email): User email address
73
+ * `ftp_permission` (boolean): Can the user access with FTP/FTPS?
74
+ * `group_ids` (string): Comma-separated list of group IDs of which this user is a member
75
+ * `header_text` (string): Text to display to the user in the header of the UI
76
+ * `language` (string): Preferred language
77
+ * `last_login_at` (date-time): User's last login time
78
+ * `last_protocol_cipher` (string): The last protocol and cipher used
79
+ * `lockout_expires` (date-time): Time in the future that the user will no longer be locked out if applicable
80
+ * `name` (string): User's full name
81
+ * `notes` (string): Any internal notes on the user
82
+ * `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
83
+ * `office_integration_enabled` (boolean): Enable integration with Office for the web?
84
+ * `password_set_at` (date-time): Last time the user's password was set
85
+ * `password_validity_days` (int64): Number of days to allow user to use the same password
86
+ * `public_keys_count` (int64): Number of public keys associated with this user
87
+ * `receive_admin_alerts` (boolean): Should the user receive admin alerts such a certificate expiration notifications and overages?
88
+ * `require_2fa` (boolean): Is 2fa required to sign in?
89
+ * `require_password_change` (boolean): Is a password change required upon next user login?
90
+ * `restapi_permission` (boolean): Can this user access the REST API?
91
+ * `self_managed` (boolean): Does this user manage it's own credentials or is it a shared/bot user?
92
+ * `sftp_permission` (boolean): Can the user access with SFTP?
93
+ * `site_admin` (boolean): Is the user an administrator for this site?
94
+ * `skip_welcome_screen` (boolean): Skip Welcome page in the UI?
95
+ * `ssl_required` (string): SSL required setting
96
+ * `sso_strategy_id` (int64): SSO (Single Sign On) strategy ID for the user, if applicable.
97
+ * `subscribe_to_newsletter` (boolean): Is the user subscribed to the newsletter?
98
+ * `externally_managed` (boolean): Is this user managed by a SsoStrategy?
99
+ * `time_zone` (string): User time zone
100
+ * `type_of_2fa` (string): Type(s) of 2FA methods in use. Will be either `sms`, `totp`, `u2f`, `yubi`, or multiple values sorted alphabetically and joined by an underscore.
101
+ * `user_root` (string): Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set.) Note that this is not used for API, Desktop, or Web interface.
102
+ * `avatar_file` (file): An image file for your user avatar.
103
+ * `avatar_delete` (boolean): If true, the avatar will be deleted.
104
+ * `change_password` (string): Used for changing a password on an existing user.
105
+ * `change_password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `change_password`.
106
+ * `grant_permission` (string): Permission to grant on the user root. Can be blank or `full`, `read`, `write`, `list`, or `history`.
107
+ * `group_id` (int64): Group ID to associate this user with.
108
+ * `password` (string): User password.
109
+ * `password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `password`.
110
+ * `announcements_read` (boolean): Signifies that the user has read all the announcements in the UI.
111
+
112
+
113
+ ---
114
+
115
+ ## List Users
116
+
117
+ ```
118
+ Files::User.list(
119
+ page: 1,
120
+ per_page: 1
121
+ )
122
+ ```
123
+
124
+ ### Parameters
125
+
126
+ * `page` (int64): Current page number.
127
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
128
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
129
+ * `cursor` (string): Send cursor to resume an existing list from the point at which you left off. Get a cursor from an existing list via the X-Files-Cursor-Next header.
130
+ * `sort_by` (object): If set, sort records by the specified field in either 'asc' or 'desc' direction (e.g. sort_by[last_login_at]=desc). Valid fields are `active`, `master_admin`, `site_id`, `authenticate_until`, `email`, `last_desktop_login_at`, `last_login_at`, `username`, `notes`, `site_admin`, `receive_admin_alerts`, `allowed_ips`, `password_validity_days`, `ssl_required` or `not_site_admin`.
131
+ * `filter` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
132
+ * `filter_gt` (object): If set, return records where the specifiied field is greater than the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
133
+ * `filter_gteq` (object): If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
134
+ * `filter_like` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
135
+ * `filter_lt` (object): If set, return records where the specifiied field is less than the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
136
+ * `filter_lteq` (object): If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
137
+ * `ids` (string): comma-separated list of User IDs
138
+ * `q[username]` (string): List users matching username.
139
+ * `q[email]` (string): List users matching email.
140
+ * `q[notes]` (string): List users matching notes field.
141
+ * `q[admin]` (string): If `true`, list only admin users.
142
+ * `q[allowed_ips]` (string): If set, list only users with overridden allowed IP setting.
143
+ * `q[password_validity_days]` (string): If set, list only users with overridden password validity days setting.
144
+ * `q[ssl_required]` (string): If set, list only users with overridden SSL required setting.
145
+ * `search` (string): Searches for partial matches of name, username, or email.
146
+
147
+
148
+ ---
149
+
150
+ ## Show User
151
+
152
+ ```
153
+ Files::User.find(id)
154
+ ```
155
+
156
+ ### Parameters
157
+
158
+ * `id` (int64): Required - User ID.
159
+
160
+
161
+ ---
162
+
163
+ ## Create User
164
+
165
+ ```
166
+ Files::User.create(
167
+ avatar_delete: true,
168
+ email: "john.doe@files.com",
169
+ group_id: 1,
170
+ announcements_read: true,
171
+ allowed_ips: "127.0.0.1",
172
+ attachments_permission: true,
173
+ authenticate_until: "2000-01-01T01:00:00Z",
174
+ authentication_method: "password",
175
+ billing_permission: true,
176
+ bypass_inactive_disable: true,
177
+ bypass_site_allowed_ips: true,
178
+ dav_permission: true,
179
+ disabled: true,
180
+ ftp_permission: true,
181
+ header_text: "User-specific message.",
182
+ language: "en",
183
+ notification_daily_send_time: 18,
184
+ name: "John Doe",
185
+ notes: "Internal notes on this user.",
186
+ office_integration_enabled: true,
187
+ password_validity_days: 1,
188
+ receive_admin_alerts: true,
189
+ require_password_change: true,
190
+ restapi_permission: true,
191
+ self_managed: true,
192
+ sftp_permission: true,
193
+ site_admin: true,
194
+ skip_welcome_screen: true,
195
+ ssl_required: "always_require",
196
+ sso_strategy_id: 1,
197
+ subscribe_to_newsletter: true,
198
+ time_zone: "Pacific Time (US & Canada)",
199
+ username: "user"
200
+ )
201
+ ```
202
+
203
+ ### Parameters
204
+
205
+ * `avatar_file` (file): An image file for your user avatar.
206
+ * `avatar_delete` (boolean): If true, the avatar will be deleted.
207
+ * `change_password` (string): Used for changing a password on an existing user.
208
+ * `change_password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `change_password`.
209
+ * `email` (string): User's email.
210
+ * `grant_permission` (string): Permission to grant on the user root. Can be blank or `full`, `read`, `write`, `list`, or `history`.
211
+ * `group_id` (int64): Group ID to associate this user with.
212
+ * `group_ids` (string): A list of group ids to associate this user with. Comma delimited.
213
+ * `password` (string): User password.
214
+ * `password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `password`.
215
+ * `announcements_read` (boolean): Signifies that the user has read all the announcements in the UI.
216
+ * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
217
+ * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
218
+ * `authenticate_until` (string): Scheduled Date/Time at which user will be deactivated
219
+ * `authentication_method` (string): How is this user authenticated?
220
+ * `billing_permission` (boolean): Allow this user to perform operations on the account, payments, and invoices?
221
+ * `bypass_inactive_disable` (boolean): Exempt this user from being disabled based on inactivity?
222
+ * `bypass_site_allowed_ips` (boolean): Allow this user to skip site-wide IP blacklists?
223
+ * `dav_permission` (boolean): Can the user connect with WebDAV?
224
+ * `disabled` (boolean): Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
225
+ * `ftp_permission` (boolean): Can the user access with FTP/FTPS?
226
+ * `header_text` (string): Text to display to the user in the header of the UI
227
+ * `language` (string): Preferred language
228
+ * `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
229
+ * `name` (string): User's full name
230
+ * `notes` (string): Any internal notes on the user
231
+ * `office_integration_enabled` (boolean): Enable integration with Office for the web?
232
+ * `password_validity_days` (int64): Number of days to allow user to use the same password
233
+ * `receive_admin_alerts` (boolean): Should the user receive admin alerts such a certificate expiration notifications and overages?
234
+ * `require_password_change` (boolean): Is a password change required upon next user login?
235
+ * `restapi_permission` (boolean): Can this user access the REST API?
236
+ * `self_managed` (boolean): Does this user manage it's own credentials or is it a shared/bot user?
237
+ * `sftp_permission` (boolean): Can the user access with SFTP?
238
+ * `site_admin` (boolean): Is the user an administrator for this site?
239
+ * `skip_welcome_screen` (boolean): Skip Welcome page in the UI?
240
+ * `ssl_required` (string): SSL required setting
241
+ * `sso_strategy_id` (int64): SSO (Single Sign On) strategy ID for the user, if applicable.
242
+ * `subscribe_to_newsletter` (boolean): Is the user subscribed to the newsletter?
243
+ * `time_zone` (string): User time zone
244
+ * `user_root` (string): Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set.) Note that this is not used for API, Desktop, or Web interface.
245
+ * `username` (string): User's username
246
+
247
+
248
+ ---
249
+
250
+ ## Unlock user who has been locked out due to failed logins
251
+
252
+ ```
253
+ Files::User.unlock(id)
254
+ ```
255
+
256
+ ### Parameters
257
+
258
+ * `id` (int64): Required - User ID.
259
+
260
+
261
+ ---
262
+
263
+ ## Resend user welcome email
264
+
265
+ ```
266
+ Files::User.resend_welcome_email(id)
267
+ ```
268
+
269
+ ### Parameters
270
+
271
+ * `id` (int64): Required - User ID.
272
+
273
+
274
+ ---
275
+
276
+ ## Trigger 2FA Reset process for user who has lost access to their existing 2FA methods
277
+
278
+ ```
279
+ Files::User.user_2fa_reset(id)
280
+ ```
281
+
282
+ ### Parameters
283
+
284
+ * `id` (int64): Required - User ID.
285
+
286
+
287
+ ---
288
+
289
+ ## Update User
290
+
291
+ ```
292
+ Files::User.update(id,
293
+ avatar_delete: true,
294
+ email: "john.doe@files.com",
295
+ group_id: 1,
296
+ announcements_read: true,
297
+ allowed_ips: "127.0.0.1",
298
+ attachments_permission: true,
299
+ authenticate_until: "2000-01-01T01:00:00Z",
300
+ authentication_method: "password",
301
+ billing_permission: true,
302
+ bypass_inactive_disable: true,
303
+ bypass_site_allowed_ips: true,
304
+ dav_permission: true,
305
+ disabled: true,
306
+ ftp_permission: true,
307
+ header_text: "User-specific message.",
308
+ language: "en",
309
+ notification_daily_send_time: 18,
310
+ name: "John Doe",
311
+ notes: "Internal notes on this user.",
312
+ office_integration_enabled: true,
313
+ password_validity_days: 1,
314
+ receive_admin_alerts: true,
315
+ require_password_change: true,
316
+ restapi_permission: true,
317
+ self_managed: true,
318
+ sftp_permission: true,
319
+ site_admin: true,
320
+ skip_welcome_screen: true,
321
+ ssl_required: "always_require",
322
+ sso_strategy_id: 1,
323
+ subscribe_to_newsletter: true,
324
+ time_zone: "Pacific Time (US & Canada)",
325
+ username: "user"
326
+ )
327
+ ```
328
+
329
+ ### Parameters
330
+
331
+ * `id` (int64): Required - User ID.
332
+ * `avatar_file` (file): An image file for your user avatar.
333
+ * `avatar_delete` (boolean): If true, the avatar will be deleted.
334
+ * `change_password` (string): Used for changing a password on an existing user.
335
+ * `change_password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `change_password`.
336
+ * `email` (string): User's email.
337
+ * `grant_permission` (string): Permission to grant on the user root. Can be blank or `full`, `read`, `write`, `list`, or `history`.
338
+ * `group_id` (int64): Group ID to associate this user with.
339
+ * `group_ids` (string): A list of group ids to associate this user with. Comma delimited.
340
+ * `password` (string): User password.
341
+ * `password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `password`.
342
+ * `announcements_read` (boolean): Signifies that the user has read all the announcements in the UI.
343
+ * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
344
+ * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
345
+ * `authenticate_until` (string): Scheduled Date/Time at which user will be deactivated
346
+ * `authentication_method` (string): How is this user authenticated?
347
+ * `billing_permission` (boolean): Allow this user to perform operations on the account, payments, and invoices?
348
+ * `bypass_inactive_disable` (boolean): Exempt this user from being disabled based on inactivity?
349
+ * `bypass_site_allowed_ips` (boolean): Allow this user to skip site-wide IP blacklists?
350
+ * `dav_permission` (boolean): Can the user connect with WebDAV?
351
+ * `disabled` (boolean): Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
352
+ * `ftp_permission` (boolean): Can the user access with FTP/FTPS?
353
+ * `header_text` (string): Text to display to the user in the header of the UI
354
+ * `language` (string): Preferred language
355
+ * `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
356
+ * `name` (string): User's full name
357
+ * `notes` (string): Any internal notes on the user
358
+ * `office_integration_enabled` (boolean): Enable integration with Office for the web?
359
+ * `password_validity_days` (int64): Number of days to allow user to use the same password
360
+ * `receive_admin_alerts` (boolean): Should the user receive admin alerts such a certificate expiration notifications and overages?
361
+ * `require_password_change` (boolean): Is a password change required upon next user login?
362
+ * `restapi_permission` (boolean): Can this user access the REST API?
363
+ * `self_managed` (boolean): Does this user manage it's own credentials or is it a shared/bot user?
364
+ * `sftp_permission` (boolean): Can the user access with SFTP?
365
+ * `site_admin` (boolean): Is the user an administrator for this site?
366
+ * `skip_welcome_screen` (boolean): Skip Welcome page in the UI?
367
+ * `ssl_required` (string): SSL required setting
368
+ * `sso_strategy_id` (int64): SSO (Single Sign On) strategy ID for the user, if applicable.
369
+ * `subscribe_to_newsletter` (boolean): Is the user subscribed to the newsletter?
370
+ * `time_zone` (string): User time zone
371
+ * `user_root` (string): Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set.) Note that this is not used for API, Desktop, or Web interface.
372
+ * `username` (string): User's username
373
+
374
+
375
+ ---
376
+
377
+ ## Delete User
378
+
379
+ ```
380
+ Files::User.delete(id)
381
+ ```
382
+
383
+ ### Parameters
384
+
385
+ * `id` (int64): Required - User ID.
386
+
387
+
388
+ ---
389
+
390
+ ## Unlock user who has been locked out due to failed logins
391
+
392
+ ```
393
+ user = Files::User.list_for(path).first
394
+
395
+ user.unlock
396
+ ```
397
+
398
+ ### Parameters
399
+
400
+ * `id` (int64): Required - User ID.
401
+
402
+
403
+ ---
404
+
405
+ ## Resend user welcome email
406
+
407
+ ```
408
+ user = Files::User.list_for(path).first
409
+
410
+ user.resend_welcome_email
411
+ ```
412
+
413
+ ### Parameters
414
+
415
+ * `id` (int64): Required - User ID.
416
+
417
+
418
+ ---
419
+
420
+ ## Trigger 2FA Reset process for user who has lost access to their existing 2FA methods
421
+
422
+ ```
423
+ user = Files::User.list_for(path).first
424
+
425
+ user.user_2fa_reset
426
+ ```
427
+
428
+ ### Parameters
429
+
430
+ * `id` (int64): Required - User ID.
431
+
432
+
433
+ ---
434
+
435
+ ## Update User
436
+
437
+ ```
438
+ user = Files::User.list_for(path).first
439
+
440
+ user.update(
441
+ avatar_delete: true,
442
+ email: "john.doe@files.com",
443
+ group_id: 1,
444
+ announcements_read: true,
445
+ allowed_ips: "127.0.0.1",
446
+ attachments_permission: true,
447
+ authenticate_until: "2000-01-01T01:00:00Z",
448
+ authentication_method: "password",
449
+ billing_permission: true,
450
+ bypass_inactive_disable: true,
451
+ bypass_site_allowed_ips: true,
452
+ dav_permission: true,
453
+ disabled: true,
454
+ ftp_permission: true,
455
+ header_text: "User-specific message.",
456
+ language: "en",
457
+ notification_daily_send_time: 18,
458
+ name: "John Doe",
459
+ notes: "Internal notes on this user.",
460
+ office_integration_enabled: true,
461
+ password_validity_days: 1,
462
+ receive_admin_alerts: true,
463
+ require_password_change: true,
464
+ restapi_permission: true,
465
+ self_managed: true,
466
+ sftp_permission: true,
467
+ site_admin: true,
468
+ skip_welcome_screen: true,
469
+ ssl_required: "always_require",
470
+ sso_strategy_id: 1,
471
+ subscribe_to_newsletter: true,
472
+ time_zone: "Pacific Time (US & Canada)",
473
+ username: "user"
474
+ )
475
+ ```
476
+
477
+ ### Parameters
478
+
479
+ * `id` (int64): Required - User ID.
480
+ * `avatar_file` (file): An image file for your user avatar.
481
+ * `avatar_delete` (boolean): If true, the avatar will be deleted.
482
+ * `change_password` (string): Used for changing a password on an existing user.
483
+ * `change_password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `change_password`.
484
+ * `email` (string): User's email.
485
+ * `grant_permission` (string): Permission to grant on the user root. Can be blank or `full`, `read`, `write`, `list`, or `history`.
486
+ * `group_id` (int64): Group ID to associate this user with.
487
+ * `group_ids` (string): A list of group ids to associate this user with. Comma delimited.
488
+ * `password` (string): User password.
489
+ * `password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `password`.
490
+ * `announcements_read` (boolean): Signifies that the user has read all the announcements in the UI.
491
+ * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
492
+ * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
493
+ * `authenticate_until` (string): Scheduled Date/Time at which user will be deactivated
494
+ * `authentication_method` (string): How is this user authenticated?
495
+ * `billing_permission` (boolean): Allow this user to perform operations on the account, payments, and invoices?
496
+ * `bypass_inactive_disable` (boolean): Exempt this user from being disabled based on inactivity?
497
+ * `bypass_site_allowed_ips` (boolean): Allow this user to skip site-wide IP blacklists?
498
+ * `dav_permission` (boolean): Can the user connect with WebDAV?
499
+ * `disabled` (boolean): Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
500
+ * `ftp_permission` (boolean): Can the user access with FTP/FTPS?
501
+ * `header_text` (string): Text to display to the user in the header of the UI
502
+ * `language` (string): Preferred language
503
+ * `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
504
+ * `name` (string): User's full name
505
+ * `notes` (string): Any internal notes on the user
506
+ * `office_integration_enabled` (boolean): Enable integration with Office for the web?
507
+ * `password_validity_days` (int64): Number of days to allow user to use the same password
508
+ * `receive_admin_alerts` (boolean): Should the user receive admin alerts such a certificate expiration notifications and overages?
509
+ * `require_password_change` (boolean): Is a password change required upon next user login?
510
+ * `restapi_permission` (boolean): Can this user access the REST API?
511
+ * `self_managed` (boolean): Does this user manage it's own credentials or is it a shared/bot user?
512
+ * `sftp_permission` (boolean): Can the user access with SFTP?
513
+ * `site_admin` (boolean): Is the user an administrator for this site?
514
+ * `skip_welcome_screen` (boolean): Skip Welcome page in the UI?
515
+ * `ssl_required` (string): SSL required setting
516
+ * `sso_strategy_id` (int64): SSO (Single Sign On) strategy ID for the user, if applicable.
517
+ * `subscribe_to_newsletter` (boolean): Is the user subscribed to the newsletter?
518
+ * `time_zone` (string): User time zone
519
+ * `user_root` (string): Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set.) Note that this is not used for API, Desktop, or Web interface.
520
+ * `username` (string): User's username
521
+
522
+
523
+ ---
524
+
525
+ ## Delete User
526
+
527
+ ```
528
+ user = Files::User.list_for(path).first
529
+
530
+ user.delete
531
+ ```
532
+
533
+ ### Parameters
534
+
535
+ * `id` (int64): Required - User ID.