files.com 1.0.90

Sign up to get free protection for your applications and to get access to all the features.
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 +57 -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 +101 -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.