{"openapi":"3.0.0","servers":[{"url":"//app.files.com/api/rest/v1"}],"info":{"contact":{"email":"support@files.com","name":"Files.com Customer Success Team"},"title":"Files.com API","version":"0.0.1","x-apisguru-categories":["developer_tools"],"x-origin":[{"format":"openapi","url":"https://app.files.com/api/rest/v1/swagger_doc.json","version":"3.0"}],"x-providerName":"files.com"},"tags":[{"description":"Operations about action_notification_exports","name":"action_notification_exports"},{"description":"Operations about action_notification_export_results","name":"action_notification_export_results"},{"description":"Operations about action_webhook_failures","name":"action_webhook_failures"},{"description":"Operations about api_keys","name":"api_key"},{"description":"Operations about api_keys","name":"api_keys"},{"description":"Operations about sites","name":"site"},{"description":"Operations about users","name":"user"},{"description":"Operations about users","name":"users"},{"description":"Operations about apps","name":"apps"},{"description":"Operations about as2_incoming_messages","name":"as2_incoming_messages"},{"description":"Operations about as2_outgoing_messages","name":"as2_outgoing_messages"},{"description":"Operations about as2_partners","name":"as2_partners"},{"description":"Operations about as2_stations","name":"as2_stations"},{"description":"Operations about automations","name":"automations"},{"description":"Operations about automation_runs","name":"automation_runs"},{"description":"Operations about bandwidth_snapshots","name":"bandwidth_snapshots"},{"description":"Operations about behaviors","name":"behaviors"},{"description":"Operations about bundles","name":"bundles"},{"description":"Operations about bundle_downloads","name":"bundle_downloads"},{"description":"Operations about bundle_notifications","name":"bundle_notifications"},{"description":"Operations about bundle_recipients","name":"bundle_recipients"},{"description":"Operations about bundle_registrations","name":"bundle_registrations"},{"description":"Operations about clickwraps","name":"clickwraps"},{"description":"Operations about dns_records","name":"dns_records"},{"description":"Operations about external_events","name":"external_events"},{"description":"Operations about files","name":"files"},{"description":"Operations about file_actions","name":"file_actions"},{"description":"Operations about file_comments","name":"file_comments"},{"description":"Operations about file_comment_reactions","name":"file_comment_reactions"},{"description":"Operations about file_migrations","name":"file_migrations"},{"description":"Operations about folders","name":"folders"},{"description":"Operations about form_field_sets","name":"form_field_sets"},{"description":"Operations about groups","name":"groups"},{"description":"Operations about group_users","name":"group_users"},{"description":"Operations about histories","name":"history"},{"description":"Operations about history_exports","name":"history_exports"},{"description":"Operations about history_export_results","name":"history_export_results"},{"description":"Operations about inbox_recipients","name":"inbox_recipients"},{"description":"Operations about inbox_registrations","name":"inbox_registrations"},{"description":"Operations about inbox_uploads","name":"inbox_uploads"},{"description":"Operations about invoices","name":"invoices"},{"description":"Operations about ip_addresses","name":"ip_addresses"},{"description":"Operations about locks","name":"locks"},{"description":"Operations about messages","name":"messages"},{"description":"Operations about message_comments","name":"message_comments"},{"description":"Operations about message_comment_reactions","name":"message_comment_reactions"},{"description":"Operations about message_reactions","name":"message_reactions"},{"description":"Operations about notifications","name":"notifications"},{"description":"Operations about payments","name":"payments"},{"description":"Operations about permissions","name":"permissions"},{"description":"Operations about priorities","name":"priorities"},{"description":"Operations about projects","name":"projects"},{"description":"Operations about public_keys","name":"public_keys"},{"description":"Operations about remote_bandwidth_snapshots","name":"remote_bandwidth_snapshots"},{"description":"Operations about remote_servers","name":"remote_servers"},{"description":"Operations about requests","name":"requests"},{"description":"Operations about sessions","name":"sessions"},{"description":"Operations about settings_changes","name":"settings_changes"},{"description":"Operations about sftp_host_keys","name":"sftp_host_keys"},{"description":"Operations about sso_strategies","name":"sso_strategies"},{"description":"Operations about styles","name":"styles"},{"description":"Operations about usage_snapshots","name":"usage_snapshots"},{"description":"Operations about usage_daily_snapshots","name":"usage_daily_snapshots"},{"description":"Operations about user_cipher_uses","name":"user_cipher_uses"},{"description":"Operations about user_requests","name":"user_requests"},{"description":"Operations about webhook_tests","name":"webhook_tests"}],"paths":{"/action_notification_export_results":{"get":{"description":"List Action Notification Export Results","operationId":"GetActionNotificationExportResults","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"ID of the associated action notification export.","in":"query","name":"action_notification_export_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"ID of the associated action notification export."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ActionNotificationExportResultEntity"},"type":"array"}}},"description":"A list of ActionNotificationExportResults objects.","x-ms-summary":"A list of ActionNotificationExportResults objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Action Notification Export Results","tags":["action_notification_export_results"],"x-authentication":["folder_admin"]}},"/action_notification_exports":{"post":{"description":"Create Action Notification Export","operationId":"PostActionNotificationExports","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"end_at":{"description":"End date/time of export range.","example":"2025-06-15T13:48:58.050Z","format":"date-time","type":"string","x-ms-summary":"End date/time of export range."},"query_folder":{"description":"Return notifications that were triggered by actions in this folder.","example":"MyFolder","type":"string","x-ms-summary":"Return notifications that were triggered by actions in this folder."},"query_message":{"description":"Error message associated with the request, if any.","example":"Connection Refused","type":"string","x-ms-summary":"Error message associated with the request, if any."},"query_path":{"description":"Return notifications that were triggered by actions on this specific path.","example":"MyFile.txt","type":"string","x-ms-summary":"Return notifications that were triggered by actions on this specific path."},"query_request_method":{"description":"The HTTP request method used by the webhook.","example":"GET","type":"string","x-ms-summary":"The HTTP request method used by the webhook."},"query_request_url":{"description":"The target webhook URL.","example":"http://example.com/webhook","type":"string","x-ms-summary":"The target webhook URL."},"query_status":{"description":"The HTTP status returned from the server in response to the webhook request.","example":"200","type":"string","x-ms-summary":"The HTTP status returned from the server in response to the webhook request."},"query_success":{"description":"true if the webhook request succeeded (i.e. returned a 200 or 204 response status). false otherwise.","example":true,"type":"boolean","x-ms-summary":"true if the webhook request succeeded (i.e. returned a 200 or 204 response status). false otherwise."},"start_at":{"description":"Start date/time of export range.","example":"2025-06-15T13:48:58.051Z","format":"date-time","type":"string","x-ms-summary":"Start date/time of export range."},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionNotificationExportEntity"}}},"description":"The ActionNotificationExports object.","x-ms-summary":"The ActionNotificationExports object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Action Notification Export","tags":["action_notification_exports"],"x-authentication":["folder_admin",{"path_params":["query_path","query_folder"]}]}},"/action_notification_exports/{id}":{"get":{"description":"Show Action Notification Export","operationId":"GetActionNotificationExportsId","parameters":[{"description":"Action Notification Export ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Action Notification Export ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionNotificationExportEntity"}}},"description":"The ActionNotificationExports object.","x-ms-summary":"The ActionNotificationExports object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Action Notification Export","tags":["action_notification_exports"],"x-authentication":["folder_admin"]}},"/action_webhook_failures/{id}/retry":{"post":{"description":"retry Action Webhook Failure","operationId":"PostActionWebhookFailuresIdRetry","parameters":[{"description":"Action Webhook Failure ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Action Webhook Failure ID."}],"responses":{"201":{"description":"The ActionWebhookFailures object.","x-ms-summary":"The ActionWebhookFailures object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"retry Action Webhook Failure","tags":["action_webhook_failures"],"x-authentication":["site"]}},"/api_key":{"delete":{"description":"Delete current API key.  (Requires current API connection to be using an API key.)","operationId":"ApiKeyDeleteCurrent","responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete current API key.  (Requires current API connection to be using an API key.)","tags":["api_key"],"x-authentication":["native_app","office_integration"]},"get":{"description":"Show information about current API key.  (Requires current API connection to be using an API key.)","operationId":"ApiKeyFindCurrent","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyEntity"}}},"description":"The ApiKey object.","x-ms-summary":"The ApiKey object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show information about current API key.  (Requires current API connection to be using an API key.)","tags":["api_key"],"x-authentication":["native_app","office_integration"]},"patch":{"description":"Update current API key.  (Requires current API connection to be using an API key.)","operationId":"ApiKeyUpdateCurrent","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"expires_at":{"description":"API Key expiration date","example":"2025-06-15T13:48:58.051Z","format":"date-time","type":"string","x-ms-summary":"API Key expiration date"},"name":{"description":"Internal name for the API Key.  For your use.","example":"My Main API Key","type":"string","x-ms-summary":"Internal name for the API Key.  For your use."},"permission_set":{"description":"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).  Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges.  If you have ideas for permission sets, please let us know.","enum":["none","full","desktop_app","sync_app","office_integration","mobile_app"],"example":"full","type":"string","x-ms-summary":"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).  Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges.  If you have ideas for permission sets, please let us know."}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyEntity"}}},"description":"The ApiKey object.","x-ms-summary":"The ApiKey object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update current API key.  (Requires current API connection to be using an API key.)","tags":["api_key"],"x-authentication":["native_app","office_integration"]}},"/api_keys":{"get":{"description":"List Api Keys","operationId":"GetApiKeys","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[expires_at]=desc`). Valid fields are `expires_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[expires_at]=desc`). Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `expires_at`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiKeyEntity"},"type":"array"}}},"description":"A list of ApiKeys objects.","x-ms-summary":"A list of ApiKeys objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Api Keys","tags":["api_keys"],"x-authentication":["self_managed"],"x-path_aliases":["site/api_keys","user/api_keys","users/:user_id/api_keys"]},"post":{"description":"Create Api Key","operationId":"PostApiKeys","requestBody":{"$ref":"#/components/requestBodies/PostApiKeys"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyEntity"}}},"description":"The ApiKeys object.","x-ms-summary":"The ApiKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Api Key","tags":["api_keys"],"x-authentication":[],"x-path_aliases":["site/api_keys","user/api_keys","users/:user_id/api_keys"]}},"/api_keys/{id}":{"delete":{"description":"Delete Api Key","operationId":"DeleteApiKeysId","parameters":[{"description":"Api Key ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Api Key ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Api Key","tags":["api_keys"],"x-authentication":["self_managed"]},"get":{"description":"Show Api Key","operationId":"GetApiKeysId","parameters":[{"description":"Api Key ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Api Key ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyEntity"}}},"description":"The ApiKeys object.","x-ms-summary":"The ApiKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Api Key","tags":["api_keys"],"x-authentication":["self_managed"]},"patch":{"description":"Update Api Key","operationId":"PatchApiKeysId","parameters":[{"description":"Api Key ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Api Key ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"description":{"description":"User-supplied description of API key.","example":"example","type":"string","x-ms-summary":"User-supplied description of API key."},"expires_at":{"description":"API Key expiration date","example":"2025-06-15T13:48:58.051Z","format":"date-time","type":"string","x-ms-summary":"API Key expiration date"},"name":{"description":"Internal name for the API Key.  For your use.","example":"My Main API Key","type":"string","x-ms-summary":"Internal name for the API Key.  For your use."},"permission_set":{"description":"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).  Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges.  If you have ideas for permission sets, please let us know.","enum":["none","full","desktop_app","sync_app","office_integration","mobile_app"],"example":"full","type":"string","x-ms-summary":"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).  Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges.  If you have ideas for permission sets, please let us know."}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyEntity"}}},"description":"The ApiKeys object.","x-ms-summary":"The ApiKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Api Key","tags":["api_keys"],"x-authentication":["self_managed"]}},"/apps":{"get":{"description":"List Apps","operationId":"GetApps","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[name]=desc`). Valid fields are `name` and `app_type`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[name]=desc`). Valid fields are `name` and `app_type`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `name` and `app_type`. Valid field combinations are `[ name, app_type ]` and `[ app_type, name ]`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `name` and `app_type`. Valid field combinations are `[ name, app_type ]` and `[ app_type, name ]`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `name`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `name`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AppEntity"},"type":"array"}}},"description":"A list of Apps objects.","x-ms-summary":"A list of Apps objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Apps","tags":["apps"],"x-authentication":["none"]}},"/as2_incoming_messages":{"get":{"description":"List As2 Incoming Messages","operationId":"GetAs2IncomingMessages","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at` and `as2_partner_id`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at` and `as2_partner_id`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`."},{"description":"As2 Partner ID.  If provided, will return message specific to that partner.","in":"query","name":"as2_partner_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"As2 Partner ID.  If provided, will return message specific to that partner."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/As2IncomingMessageEntity"},"type":"array"}}},"description":"A list of As2IncomingMessages objects.","x-ms-summary":"A list of As2IncomingMessages objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List As2 Incoming Messages","tags":["as2_incoming_messages"],"x-authentication":["site"]}},"/as2_outgoing_messages":{"get":{"description":"List As2 Outgoing Messages","operationId":"GetAs2OutgoingMessages","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at` and `as2_partner_id`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at` and `as2_partner_id`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`."},{"description":"As2 Partner ID.  If provided, will return message specific to that partner.","in":"query","name":"as2_partner_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"As2 Partner ID.  If provided, will return message specific to that partner."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/As2OutgoingMessageEntity"},"type":"array"}}},"description":"A list of As2OutgoingMessages objects.","x-ms-summary":"A list of As2OutgoingMessages objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List As2 Outgoing Messages","tags":["as2_outgoing_messages"],"x-authentication":["site"]}},"/as2_partners":{"get":{"description":"List As2 Partners","operationId":"GetAs2Partners","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/As2PartnerEntity"},"type":"array"}}},"description":"A list of As2Partners objects.","x-ms-summary":"A list of As2Partners objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List As2 Partners","tags":["as2_partners"],"x-authentication":["site"]},"post":{"description":"Create As2 Partner","operationId":"PostAs2Partners","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"as2_station_id":{"description":"Id of As2Station for this partner","format":"int32","type":"integer","x-ms-summary":"Id of As2Station for this partner"},"enable_dedicated_ips":{"type":"boolean","x-ms-summary":null},"name":{"description":"AS2 Name","type":"string","x-ms-summary":"AS2 Name"},"public_certificate":{"type":"string","x-ms-summary":null},"server_certificate":{"description":"Remote server certificate security setting","type":"string","x-ms-summary":"Remote server certificate security setting"},"uri":{"description":"URL base for AS2 responses","type":"string","x-ms-summary":"URL base for AS2 responses"}},"required":["name","uri","public_certificate","as2_station_id"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/As2PartnerEntity"}}},"description":"The As2Partners object.","x-ms-summary":"The As2Partners object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create As2 Partner","tags":["as2_partners"],"x-authentication":["site"]}},"/as2_partners/{id}":{"delete":{"description":"Delete As2 Partner","operationId":"DeleteAs2PartnersId","parameters":[{"description":"As2 Partner ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"As2 Partner ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete As2 Partner","tags":["as2_partners"],"x-authentication":["site"]},"get":{"description":"Show As2 Partner","operationId":"GetAs2PartnersId","parameters":[{"description":"As2 Partner ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"As2 Partner ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/As2PartnerEntity"}}},"description":"The As2Partners object.","x-ms-summary":"The As2Partners object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show As2 Partner","tags":["as2_partners"],"x-authentication":["site"]},"patch":{"description":"Update As2 Partner","operationId":"PatchAs2PartnersId","parameters":[{"description":"As2 Partner ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"As2 Partner ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"enable_dedicated_ips":{"type":"boolean","x-ms-summary":null},"name":{"description":"AS2 Name","type":"string","x-ms-summary":"AS2 Name"},"public_certificate":{"type":"string","x-ms-summary":null},"server_certificate":{"description":"Remote server certificate security setting","type":"string","x-ms-summary":"Remote server certificate security setting"},"uri":{"description":"URL base for AS2 responses","type":"string","x-ms-summary":"URL base for AS2 responses"}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/As2PartnerEntity"}}},"description":"The As2Partners object.","x-ms-summary":"The As2Partners object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update As2 Partner","tags":["as2_partners"],"x-authentication":["site"]}},"/as2_stations":{"get":{"description":"List As2 Stations","operationId":"GetAs2Stations","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/As2StationEntity"},"type":"array"}}},"description":"A list of As2Stations objects.","x-ms-summary":"A list of As2Stations objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List As2 Stations","tags":["as2_stations"],"x-authentication":["site"]},"post":{"description":"Create As2 Station","operationId":"PostAs2Stations","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"name":{"description":"AS2 Name","type":"string","x-ms-summary":"AS2 Name"},"private_key":{"type":"string","x-ms-summary":null},"private_key_password":{"type":"string","x-ms-summary":null},"public_certificate":{"type":"string","x-ms-summary":null}},"required":["name","public_certificate","private_key"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/As2StationEntity"}}},"description":"The As2Stations object.","x-ms-summary":"The As2Stations object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create As2 Station","tags":["as2_stations"],"x-authentication":["site"]}},"/as2_stations/{id}":{"delete":{"description":"Delete As2 Station","operationId":"DeleteAs2StationsId","parameters":[{"description":"As2 Station ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"As2 Station ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete As2 Station","tags":["as2_stations"],"x-authentication":["site"]},"get":{"description":"Show As2 Station","operationId":"GetAs2StationsId","parameters":[{"description":"As2 Station ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"As2 Station ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/As2StationEntity"}}},"description":"The As2Stations object.","x-ms-summary":"The As2Stations object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show As2 Station","tags":["as2_stations"],"x-authentication":["site"]},"patch":{"description":"Update As2 Station","operationId":"PatchAs2StationsId","parameters":[{"description":"As2 Station ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"As2 Station ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"name":{"description":"AS2 Name","type":"string","x-ms-summary":"AS2 Name"},"private_key":{"type":"string","x-ms-summary":null},"private_key_password":{"type":"string","x-ms-summary":null},"public_certificate":{"type":"string","x-ms-summary":null}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/As2StationEntity"}}},"description":"The As2Stations object.","x-ms-summary":"The As2Stations object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update As2 Station","tags":["as2_stations"],"x-authentication":["site"]}},"/automation_runs":{"get":{"description":"List Automation Runs","operationId":"GetAutomationRuns","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at` and `status`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at` and `status`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `status`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `status`."},{"description":"ID of the associated Automation.","example":1,"in":"query","name":"automation_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"ID of the associated Automation."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AutomationRunEntity"},"type":"array"}}},"description":"A list of AutomationRuns objects.","x-ms-summary":"A list of AutomationRuns objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Automation Runs","tags":["automation_runs"],"x-authentication":[]}},"/automation_runs/{id}":{"get":{"description":"Show Automation Run","operationId":"GetAutomationRunsId","parameters":[{"description":"Automation Run ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Automation Run ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationRunEntity"}}},"description":"The AutomationRuns object.","x-ms-summary":"The AutomationRuns object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Automation Run","tags":["automation_runs"],"x-authentication":[]}},"/automations":{"get":{"description":"List Automations","operationId":"GetAutomations","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[automation]=desc`). Valid fields are `automation`, `disabled`, `last_modified_at` or `name`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[automation]=desc`). Valid fields are `automation`, `disabled`, `last_modified_at` or `name`."},{"description":"If set, return records where the specified field is equal to the supplied value.","in":"query","name":"automation","required":false,"schema":{"type":"string"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `disabled`, `last_modified_at` or `automation`. Valid field combinations are `[ automation, disabled ]` and `[ disabled, automation ]`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `disabled`, `last_modified_at` or `automation`. Valid field combinations are `[ automation, disabled ]` and `[ disabled, automation ]`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `last_modified_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `last_modified_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `last_modified_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `last_modified_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `last_modified_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `last_modified_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `last_modified_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `last_modified_at`."},{"description":"Set to true to include deleted automations in the results.","in":"query","name":"with_deleted","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Set to true to include deleted automations in the results."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AutomationEntity"},"type":"array"}}},"description":"A list of Automations objects.","x-ms-summary":"A list of Automations objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Automations","tags":["automations"],"x-authentication":["folder_admin"]},"post":{"description":"Create Automation","operationId":"PostAutomations","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"automation":{"description":"Automation type","enum":["create_folder","request_file","request_move","copy_newest_file","delete_file","copy_file","move_file","as2_send","run_sync"],"example":"create_folder","type":"string","x-ms-summary":"Automation type"},"description":{"description":"Description for the this Automation.","example":"example","type":"string","x-ms-summary":"Description for the this Automation."},"destination":{"description":"DEPRECATED: Destination Path. Use `destinations` instead.","type":"string","x-ms-summary":"DEPRECATED: Destination Path. Use `destinations` instead."},"destination_replace_from":{"description":"If set, this string in the destination path will be replaced with the value in `destination_replace_to`.","type":"string","x-ms-summary":"If set, this string in the destination path will be replaced with the value in `destination_replace_to`."},"destination_replace_to":{"description":"If set, this string will replace the value `destination_replace_from` in the destination filename. You can use special patterns here.","type":"string","x-ms-summary":"If set, this string will replace the value `destination_replace_from` in the destination filename. You can use special patterns here."},"destinations":{"description":"A list of String destination paths or Hash of folder_path and optional file_path.","example":["folder_a/file_a.txt",{"file_path":"file_b.txt","folder_path":"folder_b"},{"folder_path":"folder_c"}],"items":{"type":"string"},"type":"array","x-ms-summary":"A list of String destination paths or Hash of folder_path and optional file_path."},"disabled":{"description":"If true, this automation will not run.","example":true,"type":"boolean","x-ms-summary":"If true, this automation will not run."},"group_ids":{"description":"A list of group IDs the automation is associated with. If sent as a string, it should be comma-delimited.","type":"string","x-ms-summary":"A list of group IDs the automation is associated with. If sent as a string, it should be comma-delimited."},"interval":{"description":"How often to run this automation? One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`","example":"year","type":"string","x-ms-summary":"How often to run this automation? One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`"},"name":{"description":"Name for this automation.","example":"example","type":"string","x-ms-summary":"Name for this automation."},"path":{"description":"Path on which this Automation runs.  Supports globs.","type":"string","x-ms-summary":"Path on which this Automation runs.  Supports globs."},"recurring_day":{"description":"If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.","example":25,"format":"int32","type":"integer","x-ms-summary":"If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`."},"schedule":{"description":"Custom schedule for running this automation.","example":{"days_of_week":[0,1,3],"time_zone":"Eastern Time (US & Canada)","times_of_day":[450,690]},"type":"object","x-ms-summary":"Custom schedule for running this automation."},"source":{"description":"Source Path","example":"source","type":"string","x-ms-summary":"Source Path"},"sync_ids":{"description":"A list of sync IDs the automation is associated with. If sent as a string, it should be comma-delimited.","type":"string","x-ms-summary":"A list of sync IDs the automation is associated with. If sent as a string, it should be comma-delimited."},"trigger":{"description":"How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`.","enum":["realtime","daily","custom_schedule","webhook","email","action"],"example":"realtime","type":"string","x-ms-summary":"How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`."},"trigger_actions":{"description":"If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy","example":["create"],"items":{"type":"string"},"type":"array","x-ms-summary":"If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy"},"user_ids":{"description":"A list of user IDs the automation is associated with. If sent as a string, it should be comma-delimited.","type":"string","x-ms-summary":"A list of user IDs the automation is associated with. If sent as a string, it should be comma-delimited."},"value":{"description":"A Hash of attributes specific to the automation type.","example":{"limit":"1"},"type":"object","x-ms-summary":"A Hash of attributes specific to the automation type."}},"required":["automation"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationEntity"}}},"description":"The Automations object.","x-ms-summary":"The Automations object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Automation","tags":["automations"],"x-authentication":["folder_admin"]}},"/automations/{id}":{"delete":{"description":"Delete Automation","operationId":"DeleteAutomationsId","parameters":[{"description":"Automation ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Automation ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Automation","tags":["automations"],"x-authentication":["folder_admin"]},"get":{"description":"Show Automation","operationId":"GetAutomationsId","parameters":[{"description":"Automation ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Automation ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationEntity"}}},"description":"The Automations object.","x-ms-summary":"The Automations object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Automation","tags":["automations"],"x-authentication":["folder_admin"]},"patch":{"description":"Update Automation","operationId":"PatchAutomationsId","parameters":[{"description":"Automation ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Automation ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"automation":{"description":"Automation type","enum":["create_folder","request_file","request_move","copy_newest_file","delete_file","copy_file","move_file","as2_send","run_sync"],"example":"create_folder","type":"string","x-ms-summary":"Automation type"},"description":{"description":"Description for the this Automation.","example":"example","type":"string","x-ms-summary":"Description for the this Automation."},"destination":{"description":"DEPRECATED: Destination Path. Use `destinations` instead.","type":"string","x-ms-summary":"DEPRECATED: Destination Path. Use `destinations` instead."},"destination_replace_from":{"description":"If set, this string in the destination path will be replaced with the value in `destination_replace_to`.","type":"string","x-ms-summary":"If set, this string in the destination path will be replaced with the value in `destination_replace_to`."},"destination_replace_to":{"description":"If set, this string will replace the value `destination_replace_from` in the destination filename. You can use special patterns here.","type":"string","x-ms-summary":"If set, this string will replace the value `destination_replace_from` in the destination filename. You can use special patterns here."},"destinations":{"description":"A list of String destination paths or Hash of folder_path and optional file_path.","example":["folder_a/file_a.txt",{"file_path":"file_b.txt","folder_path":"folder_b"},{"folder_path":"folder_c"}],"items":{"type":"string"},"type":"array","x-ms-summary":"A list of String destination paths or Hash of folder_path and optional file_path."},"disabled":{"description":"If true, this automation will not run.","example":true,"type":"boolean","x-ms-summary":"If true, this automation will not run."},"group_ids":{"description":"A list of group IDs the automation is associated with. If sent as a string, it should be comma-delimited.","type":"string","x-ms-summary":"A list of group IDs the automation is associated with. If sent as a string, it should be comma-delimited."},"interval":{"description":"How often to run this automation? One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`","example":"year","type":"string","x-ms-summary":"How often to run this automation? One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`"},"name":{"description":"Name for this automation.","example":"example","type":"string","x-ms-summary":"Name for this automation."},"path":{"description":"Path on which this Automation runs.  Supports globs.","type":"string","x-ms-summary":"Path on which this Automation runs.  Supports globs."},"recurring_day":{"description":"If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.","example":25,"format":"int32","type":"integer","x-ms-summary":"If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`."},"schedule":{"description":"Custom schedule for running this automation.","example":{"days_of_week":[0,1,3],"time_zone":"Eastern Time (US & Canada)","times_of_day":[450,690]},"type":"object","x-ms-summary":"Custom schedule for running this automation."},"source":{"description":"Source Path","example":"source","type":"string","x-ms-summary":"Source Path"},"sync_ids":{"description":"A list of sync IDs the automation is associated with. If sent as a string, it should be comma-delimited.","type":"string","x-ms-summary":"A list of sync IDs the automation is associated with. If sent as a string, it should be comma-delimited."},"trigger":{"description":"How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`.","enum":["realtime","daily","custom_schedule","webhook","email","action"],"example":"realtime","type":"string","x-ms-summary":"How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`."},"trigger_actions":{"description":"If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy","example":["create"],"items":{"type":"string"},"type":"array","x-ms-summary":"If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy"},"user_ids":{"description":"A list of user IDs the automation is associated with. If sent as a string, it should be comma-delimited.","type":"string","x-ms-summary":"A list of user IDs the automation is associated with. If sent as a string, it should be comma-delimited."},"value":{"description":"A Hash of attributes specific to the automation type.","example":{"limit":"1"},"type":"object","x-ms-summary":"A Hash of attributes specific to the automation type."}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationEntity"}}},"description":"The Automations object.","x-ms-summary":"The Automations object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Automation","tags":["automations"],"x-authentication":["folder_admin"]}},"/bandwidth_snapshots":{"get":{"description":"List Bandwidth Snapshots","operationId":"GetBandwidthSnapshots","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[logged_at]=desc`). Valid fields are `logged_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[logged_at]=desc`). Valid fields are `logged_at`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `logged_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `logged_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `logged_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `logged_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `logged_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `logged_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `logged_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `logged_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `logged_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `logged_at`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BandwidthSnapshotEntity"},"type":"array"}}},"description":"A list of BandwidthSnapshots objects.","x-ms-summary":"A list of BandwidthSnapshots objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Bandwidth Snapshots","tags":["bandwidth_snapshots"],"x-authentication":["site"]}},"/behaviors":{"get":{"description":"List Behaviors","operationId":"GetBehaviors","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[behavior]=desc`). Valid fields are `behavior`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[behavior]=desc`). Valid fields are `behavior`."},{"description":"If set, return records where the specified field is equal to the supplied value.","in":"query","name":"behavior","required":false,"schema":{"type":"string"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `behavior`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `behavior`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `behavior`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `behavior`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BehaviorEntity"},"type":"array"}}},"description":"A list of Behaviors objects.","x-ms-summary":"A list of Behaviors objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Behaviors","tags":["behaviors"],"x-authentication":[]},"post":{"description":"Create Behavior","operationId":"PostBehaviors","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"attachment_file":{"description":"Certain behaviors may require a file, for instance, the \"watermark\" behavior requires a watermark image","format":"binary","type":"string","x-ms-summary":"Certain behaviors may require a file, for instance, the \"watermark\" behavior requires a watermark image"},"behavior":{"description":"Behavior type.","example":"webhook","type":"string","x-ms-summary":"Behavior type."},"description":{"description":"Description for this behavior.","example":"example","type":"string","x-ms-summary":"Description for this behavior."},"name":{"description":"Name for this behavior.","example":"example","type":"string","x-ms-summary":"Name for this behavior."},"path":{"description":"Folder behaviors path.","type":"string","x-ms-summary":"Folder behaviors path."},"value":{"description":"The value of the folder behavior.  Can be a integer, array, or hash depending on the type of folder behavior. See The Behavior Types section for example values for each type of behavior.","example":"{\"method\": \"GET\"}","type":"string","x-ms-summary":"The value of the folder behavior.  Can be a integer, array, or hash depending on the type of folder behavior. See The Behavior Types section for example values for each type of behavior."}},"required":["path","behavior"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BehaviorEntity"}}},"description":"The Behaviors object.","x-ms-summary":"The Behaviors object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Behavior","tags":["behaviors"],"x-authentication":[]}},"/behaviors/folders/{path}":{"get":{"description":"List Behaviors by path","operationId":"BehaviorListForPath","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[behavior]=desc`). Valid fields are `behavior`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[behavior]=desc`). Valid fields are `behavior`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `behavior`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `behavior`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `behavior`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `behavior`."},{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."},{"description":"Show behaviors above this path?","in":"query","name":"recursive","required":false,"schema":{"type":"string"},"x-ms-summary":"Show behaviors above this path?"},{"description":"DEPRECATED: If set only shows folder behaviors matching this behavior type. Use `filter[behavior]` instead.","in":"query","name":"behavior","required":false,"schema":{"type":"string"},"x-ms-summary":"DEPRECATED: If set only shows folder behaviors matching this behavior type. Use `filter[behavior]` instead."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BehaviorEntity"},"type":"array"}}},"description":"A list of Behaviors objects.","x-ms-summary":"A list of Behaviors objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Behaviors by path","tags":["behaviors"],"x-authentication":[]}},"/behaviors/webhook/test":{"post":{"description":"Test webhook.","operationId":"PostBehaviorsWebhookTest","requestBody":{"$ref":"#/components/requestBodies/PostSiteTestWebhook"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusEntity"}}},"description":"The Behaviors object.","x-ms-summary":"The Behaviors object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Test webhook.","tags":["behaviors"],"x-authentication":["folder_admin"],"x-path_aliases":["site/test-webhook"]}},"/behaviors/{id}":{"delete":{"description":"Delete Behavior","operationId":"DeleteBehaviorsId","parameters":[{"description":"Behavior ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Behavior ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Behavior","tags":["behaviors"],"x-authentication":[]},"get":{"description":"Show Behavior","operationId":"GetBehaviorsId","parameters":[{"description":"Behavior ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Behavior ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BehaviorEntity"}}},"description":"The Behaviors object.","x-ms-summary":"The Behaviors object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Behavior","tags":["behaviors"],"x-authentication":[]},"patch":{"description":"Update Behavior","operationId":"PatchBehaviorsId","parameters":[{"description":"Behavior ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Behavior ID.","x-types":[{"type":"string"},{"format":"int32","type":"integer"},{"type":"object"}]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"attachment_delete":{"description":"If true, will delete the file stored in attachment","type":"boolean","x-ms-summary":"If true, will delete the file stored in attachment","x-types":[{"type":"string"},{"format":"int32","type":"integer"},{"type":"object"}]},"attachment_file":{"description":"Certain behaviors may require a file, for instance, the \"watermark\" behavior requires a watermark image","format":"binary","type":"string","x-ms-summary":"Certain behaviors may require a file, for instance, the \"watermark\" behavior requires a watermark image"},"behavior":{"description":"Behavior type.","example":"webhook","type":"string","x-ms-summary":"Behavior type."},"description":{"description":"Description for this behavior.","example":"example","type":"string","x-ms-summary":"Description for this behavior."},"name":{"description":"Name for this behavior.","example":"example","type":"string","x-ms-summary":"Name for this behavior."},"path":{"description":"Folder behaviors path.","type":"string","x-ms-summary":"Folder behaviors path."},"value":{"description":"The value of the folder behavior.  Can be a integer, array, or hash depending on the type of folder behavior. See The Behavior Types section for example values for each type of behavior.","example":"{\"method\": \"GET\"}","type":"string","x-ms-summary":"The value of the folder behavior.  Can be a integer, array, or hash depending on the type of folder behavior. See The Behavior Types section for example values for each type of behavior."}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BehaviorEntity"}}},"description":"The Behaviors object.","x-ms-summary":"The Behaviors object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Behavior","tags":["behaviors"],"x-authentication":[]}},"/bundle_downloads":{"get":{"description":"List Bundle Downloads","operationId":"GetBundleDownloads","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`."},{"description":"Bundle ID","in":"query","name":"bundle_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Bundle ID"},{"description":"BundleRegistration ID","in":"query","name":"bundle_registration_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"BundleRegistration ID"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BundleDownloadEntity"},"type":"array"}}},"description":"A list of BundleDownloads objects.","x-ms-summary":"A list of BundleDownloads objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Bundle Downloads","tags":["bundle_downloads"],"x-authentication":[]}},"/bundle_notifications":{"get":{"description":"List Bundle Notifications","operationId":"GetBundleNotifications","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[bundle_id]=desc`). Valid fields are `bundle_id`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[bundle_id]=desc`). Valid fields are `bundle_id`."},{"description":"If set, return records where the specified field is equal to the supplied value.","in":"query","name":"bundle_id","required":false,"schema":{"type":"string"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `bundle_id`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `bundle_id`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BundleNotificationEntity"},"type":"array"}}},"description":"A list of BundleNotifications objects.","x-ms-summary":"A list of BundleNotifications objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Bundle Notifications","tags":["bundle_notifications"],"x-authentication":[]},"post":{"description":"Create Bundle Notification","operationId":"PostBundleNotifications","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"bundle_id":{"description":"Bundle ID to notify on","example":1,"format":"int32","type":"integer","x-ms-summary":"Bundle ID to notify on"},"notify_on_registration":{"description":"Triggers bundle notification when a registration action occurs for it.","example":true,"type":"boolean","x-ms-summary":"Triggers bundle notification when a registration action occurs for it."},"notify_on_upload":{"description":"Triggers bundle notification when a upload action occurs for it.","example":true,"type":"boolean","x-ms-summary":"Triggers bundle notification when a upload action occurs for it."},"user_id":{"description":"The id of the user to notify.","example":1,"format":"int32","type":"integer","x-ms-summary":"The id of the user to notify."}},"required":["bundle_id"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleNotificationEntity"}}},"description":"The BundleNotifications object.","x-ms-summary":"The BundleNotifications object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Bundle Notification","tags":["bundle_notifications"],"x-authentication":[]}},"/bundle_notifications/{id}":{"delete":{"description":"Delete Bundle Notification","operationId":"DeleteBundleNotificationsId","parameters":[{"description":"Bundle Notification ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Bundle Notification ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Bundle Notification","tags":["bundle_notifications"],"x-authentication":[]},"get":{"description":"Show Bundle Notification","operationId":"GetBundleNotificationsId","parameters":[{"description":"Bundle Notification ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Bundle Notification ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleNotificationEntity"}}},"description":"The BundleNotifications object.","x-ms-summary":"The BundleNotifications object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Bundle Notification","tags":["bundle_notifications"],"x-authentication":[]},"patch":{"description":"Update Bundle Notification","operationId":"PatchBundleNotificationsId","parameters":[{"description":"Bundle Notification ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Bundle Notification ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"notify_on_registration":{"description":"Triggers bundle notification when a registration action occurs for it.","example":true,"type":"boolean","x-ms-summary":"Triggers bundle notification when a registration action occurs for it."},"notify_on_upload":{"description":"Triggers bundle notification when a upload action occurs for it.","example":true,"type":"boolean","x-ms-summary":"Triggers bundle notification when a upload action occurs for it."}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleNotificationEntity"}}},"description":"The BundleNotifications object.","x-ms-summary":"The BundleNotifications object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Bundle Notification","tags":["bundle_notifications"],"x-authentication":[]}},"/bundle_recipients":{"get":{"description":"List Bundle Recipients","operationId":"GetBundleRecipients","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[has_registrations]=desc`). Valid fields are `has_registrations`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[has_registrations]=desc`). Valid fields are `has_registrations`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `has_registrations`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `has_registrations`."},{"description":"List recipients for the bundle with this ID.","in":"query","name":"bundle_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"List recipients for the bundle with this ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BundleRecipientEntity"},"type":"array"}}},"description":"A list of BundleRecipients objects.","x-ms-summary":"A list of BundleRecipients objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Bundle Recipients","tags":["bundle_recipients"],"x-authentication":[]},"post":{"description":"Create Bundle Recipient","operationId":"PostBundleRecipients","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"bundle_id":{"description":"Bundle to share.","format":"int32","type":"integer","x-ms-summary":"Bundle to share."},"company":{"description":"Company of recipient.","example":"Acme Ltd","type":"string","x-ms-summary":"Company of recipient."},"name":{"description":"Name of recipient.","example":"John Smith","type":"string","x-ms-summary":"Name of recipient."},"note":{"description":"Note to include in email.","example":"Just a note.","type":"string","x-ms-summary":"Note to include in email."},"recipient":{"description":"Email addresses to share this bundle with.","example":"johndoe@gmail.com","type":"string","x-ms-summary":"Email addresses to share this bundle with."},"share_after_create":{"description":"Set to true to share the link with the recipient upon creation.","type":"boolean","x-ms-summary":"Set to true to share the link with the recipient upon creation."},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}},"required":["bundle_id","recipient"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleRecipientEntity"}}},"description":"The BundleRecipients object.","x-ms-summary":"The BundleRecipients object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Bundle Recipient","tags":["bundle_recipients"],"x-authentication":[]}},"/bundle_registrations":{"get":{"description":"List Bundle Registrations","operationId":"GetBundleRegistrations","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"ID of the associated Bundle","in":"query","name":"bundle_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"ID of the associated Bundle"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BundleRegistrationEntity"},"type":"array"}}},"description":"A list of BundleRegistrations objects.","x-ms-summary":"A list of BundleRegistrations objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Bundle Registrations","tags":["bundle_registrations"],"x-authentication":[]}},"/bundles":{"get":{"description":"List Bundles","operationId":"GetBundles","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at` and `code`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at` and `code`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BundleEntity"},"type":"array"}}},"description":"A list of Bundles objects.","x-ms-summary":"A list of Bundles objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Bundles","tags":["bundles"],"x-authentication":[]},"post":{"description":"Create Bundle","operationId":"PostBundles","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"clickwrap_id":{"description":"ID of the clickwrap to use with this bundle.","example":1,"format":"int32","type":"integer","x-ms-summary":"ID of the clickwrap to use with this bundle."},"code":{"description":"Bundle code.  This code forms the end part of the Public URL.","example":"abc123","type":"string","x-ms-summary":"Bundle code.  This code forms the end part of the Public URL."},"description":{"description":"Public description","example":"The public description of the bundle.","type":"string","x-ms-summary":"Public description"},"dont_separate_submissions_by_folder":{"description":"Do not create subfolders for files uploaded to this share. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required.","example":true,"type":"boolean","x-ms-summary":"Do not create subfolders for files uploaded to this share. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required."},"expires_at":{"description":"Bundle expiration date/time","example":"2025-06-15T13:48:58.053Z","format":"date-time","type":"string","x-ms-summary":"Bundle expiration date/time"},"form_field_set_id":{"description":"Id of Form Field Set to use with this bundle","format":"int32","type":"integer","x-ms-summary":"Id of Form Field Set to use with this bundle"},"inbox_id":{"description":"ID of the associated inbox, if available.","example":1,"format":"int32","type":"integer","x-ms-summary":"ID of the associated inbox, if available."},"max_uses":{"description":"Maximum number of times bundle can be accessed","example":1,"format":"int32","type":"integer","x-ms-summary":"Maximum number of times bundle can be accessed"},"note":{"description":"Bundle internal note","example":"The internal note on the bundle.","type":"string","x-ms-summary":"Bundle internal note"},"password":{"description":"Password for this bundle.","example":"Password","type":"string","x-ms-summary":"Password for this bundle."},"path_template":{"description":"Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, and any custom form data.","example":"{{name}}_{{ip}}","type":"string","x-ms-summary":"Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, and any custom form data."},"paths":{"description":"A list of paths to include in this bundle.","example":["file.txt"],"items":{"type":"string"},"type":"array","x-ms-summary":"A list of paths to include in this bundle."},"permissions":{"description":"Permissions that apply to Folders in this Share Link.","enum":["read","write","read_write","full","none","preview_only"],"example":"read","type":"string","x-ms-summary":"Permissions that apply to Folders in this Share Link."},"preview_only":{"description":"Restrict users to previewing files only?","type":"boolean","x-ms-summary":"Restrict users to previewing files only?"},"require_registration":{"description":"Show a registration page that captures the downloader's name and email address?","type":"boolean","x-ms-summary":"Show a registration page that captures the downloader's name and email address?"},"require_share_recipient":{"description":"Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?","type":"boolean","x-ms-summary":"Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?"},"send_email_receipt_to_uploader":{"description":"Send delivery receipt to the uploader. Note: For writable share only","example":true,"type":"boolean","x-ms-summary":"Send delivery receipt to the uploader. Note: For writable share only"},"skip_company":{"description":"BundleRegistrations can be saved without providing company?","example":true,"type":"boolean","x-ms-summary":"BundleRegistrations can be saved without providing company?"},"skip_email":{"description":"BundleRegistrations can be saved without providing email?","example":true,"type":"boolean","x-ms-summary":"BundleRegistrations can be saved without providing email?"},"skip_name":{"description":"BundleRegistrations can be saved without providing name?","example":true,"type":"boolean","x-ms-summary":"BundleRegistrations can be saved without providing name?"},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},"watermark_attachment_file":{"description":"Preview watermark image applied to all bundle items.","format":"binary","type":"string","x-ms-summary":"Preview watermark image applied to all bundle items."}},"required":["paths"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleEntity"}}},"description":"The Bundles object.","x-ms-summary":"The Bundles object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Bundle","tags":["bundles"],"x-authentication":["native_app"]}},"/bundles/{id}":{"delete":{"description":"Delete Bundle","operationId":"DeleteBundlesId","parameters":[{"description":"Bundle ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Bundle ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Bundle","tags":["bundles"],"x-authentication":[]},"get":{"description":"Show Bundle","operationId":"GetBundlesId","parameters":[{"description":"Bundle ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Bundle ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleEntity"}}},"description":"The Bundles object.","x-ms-summary":"The Bundles object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Bundle","tags":["bundles"],"x-authentication":[]},"patch":{"description":"Update Bundle","operationId":"PatchBundlesId","parameters":[{"description":"Bundle ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Bundle ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"clickwrap_id":{"description":"ID of the clickwrap to use with this bundle.","example":1,"format":"int32","type":"integer","x-ms-summary":"ID of the clickwrap to use with this bundle."},"code":{"description":"Bundle code.  This code forms the end part of the Public URL.","example":"abc123","type":"string","x-ms-summary":"Bundle code.  This code forms the end part of the Public URL."},"description":{"description":"Public description","example":"The public description of the bundle.","type":"string","x-ms-summary":"Public description"},"dont_separate_submissions_by_folder":{"description":"Do not create subfolders for files uploaded to this share. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required.","example":true,"type":"boolean","x-ms-summary":"Do not create subfolders for files uploaded to this share. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required."},"expires_at":{"description":"Bundle expiration date/time","example":"2025-06-15T13:48:58.053Z","format":"date-time","type":"string","x-ms-summary":"Bundle expiration date/time"},"form_field_set_id":{"description":"Id of Form Field Set to use with this bundle","format":"int32","type":"integer","x-ms-summary":"Id of Form Field Set to use with this bundle"},"inbox_id":{"description":"ID of the associated inbox, if available.","example":1,"format":"int32","type":"integer","x-ms-summary":"ID of the associated inbox, if available."},"max_uses":{"description":"Maximum number of times bundle can be accessed","example":1,"format":"int32","type":"integer","x-ms-summary":"Maximum number of times bundle can be accessed"},"note":{"description":"Bundle internal note","example":"The internal note on the bundle.","type":"string","x-ms-summary":"Bundle internal note"},"password":{"description":"Password for this bundle.","example":"Password","type":"string","x-ms-summary":"Password for this bundle."},"path_template":{"description":"Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, and any custom form data.","example":"{{name}}_{{ip}}","type":"string","x-ms-summary":"Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, and any custom form data."},"paths":{"description":"A list of paths to include in this bundle.","example":["file.txt"],"items":{"type":"string"},"type":"array","x-ms-summary":"A list of paths to include in this bundle."},"permissions":{"description":"Permissions that apply to Folders in this Share Link.","enum":["read","write","read_write","full","none","preview_only"],"example":"read","type":"string","x-ms-summary":"Permissions that apply to Folders in this Share Link."},"preview_only":{"description":"Restrict users to previewing files only?","type":"boolean","x-ms-summary":"Restrict users to previewing files only?"},"require_registration":{"description":"Show a registration page that captures the downloader's name and email address?","type":"boolean","x-ms-summary":"Show a registration page that captures the downloader's name and email address?"},"require_share_recipient":{"description":"Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?","type":"boolean","x-ms-summary":"Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?"},"send_email_receipt_to_uploader":{"description":"Send delivery receipt to the uploader. Note: For writable share only","example":true,"type":"boolean","x-ms-summary":"Send delivery receipt to the uploader. Note: For writable share only"},"skip_company":{"description":"BundleRegistrations can be saved without providing company?","example":true,"type":"boolean","x-ms-summary":"BundleRegistrations can be saved without providing company?"},"skip_email":{"description":"BundleRegistrations can be saved without providing email?","example":true,"type":"boolean","x-ms-summary":"BundleRegistrations can be saved without providing email?"},"skip_name":{"description":"BundleRegistrations can be saved without providing name?","example":true,"type":"boolean","x-ms-summary":"BundleRegistrations can be saved without providing name?"},"watermark_attachment_delete":{"description":"If true, will delete the file stored in watermark_attachment","type":"boolean","x-ms-summary":"If true, will delete the file stored in watermark_attachment"},"watermark_attachment_file":{"description":"Preview watermark image applied to all bundle items.","format":"binary","type":"string","x-ms-summary":"Preview watermark image applied to all bundle items."}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleEntity"}}},"description":"The Bundles object.","x-ms-summary":"The Bundles object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Bundle","tags":["bundles"],"x-authentication":[]}},"/bundles/{id}/share":{"post":{"description":"Send email(s) with a link to bundle","operationId":"PostBundlesIdShare","parameters":[{"description":"Bundle ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Bundle ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"note":{"description":"Note to include in email.","example":"Just a note.","type":"string","x-ms-summary":"Note to include in email."},"recipients":{"description":"A list of recipients to share this bundle with. Required unless `to` is used.","example":[{"company":"Acme Ltd","name":"John Doe","recipient":"johndoe@gmail.com"}],"items":{"type":"object"},"type":"array","x-ms-summary":"A list of recipients to share this bundle with. Required unless `to` is used."},"to":{"description":"A list of email addresses to share this bundle with. Required unless `recipients` is used.","example":["johndoe@gmail.com"],"items":{"type":"string"},"type":"array","x-ms-summary":"A list of email addresses to share this bundle with. Required unless `recipients` is used."}},"type":"object"}}}},"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Send email(s) with a link to bundle","tags":["bundles"],"x-authentication":[]}},"/clickwraps":{"get":{"description":"List Clickwraps","operationId":"GetClickwraps","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ClickwrapEntity"},"type":"array"}}},"description":"A list of Clickwraps objects.","x-ms-summary":"A list of Clickwraps objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Clickwraps","tags":["clickwraps"],"x-authentication":[]},"post":{"description":"Create Clickwrap","operationId":"PostClickwraps","requestBody":{"$ref":"#/components/requestBodies/PostClickwraps"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClickwrapEntity"}}},"description":"The Clickwraps object.","x-ms-summary":"The Clickwraps object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Clickwrap","tags":["clickwraps"],"x-authentication":["site"]}},"/clickwraps/{id}":{"delete":{"description":"Delete Clickwrap","operationId":"DeleteClickwrapsId","parameters":[{"description":"Clickwrap ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Clickwrap ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Clickwrap","tags":["clickwraps"],"x-authentication":["site"]},"get":{"description":"Show Clickwrap","operationId":"GetClickwrapsId","parameters":[{"description":"Clickwrap ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Clickwrap ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClickwrapEntity"}}},"description":"The Clickwraps object.","x-ms-summary":"The Clickwraps object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Clickwrap","tags":["clickwraps"],"x-authentication":["site"]},"patch":{"description":"Update Clickwrap","operationId":"PatchClickwrapsId","parameters":[{"description":"Clickwrap ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Clickwrap ID."}],"requestBody":{"$ref":"#/components/requestBodies/PostClickwraps"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClickwrapEntity"}}},"description":"The Clickwraps object.","x-ms-summary":"The Clickwraps object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Clickwrap","tags":["clickwraps"],"x-authentication":["site"]}},"/dns_records":{"get":{"description":"Show site DNS configuration.","operationId":"GetDnsRecords","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DnsRecordEntity"},"type":"array"}}},"description":"A list of DnsRecords objects.","x-ms-summary":"A list of DnsRecords objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show site DNS configuration.","tags":["dns_records"],"x-authentication":["site","overdue_ok"],"x-path_aliases":["site/dns_records"]}},"/external_events":{"get":{"description":"List External Events","operationId":"GetExternalEvents","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[remote_server_type]=desc`). Valid fields are `remote_server_type`, `site_id`, `folder_behavior_id`, `event_type`, `created_at` or `status`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[remote_server_type]=desc`). Valid fields are `remote_server_type`, `site_id`, `folder_behavior_id`, `event_type`, `created_at` or `status`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`, `event_type`, `remote_server_type`, `status` or `folder_behavior_id`. Valid field combinations are `[ event_type, status, created_at ]`, `[ event_type, created_at ]` or `[ status, created_at ]`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`, `event_type`, `remote_server_type`, `status` or `folder_behavior_id`. Valid field combinations are `[ event_type, status, created_at ]`, `[ event_type, created_at ]` or `[ status, created_at ]`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `remote_server_type`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `remote_server_type`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ExternalEventEntity"},"type":"array"}}},"description":"A list of ExternalEvents objects.","x-ms-summary":"A list of ExternalEvents objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List External Events","tags":["external_events"],"x-authentication":["site"]},"post":{"description":"Create External Event","operationId":"PostExternalEvents","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"body":{"description":"Event body","example":"example","type":"string","x-ms-summary":"Event body"},"status":{"description":"Status of event.","enum":["success","failure","partial_failure","in_progress","skipped"],"example":"example","type":"string","x-ms-summary":"Status of event."}},"required":["status","body"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalEventEntity"}}},"description":"The ExternalEvents object.","x-ms-summary":"The ExternalEvents object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create External Event","tags":["external_events"],"x-authentication":[]}},"/external_events/{id}":{"get":{"description":"Show External Event","operationId":"GetExternalEventsId","parameters":[{"description":"External Event ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"External Event ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalEventEntity"}}},"description":"The ExternalEvents object.","x-ms-summary":"The ExternalEvents object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show External Event","tags":["external_events"],"x-authentication":["site"]}},"/file_actions/begin_upload/{path}":{"post":{"description":"Begin file upload","operationId":"FileActionBeginUpload","parameters":[{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"mkdir_parents":{"description":"Create parent directories if they do not exist?","type":"boolean","x-ms-summary":"Create parent directories if they do not exist?"},"part":{"description":"Part if uploading a part.","format":"int32","type":"integer","x-ms-summary":"Part if uploading a part."},"parts":{"description":"How many parts to fetch?","format":"int32","type":"integer","x-ms-summary":"How many parts to fetch?"},"ref":{"type":"string","x-ms-summary":""},"restart":{"description":"File byte offset to restart from.","format":"int32","type":"integer","x-ms-summary":"File byte offset to restart from."},"size":{"description":"Total bytes of file being uploaded (include bytes being retained if appending/restarting).","format":"int32","type":"integer","x-ms-summary":"Total bytes of file being uploaded (include bytes being retained if appending/restarting)."},"with_rename":{"description":"Allow file rename instead of overwrite?","type":"boolean","x-ms-summary":"Allow file rename instead of overwrite?"}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FileUploadPartEntity"},"type":"array"}}},"description":"The FileActions object.","x-ms-summary":"The FileActions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Begin file upload","tags":["file_actions"],"x-authentication":["native_app","office_integration","inbox","bundle_allowed"]}},"/file_actions/copy/{path}":{"post":{"description":"Copy file/folder","operationId":"FileActionCopy","parameters":[{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"destination":{"description":"Copy destination path.","type":"string","x-ms-summary":"Copy destination path."},"structure":{"description":"Copy structure only?","type":"boolean","x-ms-summary":"Copy structure only?"}},"required":["destination"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileActionEntity"}}},"description":"The FileActions object.","x-ms-summary":"The FileActions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Copy file/folder","tags":["file_actions"],"x-authentication":["native_app","office_integration","bundle_allowed"]}},"/file_actions/metadata/{path}":{"get":{"description":"Find file/folder by path","operationId":"FileActionFind","parameters":[{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."},{"description":"Request a preview size.  Can be `small` (default), `large`, `xlarge`, or `pdf`.","in":"query","name":"preview_size","required":false,"schema":{"type":"string"},"x-ms-summary":"Request a preview size.  Can be `small` (default), `large`, `xlarge`, or `pdf`."},{"description":"Include file preview information?","in":"query","name":"with_previews","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Include file preview information?"},{"description":"Include file priority color information?","in":"query","name":"with_priority_color","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Include file priority color information?"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileEntity"}}},"description":"The FileActions object.","x-ms-summary":"The FileActions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Find file/folder by path","tags":["file_actions"],"x-authentication":["native_app","office_integration"]}},"/file_actions/move/{path}":{"post":{"description":"Move file/folder","operationId":"FileActionMove","parameters":[{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"destination":{"description":"Move destination path.","type":"string","x-ms-summary":"Move destination path."}},"required":["destination"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileActionEntity"}}},"description":"The FileActions object.","x-ms-summary":"The FileActions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Move file/folder","tags":["file_actions"],"x-authentication":["native_app","office_integration","bundle_allowed"]}},"/file_comment_reactions":{"post":{"description":"Create File Comment Reaction","operationId":"PostFileCommentReactions","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"emoji":{"description":"Emoji to react with.","type":"string","x-ms-summary":"Emoji to react with."},"file_comment_id":{"description":"ID of file comment to attach reaction to.","format":"int32","type":"integer","x-ms-summary":"ID of file comment to attach reaction to."},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}},"required":["file_comment_id","emoji"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileCommentReactionEntity"}}},"description":"The FileCommentReactions object.","x-ms-summary":"The FileCommentReactions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create File Comment Reaction","tags":["file_comment_reactions"],"x-authentication":[]}},"/file_comment_reactions/{id}":{"delete":{"description":"Delete File Comment Reaction","operationId":"DeleteFileCommentReactionsId","parameters":[{"description":"File Comment Reaction ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"File Comment Reaction ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete File Comment Reaction","tags":["file_comment_reactions"],"x-authentication":[]}},"/file_comments":{"post":{"description":"Create File Comment","operationId":"PostFileComments","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"body":{"description":"Comment body.","type":"string","x-ms-summary":"Comment body."},"path":{"description":"File path.","type":"string","x-ms-summary":"File path."}},"required":["body","path"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileCommentEntity"}}},"description":"The FileComments object.","x-ms-summary":"The FileComments object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create File Comment","tags":["file_comments"],"x-authentication":[]}},"/file_comments/files/{path}":{"get":{"description":"List File Comments by path","operationId":"FileCommentListForPath","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FileCommentEntity"},"type":"array"}}},"description":"A list of FileComments objects.","x-ms-summary":"A list of FileComments objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List File Comments by path","tags":["file_comments"],"x-authentication":[]}},"/file_comments/{id}":{"delete":{"description":"Delete File Comment","operationId":"DeleteFileCommentsId","parameters":[{"description":"File Comment ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"File Comment ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete File Comment","tags":["file_comments"],"x-authentication":[]},"patch":{"description":"Update File Comment","operationId":"PatchFileCommentsId","parameters":[{"description":"File Comment ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"File Comment ID."}],"requestBody":{"$ref":"#/components/requestBodies/PatchFileCommentsId"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileCommentEntity"}}},"description":"The FileComments object.","x-ms-summary":"The FileComments object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update File Comment","tags":["file_comments"],"x-authentication":[]}},"/file_migrations/{id}":{"get":{"description":"Show File Migration","operationId":"GetFileMigrationsId","parameters":[{"description":"File Migration ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"File Migration ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileMigrationEntity"}}},"description":"The FileMigrations object.","x-ms-summary":"The FileMigrations object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show File Migration","tags":["file_migrations"],"x-authentication":["native_app"]}},"/files/{path}":{"delete":{"description":"Delete file/folder","operationId":"DeleteFilesPath","parameters":[{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."},{"description":"If true, will recursively delete folers.  Otherwise, will error on non-empty folders.","in":"query","name":"recursive","required":false,"schema":{"type":"boolean"},"x-ms-summary":"If true, will recursively delete folers.  Otherwise, will error on non-empty folders."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete file/folder","tags":["files"],"x-authentication":["native_app","office_integration","no_readonly","bundle_allowed"]},"get":{"description":"Download file","operationId":"FileDownload","parameters":[{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."},{"description":"Can be blank, `redirect` or `stat`.  If set to `stat`, we will return file information but without a download URL, and without logging a download.  If set to `redirect` we will serve a 302 redirect directly to the file.  This is used for integrations with Zapier, and is not recommended for most integrations.","in":"query","name":"action","required":false,"schema":{"type":"string"},"x-ms-summary":"Can be blank, `redirect` or `stat`.  If set to `stat`, we will return file information but without a download URL, and without logging a download.  If set to `redirect` we will serve a 302 redirect directly to the file.  This is used for integrations with Zapier, and is not recommended for most integrations."},{"description":"Request a preview size.  Can be `small` (default), `large`, `xlarge`, or `pdf`.","in":"query","name":"preview_size","required":false,"schema":{"type":"string"},"x-ms-summary":"Request a preview size.  Can be `small` (default), `large`, `xlarge`, or `pdf`."},{"description":"Include file preview information?","in":"query","name":"with_previews","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Include file preview information?"},{"description":"Include file priority color information?","in":"query","name":"with_priority_color","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Include file priority color information?"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileEntity"}}},"description":"The Files object.","x-ms-summary":"The Files object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Download file","tags":["files"],"x-authentication":["native_app","office_integration","no_readonly","bundle_allowed"]},"patch":{"description":"Update file/folder metadata","operationId":"PatchFilesPath","parameters":[{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"priority_color":{"description":"Priority/Bookmark color of file.","example":"red","type":"string","x-ms-summary":"Priority/Bookmark color of file."},"provided_mtime":{"description":"Modified time of file.","format":"date-time","type":"string","x-ms-summary":"Modified time of file."}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileEntity"}}},"description":"The Files object.","x-ms-summary":"The Files object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update file/folder metadata","tags":["files"],"x-authentication":["native_app","office_integration","no_readonly"]},"post":{"description":"Upload file","operationId":"PostFilesPath","parameters":[{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"action":{"description":"The action to perform.  Can be `append`, `attachment`, `end`, `upload`, `put`, or may not exist","type":"string","x-ms-summary":"The action to perform.  Can be `append`, `attachment`, `end`, `upload`, `put`, or may not exist"},"etags[etag]":{"description":"etag identifier.","items":{"type":"string"},"type":"array","x-ms-summary":"etag identifier."},"etags[part]":{"description":"Part number.","items":{"format":"int32","type":"integer"},"type":"array","x-ms-summary":"Part number."},"length":{"description":"Length of file.","format":"int32","type":"integer","x-ms-summary":"Length of file."},"mkdir_parents":{"description":"Create parent directories if they do not exist?","type":"boolean","x-ms-summary":"Create parent directories if they do not exist?"},"part":{"description":"Part if uploading a part.","format":"int32","type":"integer","x-ms-summary":"Part if uploading a part."},"parts":{"description":"How many parts to fetch?","format":"int32","type":"integer","x-ms-summary":"How many parts to fetch?"},"provided_mtime":{"description":"User provided modification time.","format":"date-time","type":"string","x-ms-summary":"User provided modification time."},"ref":{"type":"string","x-ms-summary":""},"restart":{"description":"File byte offset to restart from.","format":"int32","type":"integer","x-ms-summary":"File byte offset to restart from."},"size":{"description":"Size of file.","format":"int32","type":"integer","x-ms-summary":"Size of file."},"structure":{"description":"If copying folder, copy just the structure?","type":"string","x-ms-summary":"If copying folder, copy just the structure?"},"with_rename":{"description":"Allow file rename instead of overwrite?","type":"boolean","x-ms-summary":"Allow file rename instead of overwrite?"}},"required":["etags[etag]","etags[part]"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileEntity"}}},"description":"The Files object.","x-ms-summary":"The Files object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Upload file","tags":["files"],"x-authentication":["native_app","office_integration","inbox","bundle_allowed"]}},"/folders/{path}":{"get":{"description":"List Folders by path","operationId":"FolderListForPath","parameters":[{"description":"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 or the X-Files-Cursor-Prev header.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"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 or the X-Files-Cursor-Prev header."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."},{"description":"If specified, will filter folders/files list by this string.  Wildcards of `*` and `?` are acceptable here.","in":"query","name":"filter","required":false,"schema":{"type":"string"},"x-ms-summary":"If specified, will filter folders/files list by this string.  Wildcards of `*` and `?` are acceptable here."},{"description":"Request a preview size.  Can be `small` (default), `large`, `xlarge`, or `pdf`.","in":"query","name":"preview_size","required":false,"schema":{"type":"string"},"x-ms-summary":"Request a preview size.  Can be `small` (default), `large`, `xlarge`, or `pdf`."},{"description":"Search by field and direction. Valid fields are `path`, `size`, `modified_at_datetime`, `provided_modified_at`.  Valid directions are `asc` and `desc`.  Defaults to `{\"path\":\"asc\"}`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"Search by field and direction. Valid fields are `path`, `size`, `modified_at_datetime`, `provided_modified_at`.  Valid directions are `asc` and `desc`.  Defaults to `{\"path\":\"asc\"}`."},{"description":"If `search_all` is `true`, provide the search string here.  Otherwise, this parameter acts like an alias of `filter`.","in":"query","name":"search","required":false,"schema":{"type":"string"},"x-ms-summary":"If `search_all` is `true`, provide the search string here.  Otherwise, this parameter acts like an alias of `filter`."},{"description":"Search entire site?  If set, we will ignore the folder path provided and search the entire site.  This is the same API used by the search bar in the UI.  Search results are a best effort, not real time, and not guaranteed to match every file.  This field should only be used for ad-hoc (human) searching, and not as part of an automated process.","in":"query","name":"search_all","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Search entire site?  If set, we will ignore the folder path provided and search the entire site.  This is the same API used by the search bar in the UI.  Search results are a best effort, not real time, and not guaranteed to match every file.  This field should only be used for ad-hoc (human) searching, and not as part of an automated process."},{"description":"Include file previews?","in":"query","name":"with_previews","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Include file previews?"},{"description":"Include file priority color information?","in":"query","name":"with_priority_color","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Include file priority color information?"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FileEntity"},"type":"array"}}},"description":"A list of Folders objects.","x-ms-summary":"A list of Folders objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Folders by path","tags":["folders"],"x-authentication":["native_app","bundle_allowed"]},"post":{"description":"Create folder","operationId":"PostFoldersPath","parameters":[{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"mkdir_parents":{"description":"Create parent directories if they do not exist?","type":"boolean","x-ms-summary":"Create parent directories if they do not exist?"},"provided_mtime":{"description":"User provided modification time.","format":"date-time","type":"string","x-ms-summary":"User provided modification time."}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileEntity"}}},"description":"The Folders object.","x-ms-summary":"The Folders object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create folder","tags":["folders"],"x-authentication":["native_app","bundle_allowed"]}},"/form_field_sets":{"get":{"description":"List Form Field Sets","operationId":"GetFormFieldSets","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FormFieldSetEntity"},"type":"array"}}},"description":"A list of FormFieldSets objects.","x-ms-summary":"A list of FormFieldSets objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Form Field Sets","tags":["form_field_sets"],"x-authentication":[]},"post":{"description":"Create Form Field Set","operationId":"PostFormFieldSets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/postFormFieldSets"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/postFormFieldSets"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/postFormFieldSets"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormFieldSetEntity"}}},"description":"The FormFieldSets object.","x-ms-summary":"The FormFieldSets object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Form Field Set","tags":["form_field_sets"],"x-authentication":[]}},"/form_field_sets/{id}":{"delete":{"description":"Delete Form Field Set","operationId":"DeleteFormFieldSetsId","parameters":[{"description":"Form Field Set ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Form Field Set ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Form Field Set","tags":["form_field_sets"],"x-authentication":[]},"get":{"description":"Show Form Field Set","operationId":"GetFormFieldSetsId","parameters":[{"description":"Form Field Set ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Form Field Set ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormFieldSetEntity"}}},"description":"The FormFieldSets object.","x-ms-summary":"The FormFieldSets object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Form Field Set","tags":["form_field_sets"],"x-authentication":[]},"patch":{"description":"Update Form Field Set","operationId":"PatchFormFieldSetsId","parameters":[{"description":"Form Field Set ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Form Field Set ID."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/patchFormFieldSets"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/patchFormFieldSets"}},"multipart/form-data":{"schema":{"$ref":"#/components/schemas/patchFormFieldSets"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormFieldSetEntity"}}},"description":"The FormFieldSets object.","x-ms-summary":"The FormFieldSets object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Form Field Set","tags":["form_field_sets"],"x-authentication":[]}},"/group_users":{"get":{"description":"List Group Users","operationId":"GetGroupUsers","parameters":[{"description":"User ID.  If provided, will return group_users of this user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  If provided, will return group_users of this user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Group ID.  If provided, will return group_users of this group.","in":"query","name":"group_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID.  If provided, will return group_users of this group."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GroupUserEntity"},"type":"array"}}},"description":"A list of GroupUsers objects.","x-ms-summary":"A list of GroupUsers objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Group Users","tags":["group_users"],"x-authentication":[],"x-path_aliases":["user/groups","users/:user_id/groups","groups/:group_id/users"]},"post":{"description":"Create Group User","operationId":"PostGroupUsers","requestBody":{"$ref":"#/components/requestBodies/PatchGroupUsersId"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupUserEntity"}}},"description":"The GroupUsers object.","x-ms-summary":"The GroupUsers object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Group User","tags":["group_users"],"x-authentication":["site"]}},"/group_users/{id}":{"delete":{"description":"Delete Group User","operationId":"DeleteGroupUsersId","parameters":[{"description":"Group User ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group User ID."},{"description":"Group ID from which to remove user.","in":"query","name":"group_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID from which to remove user."},{"description":"User ID to remove from group.","in":"query","name":"user_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID to remove from group."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Group User","tags":["group_users"],"x-authentication":["site"],"x-path_aliases":["groups/:group_id/memberships/:user_id"]},"patch":{"description":"Update Group User","operationId":"PatchGroupUsersId","parameters":[{"description":"Group User ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group User ID."}],"requestBody":{"$ref":"#/components/requestBodies/PatchGroupUsersId"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupUserEntity"}}},"description":"The GroupUsers object.","x-ms-summary":"The GroupUsers object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Group User","tags":["group_users"],"x-authentication":["site"],"x-path_aliases":["groups/:group_id/memberships/:user_id"]}},"/groups":{"get":{"description":"List Groups","operationId":"GetGroups","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[name]=desc`). Valid fields are `name`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[name]=desc`). Valid fields are `name`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `name`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `name`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `name`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `name`."},{"description":"Comma-separated list of group ids to include in results.","in":"query","name":"ids","required":false,"schema":{"type":"string"},"x-ms-summary":"Comma-separated list of group ids to include in results."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GroupEntity"},"type":"array"}}},"description":"A list of Groups objects.","x-ms-summary":"A list of Groups objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Groups","tags":["groups"],"x-authentication":["folder_admin"]},"post":{"description":"Create Group","operationId":"PostGroups","requestBody":{"$ref":"#/components/requestBodies/PatchGroupsId"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupEntity"}}},"description":"The Groups object.","x-ms-summary":"The Groups object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Group","tags":["groups"],"x-authentication":["site"]}},"/groups/{group_id}/memberships/{user_id}":{"delete":{"description":"Delete Group User","operationId":"DeleteGroupsGroupIdMembershipsUserId","parameters":[{"description":"Group ID from which to remove user.","in":"path","name":"group_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID from which to remove user."},{"description":"User ID to remove from group.","in":"path","name":"user_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID to remove from group."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Group User","tags":["groups"],"x-authentication":["site"],"x-path_aliases":["groups/:group_id/memberships/:user_id"]},"patch":{"description":"Update Group User","operationId":"PatchGroupsGroupIdMembershipsUserId","parameters":[{"description":"Group ID to add user to.","in":"path","name":"group_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID to add user to."},{"description":"User ID to add to group.","in":"path","name":"user_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID to add to group."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"admin":{"description":"Is the user a group administrator?","type":"boolean","x-ms-summary":"Is the user a group administrator?"}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupUserEntity"}}},"description":"The GroupUsers object.","x-ms-summary":"The GroupUsers object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Group User","tags":["groups"],"x-authentication":["site"],"x-path_aliases":["groups/:group_id/memberships/:user_id"]}},"/groups/{group_id}/permissions":{"get":{"description":"List Permissions","operationId":"GetGroupsGroupIdPermissions","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[group_id]=desc`). Valid fields are `group_id`, `path`, `user_id` or `permission`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[group_id]=desc`). Valid fields are `group_id`, `path`, `user_id` or `permission`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`. Valid field combinations are `[ group_id, path ]` and `[ user_id, path ]`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`. Valid field combinations are `[ group_id, path ]` and `[ user_id, path ]`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`."},{"description":"DEPRECATED: Permission path.  If provided, will scope permissions to this path. Use `filter[path]` instead.","in":"query","name":"path","required":false,"schema":{"type":"string"},"x-ms-summary":"DEPRECATED: Permission path.  If provided, will scope permissions to this path. Use `filter[path]` instead."},{"description":"DEPRECATED: Group ID.  If provided, will scope permissions to this group. Use `filter[group_id]` instead.`","in":"path","name":"group_id","required":true,"schema":{"type":"string"},"x-ms-summary":"DEPRECATED: Group ID.  If provided, will scope permissions to this group. Use `filter[group_id]` instead.`"},{"description":"DEPRECATED: User ID.  If provided, will scope permissions to this user. Use `filter[user_id]` instead.`","in":"query","name":"user_id","required":false,"schema":{"type":"string"},"x-ms-summary":"DEPRECATED: User ID.  If provided, will scope permissions to this user. Use `filter[user_id]` instead.`"},{"description":"If searching by user or group, also include user's permissions that are inherited from its groups?","in":"query","name":"include_groups","required":false,"schema":{"type":"boolean"},"x-ms-summary":"If searching by user or group, also include user's permissions that are inherited from its groups?"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PermissionEntity"},"type":"array"}}},"description":"A list of Permissions objects.","x-ms-summary":"A list of Permissions objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Permissions","tags":["groups"],"x-authentication":[],"x-path_aliases":["groups/:group_id/permissions","users/:user_id/permissions"]}},"/groups/{group_id}/users":{"get":{"description":"List Group Users","operationId":"GetGroupsGroupIdUsers","parameters":[{"description":"User ID.  If provided, will return group_users of this user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  If provided, will return group_users of this user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Group ID.  If provided, will return group_users of this group.","in":"path","name":"group_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID.  If provided, will return group_users of this group."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GroupUserEntity"},"type":"array"}}},"description":"A list of GroupUsers objects.","x-ms-summary":"A list of GroupUsers objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Group Users","tags":["groups"],"x-authentication":[],"x-path_aliases":["user/groups","users/:user_id/groups","groups/:group_id/users"]},"post":{"description":"Create User","operationId":"PostGroupsGroupIdUsers","parameters":[{"description":"Group ID to associate this user with.","in":"path","name":"group_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID to associate this user with."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"allowed_ips":{"description":"A list of allowed IPs if applicable.  Newline delimited","example":"127.0.0.1","type":"string","x-ms-summary":"A list of allowed IPs if applicable.  Newline delimited"},"announcements_read":{"description":"Signifies that the user has read all the announcements in the UI.","type":"boolean","x-ms-summary":"Signifies that the user has read all the announcements in the UI."},"attachments_permission":{"description":"DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.","example":true,"type":"boolean","x-ms-summary":"DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead."},"authenticate_until":{"description":"Scheduled Date/Time at which user will be deactivated","example":"2025-06-15T13:48:58.058Z","format":"date-time","type":"string","x-ms-summary":"Scheduled Date/Time at which user will be deactivated"},"authentication_method":{"description":"How is this user authenticated?","enum":["password","unused_former_ldap","sso","none","email_signup","password_with_imported_hash"],"example":"password","type":"string","x-ms-summary":"How is this user authenticated?"},"avatar_delete":{"description":"If true, the avatar will be deleted.","type":"boolean","x-ms-summary":"If true, the avatar will be deleted."},"avatar_file":{"description":"An image file for your user avatar.","format":"binary","type":"string","x-ms-summary":"An image file for your user avatar."},"billing_permission":{"description":"Allow this user to perform operations on the account, payments, and invoices?","type":"boolean","x-ms-summary":"Allow this user to perform operations on the account, payments, and invoices?"},"bypass_inactive_disable":{"description":"Exempt this user from being disabled based on inactivity?","type":"boolean","x-ms-summary":"Exempt this user from being disabled based on inactivity?"},"bypass_site_allowed_ips":{"description":"Allow this user to skip site-wide IP blacklists?","type":"boolean","x-ms-summary":"Allow this user to skip site-wide IP blacklists?"},"change_password":{"description":"Used for changing a password on an existing user.","type":"string","x-ms-summary":"Used for changing a password on an existing user."},"change_password_confirmation":{"description":"Optional, but if provided, we will ensure that it matches the value sent in `change_password`.","type":"string","x-ms-summary":"Optional, but if provided, we will ensure that it matches the value sent in `change_password`."},"company":{"description":"User's company","example":"ACME Corp.","type":"string","x-ms-summary":"User's company"},"dav_permission":{"description":"Can the user connect with WebDAV?","example":true,"type":"boolean","x-ms-summary":"Can the user connect with WebDAV?"},"disabled":{"description":"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.","example":true,"type":"boolean","x-ms-summary":"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."},"email":{"description":"User's email.","type":"string","x-ms-summary":"User's email."},"ftp_permission":{"description":"Can the user access with FTP/FTPS?","example":true,"type":"boolean","x-ms-summary":"Can the user access with FTP/FTPS?"},"grant_permission":{"description":"Permission to grant on the user root.  Can be blank or `full`, `read`, `write`, `list`, `read+write`, or `list+write`","type":"string","x-ms-summary":"Permission to grant on the user root.  Can be blank or `full`, `read`, `write`, `list`, `read+write`, or `list+write`"},"group_ids":{"description":"A list of group ids to associate this user with.  Comma delimited.","type":"string","x-ms-summary":"A list of group ids to associate this user with.  Comma delimited."},"header_text":{"description":"Text to display to the user in the header of the UI","example":"User-specific message.","type":"string","x-ms-summary":"Text to display to the user in the header of the UI"},"imported_password_hash":{"description":"Pre-calculated hash of the user's password. If supplied, this will be used to authenticate the user on first login. Supported hash menthods are MD5, SHA1, and SHA256.","type":"string","x-ms-summary":"Pre-calculated hash of the user's password. If supplied, this will be used to authenticate the user on first login. Supported hash menthods are MD5, SHA1, and SHA256."},"language":{"description":"Preferred language","example":"en","type":"string","x-ms-summary":"Preferred language"},"name":{"description":"User's full name","example":"John Doe","type":"string","x-ms-summary":"User's full name"},"notes":{"description":"Any internal notes on the user","example":"Internal notes on this user.","type":"string","x-ms-summary":"Any internal notes on the user"},"notification_daily_send_time":{"description":"Hour of the day at which daily notifications should be sent. Can be in range 0 to 23","example":18,"format":"int32","type":"integer","x-ms-summary":"Hour of the day at which daily notifications should be sent. Can be in range 0 to 23"},"office_integration_enabled":{"description":"Enable integration with Office for the web?","example":true,"type":"boolean","x-ms-summary":"Enable integration with Office for the web?"},"password":{"description":"User password.","type":"string","x-ms-summary":"User password."},"password_confirmation":{"description":"Optional, but if provided, we will ensure that it matches the value sent in `password`.","type":"string","x-ms-summary":"Optional, but if provided, we will ensure that it matches the value sent in `password`."},"password_validity_days":{"description":"Number of days to allow user to use the same password","example":1,"format":"int32","type":"integer","x-ms-summary":"Number of days to allow user to use the same password"},"receive_admin_alerts":{"description":"Should the user receive admin alerts such a certificate expiration notifications and overages?","example":true,"type":"boolean","x-ms-summary":"Should the user receive admin alerts such a certificate expiration notifications and overages?"},"require_2fa":{"description":"2FA required setting","enum":["use_system_setting","always_require","never_require"],"example":"always_require","type":"string","x-ms-summary":"2FA required setting"},"require_password_change":{"description":"Is a password change required upon next user login?","example":true,"type":"boolean","x-ms-summary":"Is a password change required upon next user login?"},"restapi_permission":{"description":"Can this user access the REST API?","example":true,"type":"boolean","x-ms-summary":"Can this user access the REST API?"},"self_managed":{"description":"Does this user manage it's own credentials or is it a shared/bot user?","example":true,"type":"boolean","x-ms-summary":"Does this user manage it's own credentials or is it a shared/bot user?"},"sftp_permission":{"description":"Can the user access with SFTP?","example":true,"type":"boolean","x-ms-summary":"Can the user access with SFTP?"},"site_admin":{"description":"Is the user an administrator for this site?","example":true,"type":"boolean","x-ms-summary":"Is the user an administrator for this site?"},"skip_welcome_screen":{"description":"Skip Welcome page in the UI?","example":true,"type":"boolean","x-ms-summary":"Skip Welcome page in the UI?"},"ssl_required":{"description":"SSL required setting","enum":["use_system_setting","always_require","never_require"],"example":"always_require","type":"string","x-ms-summary":"SSL required setting"},"sso_strategy_id":{"description":"SSO (Single Sign On) strategy ID for the user, if applicable.","example":1,"format":"int32","type":"integer","x-ms-summary":"SSO (Single Sign On) strategy ID for the user, if applicable."},"subscribe_to_newsletter":{"description":"Is the user subscribed to the newsletter?","example":true,"type":"boolean","x-ms-summary":"Is the user subscribed to the newsletter?"},"time_zone":{"description":"User time zone","example":"Pacific Time (US & Canada)","type":"string","x-ms-summary":"User time zone"},"user_root":{"description":"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.","example":"example","type":"string","x-ms-summary":"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."},"username":{"description":"User's username","example":"user","type":"string","x-ms-summary":"User's username"}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEntity"}}},"description":"The Users object.","x-ms-summary":"The Users object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create User","tags":["groups"],"x-authentication":[],"x-path_aliases":["groups/:group_id/users"]}},"/groups/{id}":{"delete":{"description":"Delete Group","operationId":"DeleteGroupsId","parameters":[{"description":"Group ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Group","tags":["groups"],"x-authentication":["site"]},"get":{"description":"Show Group","operationId":"GetGroupsId","parameters":[{"description":"Group ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupEntity"}}},"description":"The Groups object.","x-ms-summary":"The Groups object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Group","tags":["groups"],"x-authentication":["folder_admin"]},"patch":{"description":"Update Group","operationId":"PatchGroupsId","parameters":[{"description":"Group ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID."}],"requestBody":{"$ref":"#/components/requestBodies/PatchGroupsId"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupEntity"}}},"description":"The Groups object.","x-ms-summary":"The Groups object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Group","tags":["groups"],"x-authentication":["site"]}},"/history":{"get":{"description":"List site full action history.","operationId":"HistoryList","parameters":[{"description":"Leave blank or set to a date/time to filter earlier entries.","in":"query","name":"start_at","required":false,"schema":{"format":"date-time","type":"string"},"x-ms-summary":"Leave blank or set to a date/time to filter earlier entries."},{"description":"Leave blank or set to a date/time to filter later entries.","in":"query","name":"end_at","required":false,"schema":{"format":"date-time","type":"string"},"x-ms-summary":"Leave blank or set to a date/time to filter later entries."},{"description":"Display format. Leave blank or set to `full` or `parent`.","in":"query","name":"display","required":false,"schema":{"type":"string"},"x-ms-summary":"Display format. Leave blank or set to `full` or `parent`."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[path]=desc`). Valid fields are `path`, `folder`, `user_id` or `created_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[path]=desc`). Valid fields are `path`, `folder`, `user_id` or `created_at`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `user_id`, `folder` or `path`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `user_id`, `folder` or `path`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ActionEntity"},"type":"array"}}},"description":"A list of History objects.","x-ms-summary":"A list of History objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List site full action history.","tags":["history"],"x-authentication":["site"]}},"/history/files/{path}":{"get":{"description":"List history for specific file.","operationId":"HistoryListForFile","parameters":[{"description":"Leave blank or set to a date/time to filter earlier entries.","in":"query","name":"start_at","required":false,"schema":{"format":"date-time","type":"string"},"x-ms-summary":"Leave blank or set to a date/time to filter earlier entries."},{"description":"Leave blank or set to a date/time to filter later entries.","in":"query","name":"end_at","required":false,"schema":{"format":"date-time","type":"string"},"x-ms-summary":"Leave blank or set to a date/time to filter later entries."},{"description":"Display format. Leave blank or set to `full` or `parent`.","in":"query","name":"display","required":false,"schema":{"type":"string"},"x-ms-summary":"Display format. Leave blank or set to `full` or `parent`."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[user_id]=desc`). Valid fields are `user_id` and `created_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[user_id]=desc`). Valid fields are `user_id` and `created_at`."},{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ActionEntity"},"type":"array"}}},"description":"A list of History objects.","x-ms-summary":"A list of History objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List history for specific file.","tags":["history"],"x-authentication":[]}},"/history/folders/{path}":{"get":{"description":"List history for specific folder.","operationId":"HistoryListForFolder","parameters":[{"description":"Leave blank or set to a date/time to filter earlier entries.","in":"query","name":"start_at","required":false,"schema":{"format":"date-time","type":"string"},"x-ms-summary":"Leave blank or set to a date/time to filter earlier entries."},{"description":"Leave blank or set to a date/time to filter later entries.","in":"query","name":"end_at","required":false,"schema":{"format":"date-time","type":"string"},"x-ms-summary":"Leave blank or set to a date/time to filter later entries."},{"description":"Display format. Leave blank or set to `full` or `parent`.","in":"query","name":"display","required":false,"schema":{"type":"string"},"x-ms-summary":"Display format. Leave blank or set to `full` or `parent`."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[user_id]=desc`). Valid fields are `user_id` and `created_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[user_id]=desc`). Valid fields are `user_id` and `created_at`."},{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ActionEntity"},"type":"array"}}},"description":"A list of History objects.","x-ms-summary":"A list of History objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List history for specific folder.","tags":["history"],"x-authentication":[]}},"/history/login":{"get":{"description":"List site login history.","operationId":"HistoryListLogins","parameters":[{"description":"Leave blank or set to a date/time to filter earlier entries.","in":"query","name":"start_at","required":false,"schema":{"format":"date-time","type":"string"},"x-ms-summary":"Leave blank or set to a date/time to filter earlier entries."},{"description":"Leave blank or set to a date/time to filter later entries.","in":"query","name":"end_at","required":false,"schema":{"format":"date-time","type":"string"},"x-ms-summary":"Leave blank or set to a date/time to filter later entries."},{"description":"Display format. Leave blank or set to `full` or `parent`.","in":"query","name":"display","required":false,"schema":{"type":"string"},"x-ms-summary":"Display format. Leave blank or set to `full` or `parent`."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[user_id]=desc`). Valid fields are `user_id` and `created_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[user_id]=desc`). Valid fields are `user_id` and `created_at`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ActionEntity"},"type":"array"}}},"description":"A list of History objects.","x-ms-summary":"A list of History objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List site login history.","tags":["history"],"x-authentication":["site"]}},"/history/users/{user_id}":{"get":{"description":"List history for specific user.","operationId":"HistoryListForUser","parameters":[{"description":"Leave blank or set to a date/time to filter earlier entries.","in":"query","name":"start_at","required":false,"schema":{"format":"date-time","type":"string"},"x-ms-summary":"Leave blank or set to a date/time to filter earlier entries."},{"description":"Leave blank or set to a date/time to filter later entries.","in":"query","name":"end_at","required":false,"schema":{"format":"date-time","type":"string"},"x-ms-summary":"Leave blank or set to a date/time to filter later entries."},{"description":"Display format. Leave blank or set to `full` or `parent`.","in":"query","name":"display","required":false,"schema":{"type":"string"},"x-ms-summary":"Display format. Leave blank or set to `full` or `parent`."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[user_id]=desc`). Valid fields are `user_id` and `created_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[user_id]=desc`). Valid fields are `user_id` and `created_at`."},{"description":"User ID.","in":"path","name":"user_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ActionEntity"},"type":"array"}}},"description":"A list of History objects.","x-ms-summary":"A list of History objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List history for specific user.","tags":["history"],"x-authentication":["site"]}},"/history_export_results":{"get":{"description":"List History Export Results","operationId":"GetHistoryExportResults","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"ID of the associated history export.","in":"query","name":"history_export_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"ID of the associated history export."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/HistoryExportResultEntity"},"type":"array"}}},"description":"A list of HistoryExportResults objects.","x-ms-summary":"A list of HistoryExportResults objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List History Export Results","tags":["history_export_results"],"x-authentication":[]}},"/history_exports":{"post":{"description":"Create History Export","operationId":"PostHistoryExports","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"end_at":{"description":"End date/time of export range.","example":"2025-06-15T13:48:58.058Z","format":"date-time","type":"string","x-ms-summary":"End date/time of export range."},"query_action":{"description":"Filter results by this this action type. Valid values: `create`, `read`, `update`, `destroy`, `move`, `login`, `failedlogin`, `copy`, `user_create`, `user_update`, `user_destroy`, `group_create`, `group_update`, `group_destroy`, `permission_create`, `permission_destroy`, `api_key_create`, `api_key_update`, `api_key_destroy`","example":"read","type":"string","x-ms-summary":"Filter results by this this action type. Valid values: `create`, `read`, `update`, `destroy`, `move`, `login`, `failedlogin`, `copy`, `user_create`, `user_update`, `user_destroy`, `group_create`, `group_update`, `group_destroy`, `permission_create`, `permission_destroy`, `api_key_create`, `api_key_update`, `api_key_destroy`"},"query_destination":{"description":"Return results that are file moves with this path as destination.","example":"DestFolder","type":"string","x-ms-summary":"Return results that are file moves with this path as destination."},"query_failure_type":{"description":"If searching for Histories about login failures, this parameter restricts results to failures of this specific type.  Valid values: `expired_trial`, `account_overdue`, `locked_out`, `ip_mismatch`, `password_mismatch`, `site_mismatch`, `username_not_found`, `none`, `no_ftp_permission`, `no_web_permission`, `no_directory`, `errno_enoent`, `no_sftp_permission`, `no_dav_permission`, `no_restapi_permission`, `key_mismatch`, `region_mismatch`, `expired_access`, `desktop_ip_mismatch`, `desktop_api_key_not_used_quickly_enough`, `disabled`, `country_mismatch`","example":"bad_password","type":"string","x-ms-summary":"If searching for Histories about login failures, this parameter restricts results to failures of this specific type.  Valid values: `expired_trial`, `account_overdue`, `locked_out`, `ip_mismatch`, `password_mismatch`, `site_mismatch`, `username_not_found`, `none`, `no_ftp_permission`, `no_web_permission`, `no_directory`, `errno_enoent`, `no_sftp_permission`, `no_dav_permission`, `no_restapi_permission`, `key_mismatch`, `region_mismatch`, `expired_access`, `desktop_ip_mismatch`, `desktop_api_key_not_used_quickly_enough`, `disabled`, `country_mismatch`"},"query_file_id":{"description":"Return results that are file actions related to the file indicated by this File ID","example":"1","type":"string","x-ms-summary":"Return results that are file actions related to the file indicated by this File ID"},"query_folder":{"description":"Return results that are file actions related to files or folders inside this folder path.","example":"Folder","type":"string","x-ms-summary":"Return results that are file actions related to files or folders inside this folder path."},"query_interface":{"description":"Filter results by this this interface type. Valid values: `web`, `ftp`, `robot`, `jsapi`, `webdesktopapi`, `sftp`, `dav`, `desktop`, `restapi`, `scim`, `office`, `mobile`, `as2`, `inbound_email`, `remote`","example":"ftp","type":"string","x-ms-summary":"Filter results by this this interface type. Valid values: `web`, `ftp`, `robot`, `jsapi`, `webdesktopapi`, `sftp`, `dav`, `desktop`, `restapi`, `scim`, `office`, `mobile`, `as2`, `inbound_email`, `remote`"},"query_ip":{"description":"Filter results by this IP address.","example":"127.0.0.1","type":"string","x-ms-summary":"Filter results by this IP address."},"query_parent_id":{"description":"Return results that are file actions inside the parent folder specified by this folder ID","example":"1","type":"string","x-ms-summary":"Return results that are file actions inside the parent folder specified by this folder ID"},"query_path":{"description":"Return results that are file actions related to this path.","example":"MyFile.txt","type":"string","x-ms-summary":"Return results that are file actions related to this path."},"query_src":{"description":"Return results that are file moves originating from this path.","example":"SrcFolder","type":"string","x-ms-summary":"Return results that are file moves originating from this path."},"query_target_id":{"description":"If searching for Histories about specific objects (such as Users, or API Keys), this paremeter restricts results to objects that match this ID.","example":"1","type":"string","x-ms-summary":"If searching for Histories about specific objects (such as Users, or API Keys), this paremeter restricts results to objects that match this ID."},"query_target_name":{"description":"If searching for Histories about Users, Groups or other objects with names, this parameter restricts results to objects with this name/username.","example":"full","type":"string","x-ms-summary":"If searching for Histories about Users, Groups or other objects with names, this parameter restricts results to objects with this name/username."},"query_target_permission":{"description":"If searching for Histories about Permisisons, this parameter restricts results to permissions of this level.","example":"full","type":"string","x-ms-summary":"If searching for Histories about Permisisons, this parameter restricts results to permissions of this level."},"query_target_permission_set":{"description":"If searching for Histories about API keys, this parameter restricts results to API keys with this permission set.","example":"desktop_app","type":"string","x-ms-summary":"If searching for Histories about API keys, this parameter restricts results to API keys with this permission set."},"query_target_platform":{"description":"If searching for Histories about API keys, this parameter restricts results to API keys associated with this platform.","example":"windows","type":"string","x-ms-summary":"If searching for Histories about API keys, this parameter restricts results to API keys associated with this platform."},"query_target_user_id":{"description":"If searching for Histories about API keys, this parameter restricts results to API keys created by/for this user ID.","example":"1","type":"string","x-ms-summary":"If searching for Histories about API keys, this parameter restricts results to API keys created by/for this user ID."},"query_target_username":{"description":"If searching for Histories about API keys, this parameter restricts results to API keys created by/for this username.","example":"jerry","type":"string","x-ms-summary":"If searching for Histories about API keys, this parameter restricts results to API keys created by/for this username."},"query_user_id":{"description":"Return results that are actions performed by the user indiciated by this User ID","example":"1","type":"string","x-ms-summary":"Return results that are actions performed by the user indiciated by this User ID"},"query_username":{"description":"Filter results by this username.","example":"jerry","type":"string","x-ms-summary":"Filter results by this username."},"start_at":{"description":"Start date/time of export range.","example":"2025-06-15T13:48:58.058Z","format":"date-time","type":"string","x-ms-summary":"Start date/time of export range."},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryExportEntity"}}},"description":"The HistoryExports object.","x-ms-summary":"The HistoryExports object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create History Export","tags":["history_exports"],"x-authentication":["readonly_ok"]}},"/history_exports/{id}":{"get":{"description":"Show History Export","operationId":"GetHistoryExportsId","parameters":[{"description":"History Export ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"History Export ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryExportEntity"}}},"description":"The HistoryExports object.","x-ms-summary":"The HistoryExports object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show History Export","tags":["history_exports"],"x-authentication":["readonly_ok"]}},"/inbox_recipients":{"get":{"description":"List Inbox Recipients","operationId":"GetInboxRecipients","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[has_registrations]=desc`). Valid fields are `has_registrations`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[has_registrations]=desc`). Valid fields are `has_registrations`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `has_registrations`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `has_registrations`."},{"description":"List recipients for the inbox with this ID.","in":"query","name":"inbox_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"List recipients for the inbox with this ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InboxRecipientEntity"},"type":"array"}}},"description":"A list of InboxRecipients objects.","x-ms-summary":"A list of InboxRecipients objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Inbox Recipients","tags":["inbox_recipients"],"x-authentication":[]},"post":{"description":"Create Inbox Recipient","operationId":"PostInboxRecipients","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"company":{"description":"Company of recipient.","example":"Acme Ltd","type":"string","x-ms-summary":"Company of recipient."},"inbox_id":{"description":"Inbox to share.","format":"int32","type":"integer","x-ms-summary":"Inbox to share."},"name":{"description":"Name of recipient.","example":"John Smith","type":"string","x-ms-summary":"Name of recipient."},"note":{"description":"Note to include in email.","example":"Just a note.","type":"string","x-ms-summary":"Note to include in email."},"recipient":{"description":"Email address to share this inbox with.","example":"johndoe@gmail.com","type":"string","x-ms-summary":"Email address to share this inbox with."},"share_after_create":{"description":"Set to true to share the link with the recipient upon creation.","type":"boolean","x-ms-summary":"Set to true to share the link with the recipient upon creation."}},"required":["inbox_id","recipient"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxRecipientEntity"}}},"description":"The InboxRecipients object.","x-ms-summary":"The InboxRecipients object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Inbox Recipient","tags":["inbox_recipients"],"x-authentication":[]}},"/inbox_registrations":{"get":{"description":"List Inbox Registrations","operationId":"GetInboxRegistrations","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"ID of the associated Inbox.","in":"query","name":"folder_behavior_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"ID of the associated Inbox."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InboxRegistrationEntity"},"type":"array"}}},"description":"A list of InboxRegistrations objects.","x-ms-summary":"A list of InboxRegistrations objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Inbox Registrations","tags":["inbox_registrations"],"x-authentication":["folder_admin"]}},"/inbox_uploads":{"get":{"description":"List Inbox Uploads","operationId":"GetInboxUploads","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[created_at]=desc`). Valid fields are `created_at`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`."},{"description":"InboxRegistration ID","in":"query","name":"inbox_registration_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"InboxRegistration ID"},{"description":"Inbox ID","in":"query","name":"inbox_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Inbox ID"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InboxUploadEntity"},"type":"array"}}},"description":"A list of InboxUploads objects.","x-ms-summary":"A list of InboxUploads objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Inbox Uploads","tags":["inbox_uploads"],"x-authentication":["folder_admin"]}},"/invoices":{"get":{"description":"List Invoices","operationId":"GetInvoices","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AccountLineItemEntity"},"type":"array"}}},"description":"A list of Invoices objects.","x-ms-summary":"A list of Invoices objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Invoices","tags":["invoices"],"x-authentication":["overdue_ok","billing"]}},"/invoices/{id}":{"get":{"description":"Show Invoice","operationId":"GetInvoicesId","parameters":[{"description":"Invoice ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Invoice ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountLineItemEntity"}}},"description":"The Invoices object.","x-ms-summary":"The Invoices object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Invoice","tags":["invoices"],"x-authentication":["overdue_ok","billing"]}},"/ip_addresses":{"get":{"description":"List IP Addresses associated with the current site","operationId":"GetIpAddresses","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IpAddressEntity"},"type":"array"}}},"description":"A list of IpAddresses objects.","x-ms-summary":"A list of IpAddresses objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List IP Addresses associated with the current site","tags":["ip_addresses"],"x-authentication":["site","overdue_ok"],"x-path_aliases":["site/ip_addresses"]}},"/ip_addresses/exavault-reserved":{"get":{"description":"List all possible public ExaVault IP addresses","operationId":"GetIpAddressesExavaultReserved","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PublicIpAddressEntity"},"type":"array"}}},"description":"A list of IpAddresses objects.","x-ms-summary":"A list of IpAddresses objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List all possible public ExaVault IP addresses","tags":["ip_addresses"],"x-authentication":["none"]}},"/ip_addresses/reserved":{"get":{"description":"List all possible public IP addresses","operationId":"GetIpAddressesReserved","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PublicIpAddressEntity"},"type":"array"}}},"description":"A list of IpAddresses objects.","x-ms-summary":"A list of IpAddresses objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List all possible public IP addresses","tags":["ip_addresses"],"x-authentication":["none"]}},"/locks/{path}":{"delete":{"description":"Delete Lock","operationId":"DeleteLocksPath","parameters":[{"description":"Path","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path"},{"description":"Lock token","in":"query","name":"token","required":true,"schema":{"type":"string"},"x-ms-summary":"Lock token"}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Lock","tags":["locks"],"x-authentication":["native_app","office_integration"]},"get":{"description":"List Locks by path","operationId":"LockListForPath","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Path to operate on.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to operate on."},{"description":"Include locks from children objects?","in":"query","name":"include_children","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Include locks from children objects?"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LockEntity"},"type":"array"}}},"description":"A list of Locks objects.","x-ms-summary":"A list of Locks objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Locks by path","tags":["locks"],"x-authentication":["native_app","office_integration"]},"post":{"description":"Create Lock","operationId":"PostLocksPath","parameters":[{"description":"Path","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"allow_access_by_any_user":{"description":"Allow lock to be updated by any user?","type":"boolean","x-ms-summary":"Allow lock to be updated by any user?"},"exclusive":{"description":"Is lock exclusive?","type":"boolean","x-ms-summary":"Is lock exclusive?"},"recursive":{"description":"Does lock apply to subfolders?","type":"string","x-ms-summary":"Does lock apply to subfolders?"},"timeout":{"description":"Lock timeout length","format":"int32","type":"integer","x-ms-summary":"Lock timeout length"}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LockEntity"}}},"description":"The Locks object.","x-ms-summary":"The Locks object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Lock","tags":["locks"],"x-authentication":["native_app","office_integration"]}},"/message_comment_reactions":{"get":{"description":"List Message Comment Reactions","operationId":"GetMessageCommentReactions","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Message comment to return reactions for.","in":"query","name":"message_comment_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message comment to return reactions for."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MessageCommentReactionEntity"},"type":"array"}}},"description":"A list of MessageCommentReactions objects.","x-ms-summary":"A list of MessageCommentReactions objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Message Comment Reactions","tags":["message_comment_reactions"],"x-authentication":[]},"post":{"description":"Create Message Comment Reaction","operationId":"PostMessageCommentReactions","requestBody":{"$ref":"#/components/requestBodies/PostMessageCommentReactions"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageCommentReactionEntity"}}},"description":"The MessageCommentReactions object.","x-ms-summary":"The MessageCommentReactions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Message Comment Reaction","tags":["message_comment_reactions"],"x-authentication":[]}},"/message_comment_reactions/{id}":{"delete":{"description":"Delete Message Comment Reaction","operationId":"DeleteMessageCommentReactionsId","parameters":[{"description":"Message Comment Reaction ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message Comment Reaction ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Message Comment Reaction","tags":["message_comment_reactions"],"x-authentication":[]},"get":{"description":"Show Message Comment Reaction","operationId":"GetMessageCommentReactionsId","parameters":[{"description":"Message Comment Reaction ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message Comment Reaction ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageCommentReactionEntity"}}},"description":"The MessageCommentReactions object.","x-ms-summary":"The MessageCommentReactions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Message Comment Reaction","tags":["message_comment_reactions"],"x-authentication":[]}},"/message_comments":{"get":{"description":"List Message Comments","operationId":"GetMessageComments","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Message comment to return comments for.","in":"query","name":"message_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message comment to return comments for."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MessageCommentEntity"},"type":"array"}}},"description":"A list of MessageComments objects.","x-ms-summary":"A list of MessageComments objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Message Comments","tags":["message_comments"],"x-authentication":[]},"post":{"description":"Create Message Comment","operationId":"PostMessageComments","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"body":{"description":"Comment body.","type":"string","x-ms-summary":"Comment body."},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}},"required":["body"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageCommentEntity"}}},"description":"The MessageComments object.","x-ms-summary":"The MessageComments object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Message Comment","tags":["message_comments"],"x-authentication":[]}},"/message_comments/{id}":{"delete":{"description":"Delete Message Comment","operationId":"DeleteMessageCommentsId","parameters":[{"description":"Message Comment ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message Comment ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Message Comment","tags":["message_comments"],"x-authentication":[]},"get":{"description":"Show Message Comment","operationId":"GetMessageCommentsId","parameters":[{"description":"Message Comment ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message Comment ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageCommentEntity"}}},"description":"The MessageComments object.","x-ms-summary":"The MessageComments object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Message Comment","tags":["message_comments"],"x-authentication":[]},"patch":{"description":"Update Message Comment","operationId":"PatchMessageCommentsId","parameters":[{"description":"Message Comment ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message Comment ID."}],"requestBody":{"$ref":"#/components/requestBodies/PatchFileCommentsId"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageCommentEntity"}}},"description":"The MessageComments object.","x-ms-summary":"The MessageComments object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Message Comment","tags":["message_comments"],"x-authentication":[]}},"/message_reactions":{"get":{"description":"List Message Reactions","operationId":"GetMessageReactions","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Message to return reactions for.","in":"query","name":"message_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message to return reactions for."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MessageReactionEntity"},"type":"array"}}},"description":"A list of MessageReactions objects.","x-ms-summary":"A list of MessageReactions objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Message Reactions","tags":["message_reactions"],"x-authentication":[]},"post":{"description":"Create Message Reaction","operationId":"PostMessageReactions","requestBody":{"$ref":"#/components/requestBodies/PostMessageCommentReactions"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageReactionEntity"}}},"description":"The MessageReactions object.","x-ms-summary":"The MessageReactions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Message Reaction","tags":["message_reactions"],"x-authentication":[]}},"/message_reactions/{id}":{"delete":{"description":"Delete Message Reaction","operationId":"DeleteMessageReactionsId","parameters":[{"description":"Message Reaction ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message Reaction ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Message Reaction","tags":["message_reactions"],"x-authentication":[]},"get":{"description":"Show Message Reaction","operationId":"GetMessageReactionsId","parameters":[{"description":"Message Reaction ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message Reaction ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageReactionEntity"}}},"description":"The MessageReactions object.","x-ms-summary":"The MessageReactions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Message Reaction","tags":["message_reactions"],"x-authentication":[]}},"/messages":{"get":{"description":"List Messages","operationId":"GetMessages","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Project for which to return messages.","in":"query","name":"project_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Project for which to return messages."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MessageEntity"},"type":"array"}}},"description":"A list of Messages objects.","x-ms-summary":"A list of Messages objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Messages","tags":["messages"],"x-authentication":[]},"post":{"description":"Create Message","operationId":"PostMessages","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"body":{"description":"Message body.","example":"We should upgrade our Files.com account!","type":"string","x-ms-summary":"Message body."},"project_id":{"description":"Project to which the message should be attached.","format":"int32","type":"integer","x-ms-summary":"Project to which the message should be attached."},"subject":{"description":"Message subject.","example":"Files.com Account Upgrade","type":"string","x-ms-summary":"Message subject."},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}},"required":["project_id","subject","body"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageEntity"}}},"description":"The Messages object.","x-ms-summary":"The Messages object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Message","tags":["messages"],"x-authentication":[]}},"/messages/{id}":{"delete":{"description":"Delete Message","operationId":"DeleteMessagesId","parameters":[{"description":"Message ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Message","tags":["messages"],"x-authentication":[]},"get":{"description":"Show Message","operationId":"GetMessagesId","parameters":[{"description":"Message ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageEntity"}}},"description":"The Messages object.","x-ms-summary":"The Messages object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Message","tags":["messages"],"x-authentication":[]},"patch":{"description":"Update Message","operationId":"PatchMessagesId","parameters":[{"description":"Message ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Message ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"body":{"description":"Message body.","example":"We should upgrade our Files.com account!","type":"string","x-ms-summary":"Message body."},"project_id":{"description":"Project to which the message should be attached.","format":"int32","type":"integer","x-ms-summary":"Project to which the message should be attached."},"subject":{"description":"Message subject.","example":"Files.com Account Upgrade","type":"string","x-ms-summary":"Message subject."}},"required":["project_id","subject","body"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageEntity"}}},"description":"The Messages object.","x-ms-summary":"The Messages object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Message","tags":["messages"],"x-authentication":[]}},"/notifications":{"get":{"description":"List Notifications","operationId":"GetNotifications","parameters":[{"description":"DEPRECATED: Show notifications for this User ID. Use `filter[user_id]` instead.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"DEPRECATED: Show notifications for this User ID. Use `filter[user_id]` instead."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[path]=desc`). Valid fields are `path`, `user_id` or `group_id`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[path]=desc`). Valid fields are `path`, `user_id` or `group_id`."},{"description":"If set, return records where the specified field is equal to the supplied value.","in":"query","name":"group_id","required":false,"schema":{"type":"string"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `path`, `user_id` or `group_id`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `path`, `user_id` or `group_id`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`."},{"description":"Show notifications for this Path.","in":"query","name":"path","required":false,"schema":{"type":"string"},"x-ms-summary":"Show notifications for this Path."},{"description":"If `include_ancestors` is `true` and `path` is specified, include notifications for any parent paths. Ignored if `path` is not specified.","in":"query","name":"include_ancestors","required":false,"schema":{"type":"boolean"},"x-ms-summary":"If `include_ancestors` is `true` and `path` is specified, include notifications for any parent paths. Ignored if `path` is not specified."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/NotificationEntity"},"type":"array"}}},"description":"A list of Notifications objects.","x-ms-summary":"A list of Notifications objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Notifications","tags":["notifications"],"x-authentication":[]},"post":{"description":"Create Notification","operationId":"PostNotifications","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"group_id":{"description":"The ID of the group to notify.  Provide `user_id`, `username` or `group_id`.","format":"int32","type":"integer","x-ms-summary":"The ID of the group to notify.  Provide `user_id`, `username` or `group_id`."},"message":{"description":"Custom message to include in notification emails.","example":"custom notification email message","type":"string","x-ms-summary":"Custom message to include in notification emails."},"notify_on_copy":{"description":"If `true`, copying or moving resources into this path will trigger a notification, in addition to just uploads.","type":"boolean","x-ms-summary":"If `true`, copying or moving resources into this path will trigger a notification, in addition to just uploads."},"notify_on_delete":{"description":"Triggers notification when deleting files from this path","example":true,"type":"boolean","x-ms-summary":"Triggers notification when deleting files from this path"},"notify_on_download":{"description":"Triggers notification when downloading files from this path","example":true,"type":"boolean","x-ms-summary":"Triggers notification when downloading files from this path"},"notify_on_move":{"description":"Triggers notification when moving files to this path","example":true,"type":"boolean","x-ms-summary":"Triggers notification when moving files to this path"},"notify_on_upload":{"description":"Triggers notification when uploading new files to this path","example":true,"type":"boolean","x-ms-summary":"Triggers notification when uploading new files to this path"},"notify_user_actions":{"description":"If `true` actions initiated by the user will still result in a notification","type":"boolean","x-ms-summary":"If `true` actions initiated by the user will still result in a notification"},"path":{"description":"Path","type":"string","x-ms-summary":"Path"},"recursive":{"description":"If `true`, enable notifications for each subfolder in this path","type":"boolean","x-ms-summary":"If `true`, enable notifications for each subfolder in this path"},"send_interval":{"description":"The time interval that notifications are aggregated by.  Can be `five_minutes`, `fifteen_minutes`, `hourly`, or `daily`.","example":"daily","type":"string","x-ms-summary":"The time interval that notifications are aggregated by.  Can be `five_minutes`, `fifteen_minutes`, `hourly`, or `daily`."},"trigger_by_share_recipients":{"description":"Notify when actions are performed by a share recipient?","example":true,"type":"boolean","x-ms-summary":"Notify when actions are performed by a share recipient?"},"triggering_filenames":{"description":"Array of filenames (possibly with wildcards) to match for action path","example":["*.jpg","notify_file.txt"],"items":{"type":"string"},"type":"array","x-ms-summary":"Array of filenames (possibly with wildcards) to match for action path"},"triggering_group_ids":{"description":"Only notify on actions made by a member of one of the specified groups","example":[1],"items":{"format":"int32","type":"integer"},"type":"array","x-ms-summary":"Only notify on actions made by a member of one of the specified groups"},"triggering_user_ids":{"description":"Only notify on actions made one of the specified users","example":[1],"items":{"format":"int32","type":"integer"},"type":"array","x-ms-summary":"Only notify on actions made one of the specified users"},"user_id":{"description":"The id of the user to notify. Provide `user_id`, `username` or `group_id`.","format":"int32","type":"integer","x-ms-summary":"The id of the user to notify. Provide `user_id`, `username` or `group_id`."},"username":{"description":"The username of the user to notify.  Provide `user_id`, `username` or `group_id`.","type":"string","x-ms-summary":"The username of the user to notify.  Provide `user_id`, `username` or `group_id`."}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationEntity"}}},"description":"The Notifications object.","x-ms-summary":"The Notifications object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Notification","tags":["notifications"],"x-authentication":[]}},"/notifications/{id}":{"delete":{"description":"Delete Notification","operationId":"DeleteNotificationsId","parameters":[{"description":"Notification ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Notification ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Notification","tags":["notifications"],"x-authentication":[]},"get":{"description":"Show Notification","operationId":"GetNotificationsId","parameters":[{"description":"Notification ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Notification ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationEntity"}}},"description":"The Notifications object.","x-ms-summary":"The Notifications object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Notification","tags":["notifications"],"x-authentication":[]},"patch":{"description":"Update Notification","operationId":"PatchNotificationsId","parameters":[{"description":"Notification ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Notification ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"message":{"description":"Custom message to include in notification emails.","example":"custom notification email message","type":"string","x-ms-summary":"Custom message to include in notification emails."},"notify_on_copy":{"description":"If `true`, copying or moving resources into this path will trigger a notification, in addition to just uploads.","type":"boolean","x-ms-summary":"If `true`, copying or moving resources into this path will trigger a notification, in addition to just uploads."},"notify_on_delete":{"description":"Triggers notification when deleting files from this path","example":true,"type":"boolean","x-ms-summary":"Triggers notification when deleting files from this path"},"notify_on_download":{"description":"Triggers notification when downloading files from this path","example":true,"type":"boolean","x-ms-summary":"Triggers notification when downloading files from this path"},"notify_on_move":{"description":"Triggers notification when moving files to this path","example":true,"type":"boolean","x-ms-summary":"Triggers notification when moving files to this path"},"notify_on_upload":{"description":"Triggers notification when uploading new files to this path","example":true,"type":"boolean","x-ms-summary":"Triggers notification when uploading new files to this path"},"notify_user_actions":{"description":"If `true` actions initiated by the user will still result in a notification","type":"boolean","x-ms-summary":"If `true` actions initiated by the user will still result in a notification"},"recursive":{"description":"If `true`, enable notifications for each subfolder in this path","type":"boolean","x-ms-summary":"If `true`, enable notifications for each subfolder in this path"},"send_interval":{"description":"The time interval that notifications are aggregated by.  Can be `five_minutes`, `fifteen_minutes`, `hourly`, or `daily`.","example":"daily","type":"string","x-ms-summary":"The time interval that notifications are aggregated by.  Can be `five_minutes`, `fifteen_minutes`, `hourly`, or `daily`."},"trigger_by_share_recipients":{"description":"Notify when actions are performed by a share recipient?","example":true,"type":"boolean","x-ms-summary":"Notify when actions are performed by a share recipient?"},"triggering_filenames":{"description":"Array of filenames (possibly with wildcards) to match for action path","example":["*.jpg","notify_file.txt"],"items":{"type":"string"},"type":"array","x-ms-summary":"Array of filenames (possibly with wildcards) to match for action path"},"triggering_group_ids":{"description":"Only notify on actions made by a member of one of the specified groups","example":[1],"items":{"format":"int32","type":"integer"},"type":"array","x-ms-summary":"Only notify on actions made by a member of one of the specified groups"},"triggering_user_ids":{"description":"Only notify on actions made one of the specified users","example":[1],"items":{"format":"int32","type":"integer"},"type":"array","x-ms-summary":"Only notify on actions made one of the specified users"}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationEntity"}}},"description":"The Notifications object.","x-ms-summary":"The Notifications object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Notification","tags":["notifications"],"x-authentication":[]}},"/payments":{"get":{"description":"List Payments","operationId":"GetPayments","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AccountLineItemEntity"},"type":"array"}}},"description":"A list of Payments objects.","x-ms-summary":"A list of Payments objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Payments","tags":["payments"],"x-authentication":["overdue_ok","billing"]}},"/payments/{id}":{"get":{"description":"Show Payment","operationId":"GetPaymentsId","parameters":[{"description":"Payment ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Payment ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountLineItemEntity"}}},"description":"The Payments object.","x-ms-summary":"The Payments object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Payment","tags":["payments"],"x-authentication":["overdue_ok","billing"]}},"/permissions":{"get":{"description":"List Permissions","operationId":"GetPermissions","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[group_id]=desc`). Valid fields are `group_id`, `path`, `user_id` or `permission`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[group_id]=desc`). Valid fields are `group_id`, `path`, `user_id` or `permission`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`. Valid field combinations are `[ group_id, path ]` and `[ user_id, path ]`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`. Valid field combinations are `[ group_id, path ]` and `[ user_id, path ]`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`."},{"description":"DEPRECATED: Permission path.  If provided, will scope permissions to this path. Use `filter[path]` instead.","in":"query","name":"path","required":false,"schema":{"type":"string"},"x-ms-summary":"DEPRECATED: Permission path.  If provided, will scope permissions to this path. Use `filter[path]` instead."},{"description":"DEPRECATED: Group ID.  If provided, will scope permissions to this group. Use `filter[group_id]` instead.`","in":"query","name":"group_id","required":false,"schema":{"type":"string"},"x-ms-summary":"DEPRECATED: Group ID.  If provided, will scope permissions to this group. Use `filter[group_id]` instead.`"},{"description":"DEPRECATED: User ID.  If provided, will scope permissions to this user. Use `filter[user_id]` instead.`","in":"query","name":"user_id","required":false,"schema":{"type":"string"},"x-ms-summary":"DEPRECATED: User ID.  If provided, will scope permissions to this user. Use `filter[user_id]` instead.`"},{"description":"If searching by user or group, also include user's permissions that are inherited from its groups?","in":"query","name":"include_groups","required":false,"schema":{"type":"boolean"},"x-ms-summary":"If searching by user or group, also include user's permissions that are inherited from its groups?"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PermissionEntity"},"type":"array"}}},"description":"A list of Permissions objects.","x-ms-summary":"A list of Permissions objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Permissions","tags":["permissions"],"x-authentication":[],"x-path_aliases":["groups/:group_id/permissions","users/:user_id/permissions"]},"post":{"description":"Create Permission","operationId":"PostPermissions","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"group_id":{"description":"Group ID","format":"int32","type":"integer","x-ms-summary":"Group ID"},"path":{"description":"Folder path","type":"string","x-ms-summary":"Folder path"},"permission":{"description":" Permission type.  Can be `admin`, `full`, `readonly`, `writeonly`, `list`, or `history`","type":"string","x-ms-summary":" Permission type.  Can be `admin`, `full`, `readonly`, `writeonly`, `list`, or `history`"},"recursive":{"description":"Apply to subfolders recursively?","type":"boolean","x-ms-summary":"Apply to subfolders recursively?"},"user_id":{"description":"User ID.  Provide `username` or `user_id`","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide `username` or `user_id`"},"username":{"description":"User username.  Provide `username` or `user_id`","type":"string","x-ms-summary":"User username.  Provide `username` or `user_id`"}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionEntity"}}},"description":"The Permissions object.","x-ms-summary":"The Permissions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Permission","tags":["permissions"],"x-authentication":[]}},"/permissions/{id}":{"delete":{"description":"Delete Permission","operationId":"DeletePermissionsId","parameters":[{"description":"Permission ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Permission ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Permission","tags":["permissions"],"x-authentication":[]}},"/priorities":{"get":{"description":"List Priorities","operationId":"GetPriorities","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"The path to query for priorities","in":"query","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"The path to query for priorities"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PriorityEntity"},"type":"array"}}},"description":"A list of Priorities objects.","x-ms-summary":"A list of Priorities objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Priorities","tags":["priorities"],"x-authentication":[]}},"/projects":{"get":{"description":"List Projects","operationId":"GetProjects","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProjectEntity"},"type":"array"}}},"description":"A list of Projects objects.","x-ms-summary":"A list of Projects objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Projects","tags":["projects"],"x-authentication":["site"]},"post":{"description":"Create Project","operationId":"PostProjects","requestBody":{"$ref":"#/components/requestBodies/PatchProjectsId"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEntity"}}},"description":"The Projects object.","x-ms-summary":"The Projects object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Project","tags":["projects"],"x-authentication":["site"]}},"/projects/{id}":{"delete":{"description":"Delete Project","operationId":"DeleteProjectsId","parameters":[{"description":"Project ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Project ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Project","tags":["projects"],"x-authentication":["site"]},"get":{"description":"Show Project","operationId":"GetProjectsId","parameters":[{"description":"Project ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Project ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEntity"}}},"description":"The Projects object.","x-ms-summary":"The Projects object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Project","tags":["projects"],"x-authentication":["site"]},"patch":{"description":"Update Project","operationId":"PatchProjectsId","parameters":[{"description":"Project ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Project ID."}],"requestBody":{"$ref":"#/components/requestBodies/PatchProjectsId"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEntity"}}},"description":"The Projects object.","x-ms-summary":"The Projects object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Project","tags":["projects"],"x-authentication":["site"]}},"/public_keys":{"get":{"description":"List Public Keys","operationId":"GetPublicKeys","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PublicKeyEntity"},"type":"array"}}},"description":"A list of PublicKeys objects.","x-ms-summary":"A list of PublicKeys objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Public Keys","tags":["public_keys"],"x-authentication":["self_managed"],"x-path_aliases":["user/public_keys","users/:user_id/public_keys"]},"post":{"description":"Create Public Key","operationId":"PostPublicKeys","requestBody":{"$ref":"#/components/requestBodies/PostUserPublicKeys"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicKeyEntity"}}},"description":"The PublicKeys object.","x-ms-summary":"The PublicKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Public Key","tags":["public_keys"],"x-authentication":["self_managed"],"x-path_aliases":["user/public_keys","users/:user_id/public_keys"]}},"/public_keys/{id}":{"delete":{"description":"Delete Public Key","operationId":"DeletePublicKeysId","parameters":[{"description":"Public Key ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Public Key ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Public Key","tags":["public_keys"],"x-authentication":["self_managed"]},"get":{"description":"Show Public Key","operationId":"GetPublicKeysId","parameters":[{"description":"Public Key ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Public Key ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicKeyEntity"}}},"description":"The PublicKeys object.","x-ms-summary":"The PublicKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Public Key","tags":["public_keys"],"x-authentication":["self_managed"]},"patch":{"description":"Update Public Key","operationId":"PatchPublicKeysId","parameters":[{"description":"Public Key ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Public Key ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"title":{"description":"Internal reference for key.","example":"My Main Key","type":"string","x-ms-summary":"Internal reference for key."}},"required":["title"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicKeyEntity"}}},"description":"The PublicKeys object.","x-ms-summary":"The PublicKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Public Key","tags":["public_keys"],"x-authentication":["self_managed"]}},"/remote_bandwidth_snapshots":{"get":{"description":"List Remote Bandwidth Snapshots","operationId":"GetRemoteBandwidthSnapshots","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[logged_at]=desc`). Valid fields are `logged_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[logged_at]=desc`). Valid fields are `logged_at`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `logged_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `logged_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `logged_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `logged_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `logged_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `logged_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `logged_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `logged_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `logged_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `logged_at`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RemoteBandwidthSnapshotEntity"},"type":"array"}}},"description":"A list of RemoteBandwidthSnapshots objects.","x-ms-summary":"A list of RemoteBandwidthSnapshots objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Remote Bandwidth Snapshots","tags":["remote_bandwidth_snapshots"],"x-authentication":["site"]}},"/remote_servers":{"get":{"description":"List Remote Servers","operationId":"GetRemoteServers","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RemoteServerEntity"},"type":"array"}}},"description":"A list of RemoteServers objects.","x-ms-summary":"A list of RemoteServers objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Remote Servers","tags":["remote_servers"],"x-authentication":["site"]},"post":{"description":"Create Remote Server","operationId":"PostRemoteServers","requestBody":{"$ref":"#/components/requestBodies/PostRemoteServers"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteServerEntity"}}},"description":"The RemoteServers object.","x-ms-summary":"The RemoteServers object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Remote Server","tags":["remote_servers"],"x-authentication":["site"]}},"/remote_servers/{id}":{"delete":{"description":"Delete Remote Server","operationId":"DeleteRemoteServersId","parameters":[{"description":"Remote Server ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Remote Server ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Remote Server","tags":["remote_servers"],"x-authentication":["site"]},"get":{"description":"Show Remote Server","operationId":"GetRemoteServersId","parameters":[{"description":"Remote Server ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Remote Server ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteServerEntity"}}},"description":"The RemoteServers object.","x-ms-summary":"The RemoteServers object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Remote Server","tags":["remote_servers"],"x-authentication":["site"]},"patch":{"description":"Update Remote Server","operationId":"PatchRemoteServersId","parameters":[{"description":"Remote Server ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Remote Server ID."}],"requestBody":{"$ref":"#/components/requestBodies/PostRemoteServers"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteServerEntity"}}},"description":"The RemoteServers object.","x-ms-summary":"The RemoteServers object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Remote Server","tags":["remote_servers"],"x-authentication":["site"]}},"/remote_servers/{id}/configuration_file":{"get":{"description":"Download configuration file (required for some Remote Server integrations, such as the Files.com Agent)","operationId":"GetRemoteServersIdConfigurationFile","parameters":[{"description":"Remote Server ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Remote Server ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteServerConfigurationFileEntity"}}},"description":"The RemoteServers object.","x-ms-summary":"The RemoteServers object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Download configuration file (required for some Remote Server integrations, such as the Files.com Agent)","tags":["remote_servers"],"x-authentication":["site"]},"post":{"description":"Post local changes, check in, and download configuration file (used by some Remote Server integrations, such as the Files.com Agent)","operationId":"PostRemoteServersIdConfigurationFile","parameters":[{"description":"Remote Server ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Remote Server ID."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"api_token":{"description":"Files Agent API Token","example":"example","type":"string","x-ms-summary":"Files Agent API Token"},"config_version":{"description":"agent config version","example":"example","type":"string","x-ms-summary":"agent config version"},"hostname":{"example":"example","type":"string","x-ms-summary":null},"permission_set":{"example":"full","type":"string","x-ms-summary":""},"port":{"description":"Incoming port for files agent connections","example":1,"format":"int32","type":"integer","x-ms-summary":"Incoming port for files agent connections"},"private_key":{"description":"private key","example":"example","type":"string","x-ms-summary":"private key"},"public_key":{"description":"public key","example":"example","type":"string","x-ms-summary":"public key"},"root":{"description":"Agent local root path","example":"example","type":"string","x-ms-summary":"Agent local root path"},"server_host_key":{"example":"example","type":"string","x-ms-summary":null},"status":{"description":"either running or shutdown","example":"example","type":"string","x-ms-summary":"either running or shutdown"},"subdomain":{"example":"example","type":"string","x-ms-summary":null}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteServerConfigurationFileEntity"}}},"description":"The RemoteServers object.","x-ms-summary":"The RemoteServers object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Post local changes, check in, and download configuration file (used by some Remote Server integrations, such as the Files.com Agent)","tags":["remote_servers"],"x-authentication":["none"]}},"/requests":{"get":{"description":"List Requests","operationId":"GetRequests","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[destination]=desc`). Valid fields are `destination`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[destination]=desc`). Valid fields are `destination`."},{"description":"Only show requests of the current user?  (Defaults to true if current user is not a site admin.)","in":"query","name":"mine","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Only show requests of the current user?  (Defaults to true if current user is not a site admin.)"},{"description":"Path to show requests for.  If omitted, shows all paths. Send `/` to represent the root directory.","in":"query","name":"path","required":false,"schema":{"type":"string"},"x-ms-summary":"Path to show requests for.  If omitted, shows all paths. Send `/` to represent the root directory."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RequestEntity"},"type":"array"}}},"description":"A list of Requests objects.","x-ms-summary":"A list of Requests objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Requests","tags":["requests"],"x-authentication":[],"x-path_aliases":["requests/folders/*path"]},"post":{"description":"Create Request","operationId":"PostRequests","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"destination":{"description":"Destination filename (without extension) to request.","type":"string","x-ms-summary":"Destination filename (without extension) to request."},"group_ids":{"description":"A list of group IDs to request the file from. If sent as a string, it should be comma-delimited.","type":"string","x-ms-summary":"A list of group IDs to request the file from. If sent as a string, it should be comma-delimited."},"path":{"description":"Folder path on which to request the file.","type":"string","x-ms-summary":"Folder path on which to request the file."},"user_ids":{"description":"A list of user IDs to request the file from. If sent as a string, it should be comma-delimited.","type":"string","x-ms-summary":"A list of user IDs to request the file from. If sent as a string, it should be comma-delimited."}},"required":["path","destination"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestEntity"}}},"description":"The Requests object.","x-ms-summary":"The Requests object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Request","tags":["requests"],"x-authentication":[]}},"/requests/folders/{path}":{"get":{"description":"List Requests","operationId":"GetRequestsFoldersPath","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[destination]=desc`). Valid fields are `destination`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[destination]=desc`). Valid fields are `destination`."},{"description":"Only show requests of the current user?  (Defaults to true if current user is not a site admin.)","in":"query","name":"mine","required":false,"schema":{"type":"boolean"},"x-ms-summary":"Only show requests of the current user?  (Defaults to true if current user is not a site admin.)"},{"description":"Path to show requests for.  If omitted, shows all paths. Send `/` to represent the root directory.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Path to show requests for.  If omitted, shows all paths. Send `/` to represent the root directory."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RequestEntity"},"type":"array"}}},"description":"A list of Requests objects.","x-ms-summary":"A list of Requests objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Requests","tags":["requests"],"x-authentication":[],"x-path_aliases":["requests/folders/*path"]}},"/requests/{id}":{"delete":{"description":"Delete Request","operationId":"DeleteRequestsId","parameters":[{"description":"Request ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Request ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Request","tags":["requests"],"x-authentication":[]}},"/sessions":{"delete":{"description":"Delete user session (log out)","operationId":"DeleteSessions","responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete user session (log out)","tags":["sessions"],"x-authentication":[]},"post":{"description":"Create user session (log in)","operationId":"PostSessions","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"otp":{"description":"If this user has a 2FA device, provide its OTP or code here.","example":"123456","type":"string","x-ms-summary":"If this user has a 2FA device, provide its OTP or code here."},"partial_session_id":{"description":"Identifier for a partially-completed login","type":"string","x-ms-summary":"Identifier for a partially-completed login"},"password":{"description":"Password for sign in","example":"password","type":"string","x-ms-summary":"Password for sign in"},"username":{"description":"Username to sign in as","example":"username","type":"string","x-ms-summary":"Username to sign in as"}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionEntity"}}},"description":"The Sessions object.","x-ms-summary":"The Sessions object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create user session (log in)","tags":["sessions"],"x-authentication":[]}},"/settings_changes":{"get":{"description":"List Settings Changes","operationId":"GetSettingsChanges","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[api_key_id]=desc`). Valid fields are `api_key_id`, `created_at` or `user_id`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[api_key_id]=desc`). Valid fields are `api_key_id`, `created_at` or `user_id`."},{"description":"If set, return records where the specified field is equal to the supplied value.","in":"query","name":"api_key_id","required":false,"schema":{"type":"string"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value."},{"description":"If set, return records where the specified field is equal to the supplied value.","in":"query","name":"user_id","required":false,"schema":{"type":"string"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `api_key_id` and `user_id`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `api_key_id` and `user_id`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SettingsChangeEntity"},"type":"array"}}},"description":"A list of SettingsChanges objects.","x-ms-summary":"A list of SettingsChanges objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Settings Changes","tags":["settings_changes"],"x-authentication":["site"]}},"/sftp_host_keys":{"get":{"description":"List Sftp Host Keys","operationId":"GetSftpHostKeys","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SftpHostKeyEntity"},"type":"array"}}},"description":"A list of SftpHostKeys objects.","x-ms-summary":"A list of SftpHostKeys objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Sftp Host Keys","tags":["sftp_host_keys"],"x-authentication":["site"]},"post":{"description":"Create Sftp Host Key","operationId":"PostSftpHostKeys","requestBody":{"$ref":"#/components/requestBodies/PostSftpHostKeys"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SftpHostKeyEntity"}}},"description":"The SftpHostKeys object.","x-ms-summary":"The SftpHostKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Sftp Host Key","tags":["sftp_host_keys"],"x-authentication":["site"]}},"/sftp_host_keys/{id}":{"delete":{"description":"Delete Sftp Host Key","operationId":"DeleteSftpHostKeysId","parameters":[{"description":"Sftp Host Key ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Sftp Host Key ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Sftp Host Key","tags":["sftp_host_keys"],"x-authentication":["site"]},"get":{"description":"Show Sftp Host Key","operationId":"GetSftpHostKeysId","parameters":[{"description":"Sftp Host Key ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Sftp Host Key ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SftpHostKeyEntity"}}},"description":"The SftpHostKeys object.","x-ms-summary":"The SftpHostKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Sftp Host Key","tags":["sftp_host_keys"],"x-authentication":["site"]},"patch":{"description":"Update Sftp Host Key","operationId":"PatchSftpHostKeysId","parameters":[{"description":"Sftp Host Key ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Sftp Host Key ID."}],"requestBody":{"$ref":"#/components/requestBodies/PostSftpHostKeys"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SftpHostKeyEntity"}}},"description":"The SftpHostKeys object.","x-ms-summary":"The SftpHostKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Sftp Host Key","tags":["sftp_host_keys"],"x-authentication":["site"]}},"/site":{"get":{"description":"Show site settings","operationId":"GetSite","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteEntity"}}},"description":"The Site object.","x-ms-summary":"The Site object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show site settings","tags":["site"],"x-authentication":["site","overdue_ok"]},"patch":{"description":"Update site settings.","operationId":"PatchSite","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"active_sftp_host_key_id":{"description":"Id of the currently selected custom SFTP Host Key","format":"int32","type":"integer","x-ms-summary":"Id of the currently selected custom SFTP Host Key"},"allow_bundle_names":{"description":"Are manual Bundle names allowed?","type":"boolean","x-ms-summary":"Are manual Bundle names allowed?"},"allowed_2fa_method_bypass_for_ftp_sftp_dav":{"description":"Are users allowed to configure their two factor authentication to be bypassed for FTP/SFTP/WebDAV?","type":"boolean","x-ms-summary":"Are users allowed to configure their two factor authentication to be bypassed for FTP/SFTP/WebDAV?"},"allowed_2fa_method_sms":{"description":"Is SMS two factor authentication allowed?","type":"boolean","x-ms-summary":"Is SMS two factor authentication allowed?"},"allowed_2fa_method_totp":{"description":"Is TOTP two factor authentication allowed?","type":"boolean","x-ms-summary":"Is TOTP two factor authentication allowed?"},"allowed_2fa_method_u2f":{"description":"Is U2F two factor authentication allowed?","type":"boolean","x-ms-summary":"Is U2F two factor authentication allowed?"},"allowed_2fa_method_webauthn":{"description":"Is WebAuthn two factor authentication allowed?","type":"boolean","x-ms-summary":"Is WebAuthn two factor authentication allowed?"},"allowed_2fa_method_yubi":{"description":"Is yubikey two factor authentication allowed?","type":"boolean","x-ms-summary":"Is yubikey two factor authentication allowed?"},"allowed_countries":{"description":"Comma seperated list of allowed Country codes","type":"string","x-ms-summary":"Comma seperated list of allowed Country codes"},"allowed_ips":{"description":"List of allowed IP addresses","type":"string","x-ms-summary":"List of allowed IP addresses"},"ask_about_overwrites":{"description":"If false, rename conflicting files instead of asking for overwrite confirmation.  Only applies to web interface.","type":"boolean","x-ms-summary":"If false, rename conflicting files instead of asking for overwrite confirmation.  Only applies to web interface."},"bundle_activity_notifications":{"description":"Do Bundle owners receive activity notifications?","type":"string","x-ms-summary":"Do Bundle owners receive activity notifications?"},"bundle_expiration":{"description":"Site-wide Bundle expiration in days","format":"int32","type":"integer","x-ms-summary":"Site-wide Bundle expiration in days"},"bundle_password_required":{"description":"Do Bundles require password protection?","type":"boolean","x-ms-summary":"Do Bundles require password protection?"},"bundle_registration_notifications":{"description":"Do Bundle owners receive registration notification?","type":"string","x-ms-summary":"Do Bundle owners receive registration notification?"},"bundle_require_share_recipient":{"description":"Do Bundles require recipients for sharing?","type":"boolean","x-ms-summary":"Do Bundles require recipients for sharing?"},"bundle_upload_receipt_notifications":{"description":"Do Bundle uploaders receive upload confirmation notifications?","type":"string","x-ms-summary":"Do Bundle uploaders receive upload confirmation notifications?"},"bundle_watermark_attachment_delete":{"description":"If true, will delete the file stored in bundle_watermark_attachment","type":"boolean","x-ms-summary":"If true, will delete the file stored in bundle_watermark_attachment"},"bundle_watermark_attachment_file":{"format":"binary","type":"string","x-ms-summary":null},"bundle_watermark_value":{"description":"Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value","type":"object","x-ms-summary":"Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value"},"color2_left":{"description":"Page link and button color","type":"string","x-ms-summary":"Page link and button color"},"color2_link":{"description":"Top bar link color","type":"string","x-ms-summary":"Top bar link color"},"color2_text":{"description":"Page link and button color","type":"string","x-ms-summary":"Page link and button color"},"color2_top":{"description":"Top bar background color","type":"string","x-ms-summary":"Top bar background color"},"color2_top_text":{"description":"Top bar text color","type":"string","x-ms-summary":"Top bar text color"},"custom_namespace":{"description":"Is this site using a custom namespace for users?","type":"boolean","x-ms-summary":"Is this site using a custom namespace for users?"},"days_to_retain_backups":{"description":"Number of days to keep deleted files","format":"int32","type":"integer","x-ms-summary":"Number of days to keep deleted files"},"default_time_zone":{"description":"Site default time zone","type":"string","x-ms-summary":"Site default time zone"},"desktop_app":{"description":"Is the desktop app enabled?","type":"boolean","x-ms-summary":"Is the desktop app enabled?"},"desktop_app_session_ip_pinning":{"description":"Is desktop app session IP pinning enabled?","type":"boolean","x-ms-summary":"Is desktop app session IP pinning enabled?"},"desktop_app_session_lifetime":{"description":"Desktop app session lifetime (in hours)","format":"int32","type":"integer","x-ms-summary":"Desktop app session lifetime (in hours)"},"disable_2fa_with_delay":{"description":"If set to true, we will begin the process of disabling 2FA on this site.","type":"boolean","x-ms-summary":"If set to true, we will begin the process of disabling 2FA on this site."},"disable_files_certificate_generation":{"description":"If set, Files.com will not set the CAA records required to generate future SSL certificates for this domain.","type":"boolean","x-ms-summary":"If set, Files.com will not set the CAA records required to generate future SSL certificates for this domain."},"disable_password_reset":{"description":"Is password reset disabled?","type":"boolean","x-ms-summary":"Is password reset disabled?"},"disable_users_from_inactivity_period_days":{"description":"If greater than zero, users will unable to login if they do not show activity within this number of days.","format":"int32","type":"integer","x-ms-summary":"If greater than zero, users will unable to login if they do not show activity within this number of days."},"disallowed_countries":{"description":"Comma seperated list of disallowed Country codes","type":"string","x-ms-summary":"Comma seperated list of disallowed Country codes"},"domain":{"description":"Custom domain","type":"string","x-ms-summary":"Custom domain"},"domain_hsts_header":{"description":"Send HSTS (HTTP Strict Transport Security) header when visitors access the site via a custom domain?","type":"boolean","x-ms-summary":"Send HSTS (HTTP Strict Transport Security) header when visitors access the site via a custom domain?"},"domain_letsencrypt_chain":{"description":"Letsencrypt chain to use when registering SSL Certificate for domain.","type":"string","x-ms-summary":"Letsencrypt chain to use when registering SSL Certificate for domain."},"email":{"description":"Main email for this site","type":"string","x-ms-summary":"Main email for this site"},"folder_permissions_groups_only":{"description":"If true, permissions for this site must be bound to a group (not a user). Otherwise, permissions must be bound to a user.","type":"boolean","x-ms-summary":"If true, permissions for this site must be bound to a group (not a user). Otherwise, permissions must be bound to a user."},"ftp_enabled":{"description":"Is FTP enabled?","type":"boolean","x-ms-summary":"Is FTP enabled?"},"icon128_delete":{"description":"If true, will delete the file stored in icon128","type":"boolean","x-ms-summary":"If true, will delete the file stored in icon128"},"icon128_file":{"format":"binary","type":"string","x-ms-summary":null},"icon16_delete":{"description":"If true, will delete the file stored in icon16","type":"boolean","x-ms-summary":"If true, will delete the file stored in icon16"},"icon16_file":{"format":"binary","type":"string","x-ms-summary":null},"icon32_delete":{"description":"If true, will delete the file stored in icon32","type":"boolean","x-ms-summary":"If true, will delete the file stored in icon32"},"icon32_file":{"format":"binary","type":"string","x-ms-summary":null},"icon48_delete":{"description":"If true, will delete the file stored in icon48","type":"boolean","x-ms-summary":"If true, will delete the file stored in icon48"},"icon48_file":{"format":"binary","type":"string","x-ms-summary":null},"immutable_files":{"description":"Are files protected from modification?","type":"boolean","x-ms-summary":"Are files protected from modification?"},"include_password_in_welcome_email":{"description":"Include password in emails to new users?","type":"boolean","x-ms-summary":"Include password in emails to new users?"},"language":{"description":"Site default language","type":"string","x-ms-summary":"Site default language"},"ldap_base_dn":{"description":"Base DN for looking up users in LDAP server","type":"string","x-ms-summary":"Base DN for looking up users in LDAP server"},"ldap_domain":{"description":"Domain name that will be appended to usernames","type":"string","x-ms-summary":"Domain name that will be appended to usernames"},"ldap_enabled":{"description":"Main LDAP setting: is LDAP enabled?","type":"boolean","x-ms-summary":"Main LDAP setting: is LDAP enabled?"},"ldap_group_action":{"description":"Should we sync groups from LDAP server?","type":"string","x-ms-summary":"Should we sync groups from LDAP server?"},"ldap_group_exclusion":{"description":"Comma or newline separated list of group names (with optional wildcards) to exclude when syncing.","type":"string","x-ms-summary":"Comma or newline separated list of group names (with optional wildcards) to exclude when syncing."},"ldap_group_inclusion":{"description":"Comma or newline separated list of group names (with optional wildcards) to include when syncing.","type":"string","x-ms-summary":"Comma or newline separated list of group names (with optional wildcards) to include when syncing."},"ldap_host":{"description":"LDAP host","type":"string","x-ms-summary":"LDAP host"},"ldap_host_2":{"description":"LDAP backup host","type":"string","x-ms-summary":"LDAP backup host"},"ldap_host_3":{"description":"LDAP backup host","type":"string","x-ms-summary":"LDAP backup host"},"ldap_password_change":{"description":"New LDAP password.","type":"string","x-ms-summary":"New LDAP password."},"ldap_password_change_confirmation":{"description":"Confirm new LDAP password.","type":"string","x-ms-summary":"Confirm new LDAP password."},"ldap_port":{"description":"LDAP port","format":"int32","type":"integer","x-ms-summary":"LDAP port"},"ldap_secure":{"description":"Use secure LDAP?","type":"boolean","x-ms-summary":"Use secure LDAP?"},"ldap_type":{"description":"LDAP type","type":"string","x-ms-summary":"LDAP type"},"ldap_user_action":{"description":"Should we sync users from LDAP server?","type":"string","x-ms-summary":"Should we sync users from LDAP server?"},"ldap_user_include_groups":{"description":"Comma or newline separated list of group names (with optional wildcards) - if provided, only users in these groups will be added or synced.","type":"string","x-ms-summary":"Comma or newline separated list of group names (with optional wildcards) - if provided, only users in these groups will be added or synced."},"ldap_username":{"description":"Username for signing in to LDAP server.","type":"string","x-ms-summary":"Username for signing in to LDAP server."},"ldap_username_field":{"description":"LDAP username field","type":"string","x-ms-summary":"LDAP username field"},"login_help_text":{"description":"Login help text","type":"string","x-ms-summary":"Login help text"},"logo_delete":{"description":"If true, will delete the file stored in logo","type":"boolean","x-ms-summary":"If true, will delete the file stored in logo"},"logo_file":{"format":"binary","type":"string","x-ms-summary":null},"max_prior_passwords":{"description":"Number of prior passwords to disallow","format":"int32","type":"integer","x-ms-summary":"Number of prior passwords to disallow"},"mobile_app":{"description":"Is the mobile app enabled?","type":"boolean","x-ms-summary":"Is the mobile app enabled?"},"mobile_app_session_ip_pinning":{"description":"Is mobile app session IP pinning enabled?","type":"boolean","x-ms-summary":"Is mobile app session IP pinning enabled?"},"mobile_app_session_lifetime":{"description":"Mobile app session lifetime (in hours)","format":"int32","type":"integer","x-ms-summary":"Mobile app session lifetime (in hours)"},"motd_text":{"description":"A message to show users when they connect via FTP or SFTP.","type":"string","x-ms-summary":"A message to show users when they connect via FTP or SFTP."},"motd_use_for_ftp":{"description":"Show message to users connecting via FTP","type":"boolean","x-ms-summary":"Show message to users connecting via FTP"},"motd_use_for_sftp":{"description":"Show message to users connecting via SFTP","type":"boolean","x-ms-summary":"Show message to users connecting via SFTP"},"name":{"description":"Site name","type":"string","x-ms-summary":"Site name"},"non_sso_groups_allowed":{"description":"If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider.","type":"boolean","x-ms-summary":"If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider."},"non_sso_users_allowed":{"description":"If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider.","type":"boolean","x-ms-summary":"If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider."},"office_integration_available":{"description":"Allow users to use Office for the web?","type":"boolean","x-ms-summary":"Allow users to use Office for the web?"},"office_integration_type":{"description":"Office integration application used to edit and view the MS Office documents","type":"string","x-ms-summary":"Office integration application used to edit and view the MS Office documents"},"opt_out_global":{"description":"Use servers in the USA only?","type":"boolean","x-ms-summary":"Use servers in the USA only?"},"password_min_length":{"description":"Shortest password length for users","format":"int32","type":"integer","x-ms-summary":"Shortest password length for users"},"password_require_letter":{"description":"Require a letter in passwords?","type":"boolean","x-ms-summary":"Require a letter in passwords?"},"password_require_mixed":{"description":"Require lower and upper case letters in passwords?","type":"boolean","x-ms-summary":"Require lower and upper case letters in passwords?"},"password_require_number":{"description":"Require a number in passwords?","type":"boolean","x-ms-summary":"Require a number in passwords?"},"password_require_special":{"description":"Require special characters in password?","type":"boolean","x-ms-summary":"Require special characters in password?"},"password_require_unbreached":{"description":"Require passwords that have not been previously breached? (see https://haveibeenpwned.com/)","type":"boolean","x-ms-summary":"Require passwords that have not been previously breached? (see https://haveibeenpwned.com/)"},"password_requirements_apply_to_bundles":{"description":"Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?","type":"boolean","x-ms-summary":"Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?"},"password_validity_days":{"description":"Number of days password is valid","format":"int32","type":"integer","x-ms-summary":"Number of days password is valid"},"pin_all_remote_servers_to_site_region":{"description":"If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings.","type":"boolean","x-ms-summary":"If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings."},"reply_to_email":{"description":"Reply-to email for this site","type":"string","x-ms-summary":"Reply-to email for this site"},"require_2fa":{"description":"Require two-factor authentication for all users?","type":"boolean","x-ms-summary":"Require two-factor authentication for all users?"},"require_2fa_user_type":{"description":"What type of user is required to use two-factor authentication (when require_2fa is set to `true` for this site)?","type":"string","x-ms-summary":"What type of user is required to use two-factor authentication (when require_2fa is set to `true` for this site)?"},"session_expiry":{"description":"Session expiry in hours","format":"double","type":"number","x-ms-summary":"Session expiry in hours"},"session_expiry_minutes":{"description":"Session expiry in minutes","format":"int32","type":"integer","x-ms-summary":"Session expiry in minutes"},"session_pinned_by_ip":{"description":"Are sessions locked to the same IP? (i.e. do users need to log in again if they change IPs?)","type":"boolean","x-ms-summary":"Are sessions locked to the same IP? (i.e. do users need to log in again if they change IPs?)"},"sftp_enabled":{"description":"Is SFTP enabled?","type":"boolean","x-ms-summary":"Is SFTP enabled?"},"sftp_host_key_type":{"description":"Sftp Host Key Type","type":"string","x-ms-summary":"Sftp Host Key Type"},"sftp_insecure_ciphers":{"description":"Are Insecure Ciphers allowed for SFTP?  Note:  Settting TLS Disabled -> True will always allow insecure ciphers for SFTP as well.  Enabling this is insecure.","type":"boolean","x-ms-summary":"Are Insecure Ciphers allowed for SFTP?  Note:  Settting TLS Disabled -> True will always allow insecure ciphers for SFTP as well.  Enabling this is insecure."},"sftp_user_root_enabled":{"description":"Use user FTP roots also for SFTP?","type":"boolean","x-ms-summary":"Use user FTP roots also for SFTP?"},"sharing_enabled":{"description":"Allow bundle creation","type":"boolean","x-ms-summary":"Allow bundle creation"},"show_request_access_link":{"description":"Show request access link for users without access?  Currently unused.","type":"boolean","x-ms-summary":"Show request access link for users without access?  Currently unused."},"site_footer":{"description":"Custom site footer text","type":"string","x-ms-summary":"Custom site footer text"},"site_header":{"description":"Custom site header text","type":"string","x-ms-summary":"Custom site header text"},"smtp_address":{"description":"SMTP server hostname or IP","type":"string","x-ms-summary":"SMTP server hostname or IP"},"smtp_authentication":{"description":"SMTP server authentication type","type":"string","x-ms-summary":"SMTP server authentication type"},"smtp_from":{"description":"From address to use when mailing through custom SMTP","type":"string","x-ms-summary":"From address to use when mailing through custom SMTP"},"smtp_password":{"description":"Password for SMTP server.","type":"string","x-ms-summary":"Password for SMTP server."},"smtp_port":{"description":"SMTP server port","format":"int32","type":"integer","x-ms-summary":"SMTP server port"},"smtp_username":{"description":"SMTP server username","type":"string","x-ms-summary":"SMTP server username"},"ssl_required":{"description":"Is SSL required?  Disabling this is insecure.","type":"boolean","x-ms-summary":"Is SSL required?  Disabling this is insecure."},"subdomain":{"description":"Site subdomain","type":"string","x-ms-summary":"Site subdomain"},"tls_disabled":{"description":"Are Insecure TLS and SFTP Ciphers allowed?  Enabling this is insecure.","type":"boolean","x-ms-summary":"Are Insecure TLS and SFTP Ciphers allowed?  Enabling this is insecure."},"uploads_via_email_authentication":{"description":"Do incoming emails in the Inboxes require checking for SPF/DKIM/DMARC?","type":"boolean","x-ms-summary":"Do incoming emails in the Inboxes require checking for SPF/DKIM/DMARC?"},"use_provided_modified_at":{"description":"Allow uploaders to set `provided_modified_at` for uploaded files?","type":"boolean","x-ms-summary":"Allow uploaders to set `provided_modified_at` for uploaded files?"},"user_lockout":{"description":"Will users be locked out after incorrect login attempts?","type":"boolean","x-ms-summary":"Will users be locked out after incorrect login attempts?"},"user_lockout_lock_period":{"description":"How many hours to lock user out for failed password?","format":"int32","type":"integer","x-ms-summary":"How many hours to lock user out for failed password?"},"user_lockout_tries":{"description":"Number of login tries within `user_lockout_within` hours before users are locked out","format":"int32","type":"integer","x-ms-summary":"Number of login tries within `user_lockout_within` hours before users are locked out"},"user_lockout_within":{"description":"Number of hours for user lockout window","format":"int32","type":"integer","x-ms-summary":"Number of hours for user lockout window"},"user_requests_enabled":{"description":"Enable User Requests feature","type":"boolean","x-ms-summary":"Enable User Requests feature"},"user_requests_notify_admins":{"description":"Send email to site admins when a user request is received?","type":"boolean","x-ms-summary":"Send email to site admins when a user request is received?"},"welcome_custom_text":{"description":"Custom text send in user welcome email","type":"string","x-ms-summary":"Custom text send in user welcome email"},"welcome_email_cc":{"description":"Include this email in welcome emails if enabled","type":"string","x-ms-summary":"Include this email in welcome emails if enabled"},"welcome_email_enabled":{"description":"Will the welcome email be sent to new users?","type":"boolean","x-ms-summary":"Will the welcome email be sent to new users?"},"welcome_email_subject":{"description":"Include this email subject in welcome emails if enabled","type":"string","x-ms-summary":"Include this email subject in welcome emails if enabled"},"welcome_screen":{"description":"Does the welcome screen appear?","type":"string","x-ms-summary":"Does the welcome screen appear?"},"windows_mode_ftp":{"description":"Does FTP user Windows emulation mode?","type":"boolean","x-ms-summary":"Does FTP user Windows emulation mode?"}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteEntity"}}},"description":"The Site object.","x-ms-summary":"The Site object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update site settings.","tags":["site"],"x-authentication":["site","overdue_ok"],"x-reauthentication":{"params":["email","require_2fa","require_2fa_user_type","disable_2fa_with_delay"],"required":true}}},"/site/api_keys":{"get":{"description":"List Api Keys","operationId":"GetSiteApiKeys","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[expires_at]=desc`). Valid fields are `expires_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[expires_at]=desc`). Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `expires_at`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiKeyEntity"},"type":"array"}}},"description":"A list of ApiKeys objects.","x-ms-summary":"A list of ApiKeys objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Api Keys","tags":["site"],"x-authentication":["self_managed"],"x-path_aliases":["site/api_keys","user/api_keys","users/:user_id/api_keys"]},"post":{"description":"Create Api Key","operationId":"PostSiteApiKeys","requestBody":{"$ref":"#/components/requestBodies/PostApiKeys"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyEntity"}}},"description":"The ApiKeys object.","x-ms-summary":"The ApiKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Api Key","tags":["site"],"x-authentication":[],"x-path_aliases":["site/api_keys","user/api_keys","users/:user_id/api_keys"]}},"/site/dns_records":{"get":{"description":"Show site DNS configuration.","operationId":"GetSiteDnsRecords","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DnsRecordEntity"},"type":"array"}}},"description":"A list of DnsRecords objects.","x-ms-summary":"A list of DnsRecords objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show site DNS configuration.","tags":["site"],"x-authentication":["site","overdue_ok"],"x-path_aliases":["site/dns_records"]}},"/site/ip_addresses":{"get":{"description":"List IP Addresses associated with the current site","operationId":"GetSiteIpAddresses","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IpAddressEntity"},"type":"array"}}},"description":"A list of IpAddresses objects.","x-ms-summary":"A list of IpAddresses objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List IP Addresses associated with the current site","tags":["site"],"x-authentication":["site","overdue_ok"],"x-path_aliases":["site/ip_addresses"]}},"/site/test-webhook":{"post":{"description":"Test webhook.","operationId":"PostSiteTestWebhook","requestBody":{"$ref":"#/components/requestBodies/PostSiteTestWebhook"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusEntity"}}},"description":"The Behaviors object.","x-ms-summary":"The Behaviors object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Test webhook.","tags":["site"],"x-authentication":["folder_admin"],"x-path_aliases":["site/test-webhook"]}},"/site/usage":{"get":{"description":"Get the most recent usage snapshot (usage data for billing purposes) for a Site.","operationId":"GetSiteUsage","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageSnapshotEntity"}}},"description":"The Site object.","x-ms-summary":"The Site object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Get the most recent usage snapshot (usage data for billing purposes) for a Site.","tags":["site"],"x-authentication":["site","overdue_ok","billing"]}},"/sso_strategies":{"get":{"description":"List Sso Strategies","operationId":"GetSsoStrategies","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SsoStrategyEntity"},"type":"array"}}},"description":"A list of SsoStrategies objects.","x-ms-summary":"A list of SsoStrategies objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Sso Strategies","tags":["sso_strategies"],"x-authentication":["site"]}},"/sso_strategies/{id}":{"get":{"description":"Show Sso Strategy","operationId":"GetSsoStrategiesId","parameters":[{"description":"Sso Strategy ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Sso Strategy ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SsoStrategyEntity"}}},"description":"The SsoStrategies object.","x-ms-summary":"The SsoStrategies object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Sso Strategy","tags":["sso_strategies"],"x-authentication":["site"]}},"/sso_strategies/{id}/sync":{"post":{"description":"Synchronize provisioning data with the SSO remote server.","operationId":"PostSsoStrategiesIdSync","parameters":[{"description":"Sso Strategy ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Sso Strategy ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Synchronize provisioning data with the SSO remote server.","tags":["sso_strategies"],"x-authentication":["site"]}},"/styles/{path}":{"delete":{"description":"Delete Style","operationId":"DeleteStylesPath","parameters":[{"description":"Style path.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Style path."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete Style","tags":["styles"],"x-authentication":["site"]},"get":{"description":"Show Style","operationId":"GetStylesPath","parameters":[{"description":"Style path.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Style path."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleEntity"}}},"description":"The Styles object.","x-ms-summary":"The Styles object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show Style","tags":["styles"],"x-authentication":[]},"patch":{"description":"Update Style","operationId":"PatchStylesPath","parameters":[{"description":"Style path.","in":"path","name":"path","required":true,"schema":{"type":"string"},"x-ms-summary":"Style path."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file":{"description":"Logo for custom branding.","format":"binary","type":"string","x-ms-summary":"Logo for custom branding."}},"required":["file"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleEntity"}}},"description":"The Styles object.","x-ms-summary":"The Styles object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update Style","tags":["styles"],"x-authentication":["site"]}},"/usage_daily_snapshots":{"get":{"description":"List Usage Daily Snapshots","operationId":"GetUsageDailySnapshots","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[date]=desc`). Valid fields are `date` and `usage_snapshot_id`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[date]=desc`). Valid fields are `date` and `usage_snapshot_id`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `date` and `usage_snapshot_id`. Valid field combinations are `[ usage_snapshot_id, date ]`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `date` and `usage_snapshot_id`. Valid field combinations are `[ usage_snapshot_id, date ]`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `date`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `date`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `date`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `date`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `date`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `date`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `date`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `date`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UsageDailySnapshotEntity"},"type":"array"}}},"description":"A list of UsageDailySnapshots objects.","x-ms-summary":"A list of UsageDailySnapshots objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Usage Daily Snapshots","tags":["usage_daily_snapshots"],"x-authentication":["site"]}},"/usage_snapshots":{"get":{"description":"List Usage Snapshots","operationId":"GetUsageSnapshots","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UsageSnapshotEntity"},"type":"array"}}},"description":"A list of UsageSnapshots objects.","x-ms-summary":"A list of UsageSnapshots objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Usage Snapshots","tags":["usage_snapshots"],"x-authentication":["site"]}},"/user":{"patch":{"description":"Update User","operationId":"PatchUser","requestBody":{"$ref":"#/components/requestBodies/PatchUser"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEntity"}}},"description":"The Users object.","x-ms-summary":"The Users object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update User","tags":["user"],"x-authentication":["self_managed"],"x-path_aliases":["user"],"x-reauthentication":{"params":["password","change_password","email","site_admin"],"required":true}}},"/user/api_keys":{"get":{"description":"List Api Keys","operationId":"GetUserApiKeys","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[expires_at]=desc`). Valid fields are `expires_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[expires_at]=desc`). Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `expires_at`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiKeyEntity"},"type":"array"}}},"description":"A list of ApiKeys objects.","x-ms-summary":"A list of ApiKeys objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Api Keys","tags":["user"],"x-authentication":["self_managed"],"x-path_aliases":["site/api_keys","user/api_keys","users/:user_id/api_keys"]},"post":{"description":"Create Api Key","operationId":"PostUserApiKeys","requestBody":{"$ref":"#/components/requestBodies/PostApiKeys"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyEntity"}}},"description":"The ApiKeys object.","x-ms-summary":"The ApiKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Api Key","tags":["user"],"x-authentication":[],"x-path_aliases":["site/api_keys","user/api_keys","users/:user_id/api_keys"]}},"/user/groups":{"get":{"description":"List Group Users","operationId":"GetUserGroups","parameters":[{"description":"User ID.  If provided, will return group_users of this user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  If provided, will return group_users of this user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Group ID.  If provided, will return group_users of this group.","in":"query","name":"group_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID.  If provided, will return group_users of this group."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GroupUserEntity"},"type":"array"}}},"description":"A list of GroupUsers objects.","x-ms-summary":"A list of GroupUsers objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Group Users","tags":["user"],"x-authentication":[],"x-path_aliases":["user/groups","users/:user_id/groups","groups/:group_id/users"]}},"/user/public_keys":{"get":{"description":"List Public Keys","operationId":"GetUserPublicKeys","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PublicKeyEntity"},"type":"array"}}},"description":"A list of PublicKeys objects.","x-ms-summary":"A list of PublicKeys objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Public Keys","tags":["user"],"x-authentication":["self_managed"],"x-path_aliases":["user/public_keys","users/:user_id/public_keys"]},"post":{"description":"Create Public Key","operationId":"PostUserPublicKeys","requestBody":{"$ref":"#/components/requestBodies/PostUserPublicKeys"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicKeyEntity"}}},"description":"The PublicKeys object.","x-ms-summary":"The PublicKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Public Key","tags":["user"],"x-authentication":["self_managed"],"x-path_aliases":["user/public_keys","users/:user_id/public_keys"]}},"/user_cipher_uses":{"get":{"description":"List User Cipher Uses","operationId":"GetUserCipherUses","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"query","name":"user_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UserCipherUseEntity"},"type":"array"}}},"description":"A list of UserCipherUses objects.","x-ms-summary":"A list of UserCipherUses objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List User Cipher Uses","tags":["user_cipher_uses"],"x-authentication":["self_managed"],"x-path_aliases":["users/:user_id/cipher_uses"]}},"/user_requests":{"get":{"description":"List User Requests","operationId":"GetUserRequests","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UserRequestEntity"},"type":"array"}}},"description":"A list of UserRequests objects.","x-ms-summary":"A list of UserRequests objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List User Requests","tags":["user_requests"],"x-authentication":["site"]},"post":{"description":"Create User Request","operationId":"PostUserRequests","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"details":{"description":"Details of the user request","type":"string","x-ms-summary":"Details of the user request"},"email":{"description":"Email of user requested","type":"string","x-ms-summary":"Email of user requested"},"name":{"description":"Name of user requested","type":"string","x-ms-summary":"Name of user requested"}},"required":["name","email","details"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRequestEntity"}}},"description":"The UserRequests object.","x-ms-summary":"The UserRequests object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create User Request","tags":["user_requests"],"x-authentication":["none"]}},"/user_requests/{id}":{"delete":{"description":"Delete User Request","operationId":"DeleteUserRequestsId","parameters":[{"description":"User Request ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User Request ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete User Request","tags":["user_requests"],"x-authentication":["site"]},"get":{"description":"Show User Request","operationId":"GetUserRequestsId","parameters":[{"description":"User Request ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User Request ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRequestEntity"}}},"description":"The UserRequests object.","x-ms-summary":"The UserRequests object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show User Request","tags":["user_requests"],"x-authentication":["site"]}},"/users":{"get":{"description":"List Users","operationId":"GetUsers","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[authenticate_until]=desc`). Valid fields are `authenticate_until`, `active`, `email`, `last_desktop_login_at`, `last_login_at`, `username`, `company`, `name`, `site_admin`, `receive_admin_alerts`, `password_validity_days`, `ssl_required` or `not_site_admin`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[authenticate_until]=desc`). Valid fields are `authenticate_until`, `active`, `email`, `last_desktop_login_at`, `last_login_at`, `username`, `company`, `name`, `site_admin`, `receive_admin_alerts`, `password_validity_days`, `ssl_required` or `not_site_admin`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `username`, `email`, `company`, `site_admin`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`. Valid field combinations are `[ not_site_admin, username ]`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `username`, `email`, `company`, `site_admin`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`. Valid field combinations are `[ not_site_admin, username ]`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `username`, `email` or `company`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `username`, `email` or `company`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`."},{"description":"comma-separated list of User IDs","in":"query","name":"ids","required":false,"schema":{"type":"string"},"x-ms-summary":"comma-separated list of User IDs"},{"description":"List users matching username.","in":"query","name":"q[username]","required":false,"schema":{"type":"string"},"x-ms-summary":"List users matching username."},{"description":"List users matching email.","in":"query","name":"q[email]","required":false,"schema":{"type":"string"},"x-ms-summary":"List users matching email."},{"description":"List users matching notes field.","in":"query","name":"q[notes]","required":false,"schema":{"type":"string"},"x-ms-summary":"List users matching notes field."},{"description":"If `true`, list only admin users.","in":"query","name":"q[admin]","required":false,"schema":{"type":"string"},"x-ms-summary":"If `true`, list only admin users."},{"description":"If set, list only users with overridden allowed IP setting.","in":"query","name":"q[allowed_ips]","required":false,"schema":{"type":"string"},"x-ms-summary":"If set, list only users with overridden allowed IP setting."},{"description":"If set, list only users with overridden password validity days setting.","in":"query","name":"q[password_validity_days]","required":false,"schema":{"type":"string"},"x-ms-summary":"If set, list only users with overridden password validity days setting."},{"description":"If set, list only users with overridden SSL required setting.","in":"query","name":"q[ssl_required]","required":false,"schema":{"type":"string"},"x-ms-summary":"If set, list only users with overridden SSL required setting."},{"description":"Searches for partial matches of name, username, or email.","in":"query","name":"search","required":false,"schema":{"type":"string"},"x-ms-summary":"Searches for partial matches of name, username, or email."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UserEntity"},"type":"array"}}},"description":"A list of Users objects.","x-ms-summary":"A list of Users objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Users","tags":["users"],"x-authentication":["folder_admin","overdue_ok"]},"post":{"description":"Create User","operationId":"PostUsers","requestBody":{"$ref":"#/components/requestBodies/PatchUser"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEntity"}}},"description":"The Users object.","x-ms-summary":"The Users object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create User","tags":["users"],"x-authentication":[],"x-path_aliases":["groups/:group_id/users"]}},"/users/{id}":{"delete":{"description":"Delete User","operationId":"DeleteUsersId","parameters":[{"description":"User ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Delete User","tags":["users"],"x-authentication":["site","overdue_ok"],"x-reauthentication":{"always":true,"required":true}},"get":{"description":"Show User","operationId":"GetUsersId","parameters":[{"description":"User ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEntity"}}},"description":"The Users object.","x-ms-summary":"The Users object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Show User","tags":["users"],"x-authentication":["folder_admin","overdue_ok"]},"patch":{"description":"Update User","operationId":"PatchUsersId","parameters":[{"description":"User ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID."}],"requestBody":{"$ref":"#/components/requestBodies/PatchUser"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEntity"}}},"description":"The Users object.","x-ms-summary":"The Users object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Update User","tags":["users"],"x-authentication":["self_managed"],"x-path_aliases":["user"],"x-reauthentication":{"params":["password","change_password","email","site_admin"],"required":true}}},"/users/{id}/2fa/reset":{"post":{"description":"Trigger 2FA Reset process for user who has lost access to their existing 2FA methods.","operationId":"PostUsersId2faReset","parameters":[{"description":"User ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Trigger 2FA Reset process for user who has lost access to their existing 2FA methods.","tags":["users"],"x-authentication":["site","overdue_ok"],"x-reauthentication":{"always":true,"required":true}}},"/users/{id}/resend_welcome_email":{"post":{"description":"Resend user welcome email","operationId":"PostUsersIdResendWelcomeEmail","parameters":[{"description":"User ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Resend user welcome email","tags":["users"],"x-authentication":["site","overdue_ok"]}},"/users/{id}/unlock":{"post":{"description":"Unlock user who has been locked out due to failed logins.","operationId":"PostUsersIdUnlock","parameters":[{"description":"User ID.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID."}],"responses":{"204":{"description":"No body.","x-ms-summary":"No body."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Unlock user who has been locked out due to failed logins.","tags":["users"],"x-authentication":["site","overdue_ok"]}},"/users/{user_id}/api_keys":{"get":{"description":"List Api Keys","operationId":"GetUsersUserIdApiKeys","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"path","name":"user_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[expires_at]=desc`). Valid fields are `expires_at`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[expires_at]=desc`). Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_gt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_gteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is less than the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_lt","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than the supplied value. Valid fields are `expires_at`."},{"description":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `expires_at`.","in":"query","name":"filter_lteq","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is less than or equal the supplied value. Valid fields are `expires_at`."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiKeyEntity"},"type":"array"}}},"description":"A list of ApiKeys objects.","x-ms-summary":"A list of ApiKeys objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Api Keys","tags":["users"],"x-authentication":["self_managed"],"x-path_aliases":["site/api_keys","user/api_keys","users/:user_id/api_keys"]},"post":{"description":"Create Api Key","operationId":"PostUsersUserIdApiKeys","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"path","name":"user_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"description":{"description":"User-supplied description of API key.","example":"example","type":"string","x-ms-summary":"User-supplied description of API key."},"expires_at":{"description":"API Key expiration date","example":"2025-06-15T13:48:58.064Z","format":"date-time","type":"string","x-ms-summary":"API Key expiration date"},"name":{"description":"Internal name for the API Key.  For your use.","example":"My Main API Key","type":"string","x-ms-summary":"Internal name for the API Key.  For your use."},"path":{"description":"Folder path restriction for this api key.","example":"shared/docs","type":"string","x-ms-summary":"Folder path restriction for this api key."},"permission_set":{"default":"full","description":"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).  Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges.  If you have ideas for permission sets, please let us know.","enum":["none","full","desktop_app","sync_app","office_integration","mobile_app"],"example":"full","type":"string","x-ms-summary":"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).  Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges.  If you have ideas for permission sets, please let us know."}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyEntity"}}},"description":"The ApiKeys object.","x-ms-summary":"The ApiKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Api Key","tags":["users"],"x-authentication":[],"x-path_aliases":["site/api_keys","user/api_keys","users/:user_id/api_keys"]}},"/users/{user_id}/cipher_uses":{"get":{"description":"List User Cipher Uses","operationId":"GetUsersUserIdCipherUses","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"path","name":"user_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UserCipherUseEntity"},"type":"array"}}},"description":"A list of UserCipherUses objects.","x-ms-summary":"A list of UserCipherUses objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List User Cipher Uses","tags":["users"],"x-authentication":["self_managed"],"x-path_aliases":["users/:user_id/cipher_uses"]}},"/users/{user_id}/groups":{"get":{"description":"List Group Users","operationId":"GetUsersUserIdGroups","parameters":[{"description":"User ID.  If provided, will return group_users of this user.","in":"path","name":"user_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  If provided, will return group_users of this user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"Group ID.  If provided, will return group_users of this group.","in":"query","name":"group_id","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Group ID.  If provided, will return group_users of this group."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GroupUserEntity"},"type":"array"}}},"description":"A list of GroupUsers objects.","x-ms-summary":"A list of GroupUsers objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Group Users","tags":["users"],"x-authentication":[],"x-path_aliases":["user/groups","users/:user_id/groups","groups/:group_id/users"]}},"/users/{user_id}/permissions":{"get":{"description":"List Permissions","operationId":"GetUsersUserIdPermissions","parameters":[{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."},{"description":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[group_id]=desc`). Valid fields are `group_id`, `path`, `user_id` or `permission`.","in":"query","name":"sort_by","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[group_id]=desc`). Valid fields are `group_id`, `path`, `user_id` or `permission`."},{"description":"If set, return records where the specified field is equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`. Valid field combinations are `[ group_id, path ]` and `[ user_id, path ]`.","in":"query","name":"filter","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`. Valid field combinations are `[ group_id, path ]` and `[ user_id, path ]`."},{"description":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`.","in":"query","name":"filter_prefix","required":false,"schema":{"type":"object"},"x-ms-summary":"If set, return records where the specified field is prefixed by the supplied value. Valid fields are `path`."},{"description":"DEPRECATED: Permission path.  If provided, will scope permissions to this path. Use `filter[path]` instead.","in":"query","name":"path","required":false,"schema":{"type":"string"},"x-ms-summary":"DEPRECATED: Permission path.  If provided, will scope permissions to this path. Use `filter[path]` instead."},{"description":"DEPRECATED: Group ID.  If provided, will scope permissions to this group. Use `filter[group_id]` instead.`","in":"query","name":"group_id","required":false,"schema":{"type":"string"},"x-ms-summary":"DEPRECATED: Group ID.  If provided, will scope permissions to this group. Use `filter[group_id]` instead.`"},{"description":"DEPRECATED: User ID.  If provided, will scope permissions to this user. Use `filter[user_id]` instead.`","in":"path","name":"user_id","required":true,"schema":{"type":"string"},"x-ms-summary":"DEPRECATED: User ID.  If provided, will scope permissions to this user. Use `filter[user_id]` instead.`"},{"description":"If searching by user or group, also include user's permissions that are inherited from its groups?","in":"query","name":"include_groups","required":false,"schema":{"type":"boolean"},"x-ms-summary":"If searching by user or group, also include user's permissions that are inherited from its groups?"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PermissionEntity"},"type":"array"}}},"description":"A list of Permissions objects.","x-ms-summary":"A list of Permissions objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Permissions","tags":["users"],"x-authentication":[],"x-path_aliases":["groups/:group_id/permissions","users/:user_id/permissions"]}},"/users/{user_id}/public_keys":{"get":{"description":"List Public Keys","operationId":"GetUsersUserIdPublicKeys","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"path","name":"user_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."},{"description":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.","in":"query","name":"cursor","required":false,"schema":{"type":"string"},"x-ms-summary":"Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination."},{"description":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).","in":"query","name":"per_page","required":false,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended)."}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PublicKeyEntity"},"type":"array"}}},"description":"A list of PublicKeys objects.","x-ms-summary":"A list of PublicKeys objects."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"List Public Keys","tags":["users"],"x-authentication":["self_managed"],"x-path_aliases":["user/public_keys","users/:user_id/public_keys"]},"post":{"description":"Create Public Key","operationId":"PostUsersUserIdPublicKeys","parameters":[{"description":"User ID.  Provide a value of `0` to operate the current session's user.","in":"path","name":"user_id","required":true,"schema":{"format":"int32","type":"integer"},"x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"public_key":{"description":"Actual contents of SSH key.","type":"string","x-ms-summary":"Actual contents of SSH key."},"title":{"description":"Internal reference for key.","example":"My Main Key","type":"string","x-ms-summary":"Internal reference for key."}},"required":["title","public_key"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicKeyEntity"}}},"description":"The PublicKeys object.","x-ms-summary":"The PublicKeys object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Public Key","tags":["users"],"x-authentication":["self_managed"],"x-path_aliases":["user/public_keys","users/:user_id/public_keys"]}},"/webhook_tests":{"post":{"description":"Create Webhook Test","operationId":"PostWebhookTests","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"action":{"description":"action for test body","example":"test","type":"string","x-ms-summary":"action for test body"},"body":{"description":"Additional body parameters.","example":{"test-param":"testvalue"},"type":"object","x-ms-summary":"Additional body parameters."},"encoding":{"description":"HTTP encoding method.  Can be JSON, XML, or RAW (form data).","example":"RAW","type":"string","x-ms-summary":"HTTP encoding method.  Can be JSON, XML, or RAW (form data)."},"file_as_body":{"description":"Send the file data as the request body?","type":"boolean","x-ms-summary":"Send the file data as the request body?"},"file_form_field":{"description":"Send the file data as a named parameter in the request POST body","example":"upload_file_data","type":"string","x-ms-summary":"Send the file data as a named parameter in the request POST body"},"headers":{"description":"Additional request headers.","example":{"x-test-header":"testvalue"},"type":"object","x-ms-summary":"Additional request headers."},"method":{"description":"HTTP method(GET or POST).","example":"GET","type":"string","x-ms-summary":"HTTP method(GET or POST)."},"raw_body":{"description":"raw body text","example":"test body","type":"string","x-ms-summary":"raw body text"},"url":{"description":"URL for testing the webhook.","example":"https://www.site.com/...","type":"string","x-ms-summary":"URL for testing the webhook."}},"required":["url"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookTestEntity"}}},"description":"The WebhookTests object.","x-ms-summary":"The WebhookTests object."},"400":{"description":"Bad Request","x-ms-summary":"Bad Request"},"401":{"description":"Unauthorized","x-ms-summary":"Unauthorized"},"403":{"description":"Forbidden","x-ms-summary":"Forbidden"},"404":{"description":"Not Found","x-ms-summary":"Not Found"},"405":{"description":"Method Not Allowed","x-ms-summary":"Method Not Allowed"},"409":{"description":"Conflict","x-ms-summary":"Conflict"},"412":{"description":"Precondition Failed","x-ms-summary":"Precondition Failed"},"422":{"description":"Unprocessable Entity","x-ms-summary":"Unprocessable Entity"},"423":{"description":"Locked","x-ms-summary":"Locked"},"429":{"description":"Too Many Requests","x-ms-summary":"Too Many Requests"}},"summary":"Create Webhook Test","tags":["webhook_tests"],"x-authentication":["folder_admin"]}}},"components":{"requestBodies":{"PatchFileCommentsId":{"content":{"multipart/form-data":{"schema":{"properties":{"body":{"description":"Comment body.","type":"string","x-ms-summary":"Comment body."}},"required":["body"],"type":"object"}}},"required":true},"PatchGroupUsersId":{"content":{"multipart/form-data":{"schema":{"properties":{"admin":{"description":"Is the user a group administrator?","type":"boolean","x-ms-summary":"Is the user a group administrator?"},"group_id":{"description":"Group ID to add user to.","format":"int32","type":"integer","x-ms-summary":"Group ID to add user to."},"user_id":{"description":"User ID to add to group.","format":"int32","type":"integer","x-ms-summary":"User ID to add to group."}},"required":["group_id","user_id"],"type":"object"}}},"required":true},"PatchGroupsId":{"content":{"multipart/form-data":{"schema":{"properties":{"admin_ids":{"description":"A list of group admin user ids. If sent as a string, should be comma-delimited.","type":"string","x-ms-summary":"A list of group admin user ids. If sent as a string, should be comma-delimited."},"name":{"description":"Group name.","type":"string","x-ms-summary":"Group name."},"notes":{"description":"Group notes.","type":"string","x-ms-summary":"Group notes."},"user_ids":{"description":"A list of user ids. If sent as a string, should be comma-delimited.","type":"string","x-ms-summary":"A list of user ids. If sent as a string, should be comma-delimited."}},"type":"object"}}}},"PatchProjectsId":{"content":{"multipart/form-data":{"schema":{"properties":{"global_access":{"description":"Global permissions.  Can be: `none`, `anyone_with_read`, `anyone_with_full`.","type":"string","x-ms-summary":"Global permissions.  Can be: `none`, `anyone_with_read`, `anyone_with_full`."}},"required":["global_access"],"type":"object"}}},"required":true},"PatchUser":{"content":{"multipart/form-data":{"schema":{"properties":{"allowed_ips":{"description":"A list of allowed IPs if applicable.  Newline delimited","example":"127.0.0.1","type":"string","x-ms-summary":"A list of allowed IPs if applicable.  Newline delimited"},"announcements_read":{"description":"Signifies that the user has read all the announcements in the UI.","type":"boolean","x-ms-summary":"Signifies that the user has read all the announcements in the UI."},"attachments_permission":{"description":"DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.","example":true,"type":"boolean","x-ms-summary":"DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead."},"authenticate_until":{"description":"Scheduled Date/Time at which user will be deactivated","example":"2025-06-15T13:48:58.064Z","format":"date-time","type":"string","x-ms-summary":"Scheduled Date/Time at which user will be deactivated"},"authentication_method":{"description":"How is this user authenticated?","enum":["password","unused_former_ldap","sso","none","email_signup","password_with_imported_hash"],"example":"password","type":"string","x-ms-summary":"How is this user authenticated?"},"avatar_delete":{"description":"If true, the avatar will be deleted.","type":"boolean","x-ms-summary":"If true, the avatar will be deleted."},"avatar_file":{"description":"An image file for your user avatar.","format":"binary","type":"string","x-ms-summary":"An image file for your user avatar."},"billing_permission":{"description":"Allow this user to perform operations on the account, payments, and invoices?","type":"boolean","x-ms-summary":"Allow this user to perform operations on the account, payments, and invoices?"},"bypass_inactive_disable":{"description":"Exempt this user from being disabled based on inactivity?","type":"boolean","x-ms-summary":"Exempt this user from being disabled based on inactivity?"},"bypass_site_allowed_ips":{"description":"Allow this user to skip site-wide IP blacklists?","type":"boolean","x-ms-summary":"Allow this user to skip site-wide IP blacklists?"},"change_password":{"description":"Used for changing a password on an existing user.","type":"string","x-ms-summary":"Used for changing a password on an existing user."},"change_password_confirmation":{"description":"Optional, but if provided, we will ensure that it matches the value sent in `change_password`.","type":"string","x-ms-summary":"Optional, but if provided, we will ensure that it matches the value sent in `change_password`."},"company":{"description":"User's company","example":"ACME Corp.","type":"string","x-ms-summary":"User's company"},"dav_permission":{"description":"Can the user connect with WebDAV?","example":true,"type":"boolean","x-ms-summary":"Can the user connect with WebDAV?"},"disabled":{"description":"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.","example":true,"type":"boolean","x-ms-summary":"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."},"email":{"description":"User's email.","type":"string","x-ms-summary":"User's email."},"ftp_permission":{"description":"Can the user access with FTP/FTPS?","example":true,"type":"boolean","x-ms-summary":"Can the user access with FTP/FTPS?"},"grant_permission":{"description":"Permission to grant on the user root.  Can be blank or `full`, `read`, `write`, `list`, `read+write`, or `list+write`","type":"string","x-ms-summary":"Permission to grant on the user root.  Can be blank or `full`, `read`, `write`, `list`, `read+write`, or `list+write`"},"group_id":{"description":"Group ID to associate this user with.","format":"int32","type":"integer","x-ms-summary":"Group ID to associate this user with."},"group_ids":{"description":"A list of group ids to associate this user with.  Comma delimited.","type":"string","x-ms-summary":"A list of group ids to associate this user with.  Comma delimited."},"header_text":{"description":"Text to display to the user in the header of the UI","example":"User-specific message.","type":"string","x-ms-summary":"Text to display to the user in the header of the UI"},"imported_password_hash":{"description":"Pre-calculated hash of the user's password. If supplied, this will be used to authenticate the user on first login. Supported hash menthods are MD5, SHA1, and SHA256.","type":"string","x-ms-summary":"Pre-calculated hash of the user's password. If supplied, this will be used to authenticate the user on first login. Supported hash menthods are MD5, SHA1, and SHA256."},"language":{"description":"Preferred language","example":"en","type":"string","x-ms-summary":"Preferred language"},"name":{"description":"User's full name","example":"John Doe","type":"string","x-ms-summary":"User's full name"},"notes":{"description":"Any internal notes on the user","example":"Internal notes on this user.","type":"string","x-ms-summary":"Any internal notes on the user"},"notification_daily_send_time":{"description":"Hour of the day at which daily notifications should be sent. Can be in range 0 to 23","example":18,"format":"int32","type":"integer","x-ms-summary":"Hour of the day at which daily notifications should be sent. Can be in range 0 to 23"},"office_integration_enabled":{"description":"Enable integration with Office for the web?","example":true,"type":"boolean","x-ms-summary":"Enable integration with Office for the web?"},"password":{"description":"User password.","type":"string","x-ms-summary":"User password."},"password_confirmation":{"description":"Optional, but if provided, we will ensure that it matches the value sent in `password`.","type":"string","x-ms-summary":"Optional, but if provided, we will ensure that it matches the value sent in `password`."},"password_validity_days":{"description":"Number of days to allow user to use the same password","example":1,"format":"int32","type":"integer","x-ms-summary":"Number of days to allow user to use the same password"},"receive_admin_alerts":{"description":"Should the user receive admin alerts such a certificate expiration notifications and overages?","example":true,"type":"boolean","x-ms-summary":"Should the user receive admin alerts such a certificate expiration notifications and overages?"},"require_2fa":{"description":"2FA required setting","enum":["use_system_setting","always_require","never_require"],"example":"always_require","type":"string","x-ms-summary":"2FA required setting"},"require_password_change":{"description":"Is a password change required upon next user login?","example":true,"type":"boolean","x-ms-summary":"Is a password change required upon next user login?"},"restapi_permission":{"description":"Can this user access the REST API?","example":true,"type":"boolean","x-ms-summary":"Can this user access the REST API?"},"self_managed":{"description":"Does this user manage it's own credentials or is it a shared/bot user?","example":true,"type":"boolean","x-ms-summary":"Does this user manage it's own credentials or is it a shared/bot user?"},"sftp_permission":{"description":"Can the user access with SFTP?","example":true,"type":"boolean","x-ms-summary":"Can the user access with SFTP?"},"site_admin":{"description":"Is the user an administrator for this site?","example":true,"type":"boolean","x-ms-summary":"Is the user an administrator for this site?"},"skip_welcome_screen":{"description":"Skip Welcome page in the UI?","example":true,"type":"boolean","x-ms-summary":"Skip Welcome page in the UI?"},"ssl_required":{"description":"SSL required setting","enum":["use_system_setting","always_require","never_require"],"example":"always_require","type":"string","x-ms-summary":"SSL required setting"},"sso_strategy_id":{"description":"SSO (Single Sign On) strategy ID for the user, if applicable.","example":1,"format":"int32","type":"integer","x-ms-summary":"SSO (Single Sign On) strategy ID for the user, if applicable."},"subscribe_to_newsletter":{"description":"Is the user subscribed to the newsletter?","example":true,"type":"boolean","x-ms-summary":"Is the user subscribed to the newsletter?"},"time_zone":{"description":"User time zone","example":"Pacific Time (US & Canada)","type":"string","x-ms-summary":"User time zone"},"user_root":{"description":"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.","example":"example","type":"string","x-ms-summary":"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."},"username":{"description":"User's username","example":"user","type":"string","x-ms-summary":"User's username"}},"type":"object"}}}},"PostApiKeys":{"content":{"multipart/form-data":{"schema":{"properties":{"description":{"description":"User-supplied description of API key.","example":"example","type":"string","x-ms-summary":"User-supplied description of API key."},"expires_at":{"description":"API Key expiration date","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string","x-ms-summary":"API Key expiration date"},"name":{"description":"Internal name for the API Key.  For your use.","example":"My Main API Key","type":"string","x-ms-summary":"Internal name for the API Key.  For your use."},"path":{"description":"Folder path restriction for this api key.","example":"shared/docs","type":"string","x-ms-summary":"Folder path restriction for this api key."},"permission_set":{"default":"full","description":"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).  Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges.  If you have ideas for permission sets, please let us know.","enum":["none","full","desktop_app","sync_app","office_integration","mobile_app"],"example":"full","type":"string","x-ms-summary":"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).  Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges.  If you have ideas for permission sets, please let us know."},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}},"type":"object"}}}},"PostClickwraps":{"content":{"multipart/form-data":{"schema":{"properties":{"body":{"description":"Body text of Clickwrap (supports Markdown formatting).","example":"[Legal body text]","type":"string","x-ms-summary":"Body text of Clickwrap (supports Markdown formatting)."},"name":{"description":"Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)","example":"Example Site NDA for Files.com Use","type":"string","x-ms-summary":"Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)"},"use_with_bundles":{"description":"Use this Clickwrap for Bundles?","enum":["none","available","require"],"example":"example","type":"string","x-ms-summary":"Use this Clickwrap for Bundles?"},"use_with_inboxes":{"description":"Use this Clickwrap for Inboxes?","enum":["none","available","require"],"example":"example","type":"string","x-ms-summary":"Use this Clickwrap for Inboxes?"},"use_with_users":{"description":"Use this Clickwrap for User Registrations?  Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password.","enum":["none","require"],"example":"example","type":"string","x-ms-summary":"Use this Clickwrap for User Registrations?  Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password."}},"type":"object"}}}},"PostMessageCommentReactions":{"content":{"multipart/form-data":{"schema":{"properties":{"emoji":{"description":"Emoji to react with.","type":"string","x-ms-summary":"Emoji to react with."},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}},"required":["emoji"],"type":"object"}}}},"PostRemoteServers":{"content":{"multipart/form-data":{"schema":{"properties":{"aws_access_key":{"description":"AWS Access Key.","example":"example","type":"string","x-ms-summary":"AWS Access Key."},"aws_secret_key":{"description":"AWS secret key.","type":"string","x-ms-summary":"AWS secret key."},"azure_blob_storage_access_key":{"description":"Azure Blob Storage secret key.","type":"string","x-ms-summary":"Azure Blob Storage secret key."},"azure_blob_storage_account":{"description":"Azure Blob Storage Account name","example":"storage-account-name","type":"string","x-ms-summary":"Azure Blob Storage Account name"},"azure_blob_storage_container":{"description":"Azure Blob Storage Container name","example":"container-name","type":"string","x-ms-summary":"Azure Blob Storage Container name"},"azure_blob_storage_sas_token":{"description":"Shared Access Signature (SAS) token","example":"storage-sas-token","type":"string","x-ms-summary":"Shared Access Signature (SAS) token"},"azure_files_storage_access_key":{"description":"Azure File Storage access key.","type":"string","x-ms-summary":"Azure File Storage access key."},"azure_files_storage_account":{"description":"Azure File Storage Account name","example":"storage-account-name","type":"string","x-ms-summary":"Azure File Storage Account name"},"azure_files_storage_sas_token":{"description":"Shared Access Signature (SAS) token","example":"storage-sas-token","type":"string","x-ms-summary":"Shared Access Signature (SAS) token"},"azure_files_storage_share_name":{"description":"Azure File Storage Share name","example":"share-name","type":"string","x-ms-summary":"Azure File Storage Share name"},"backblaze_b2_application_key":{"description":"Backblaze B2 Cloud Storage applicationKey.","type":"string","x-ms-summary":"Backblaze B2 Cloud Storage applicationKey."},"backblaze_b2_bucket":{"description":"Backblaze B2 Cloud Storage Bucket name","example":"my-bucket","type":"string","x-ms-summary":"Backblaze B2 Cloud Storage Bucket name"},"backblaze_b2_key_id":{"description":"Backblaze B2 Cloud Storage keyID.","type":"string","x-ms-summary":"Backblaze B2 Cloud Storage keyID."},"backblaze_b2_s3_endpoint":{"description":"Backblaze B2 Cloud Storage S3 Endpoint","example":"s3.us-west-001.backblazeb2.com","type":"string","x-ms-summary":"Backblaze B2 Cloud Storage S3 Endpoint"},"enable_dedicated_ips":{"description":"`true` if remote server only accepts connections from dedicated IPs","example":true,"type":"boolean","x-ms-summary":"`true` if remote server only accepts connections from dedicated IPs"},"filebase_access_key":{"description":"Filebase Access Key.","example":"example","type":"string","x-ms-summary":"Filebase Access Key."},"filebase_bucket":{"description":"Filebase Bucket name","example":"my-bucket","type":"string","x-ms-summary":"Filebase Bucket name"},"filebase_secret_key":{"description":"Filebase secret key","type":"string","x-ms-summary":"Filebase secret key"},"files_agent_permission_set":{"description":"Local permissions for files agent. read_only, write_only, or read_write","enum":["read_write","read_only","write_only"],"example":"read_write","type":"string","x-ms-summary":"Local permissions for files agent. read_only, write_only, or read_write"},"files_agent_root":{"description":"Agent local root path","example":"example","type":"string","x-ms-summary":"Agent local root path"},"google_cloud_storage_bucket":{"description":"Google Cloud Storage bucket name","example":"my-bucket","type":"string","x-ms-summary":"Google Cloud Storage bucket name"},"google_cloud_storage_credentials_json":{"description":"A JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey","type":"string","x-ms-summary":"A JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey"},"google_cloud_storage_project_id":{"description":"Google Cloud Project ID","example":"my-project","type":"string","x-ms-summary":"Google Cloud Project ID"},"hostname":{"description":"Hostname or IP address","example":"remote-server.com","type":"string","x-ms-summary":"Hostname or IP address"},"max_connections":{"description":"Max number of parallel connections.  Ignored for S3 connections (we will parallelize these as much as possible).","example":1,"format":"int32","type":"integer","x-ms-summary":"Max number of parallel connections.  Ignored for S3 connections (we will parallelize these as much as possible)."},"name":{"description":"Internal name for your reference","example":"My Remote server","type":"string","x-ms-summary":"Internal name for your reference"},"one_drive_account_type":{"description":"Either personal or business_other account types","enum":["personal","business_other"],"example":"personal","type":"string","x-ms-summary":"Either personal or business_other account types"},"password":{"description":"Password if needed.","type":"string","x-ms-summary":"Password if needed."},"pin_to_site_region":{"description":"If true, we will ensure that all communications with this remote server are made through the primary region of the site.  This setting can also be overridden by a sitewide setting which will force it to true.","example":true,"type":"boolean","x-ms-summary":"If true, we will ensure that all communications with this remote server are made through the primary region of the site.  This setting can also be overridden by a sitewide setting which will force it to true."},"port":{"description":"Port for remote server.  Not needed for S3.","example":1,"format":"int32","type":"integer","x-ms-summary":"Port for remote server.  Not needed for S3."},"private_key":{"description":"Private key if needed.","type":"string","x-ms-summary":"Private key if needed."},"private_key_passphrase":{"description":"Passphrase for private key if needed.","type":"string","x-ms-summary":"Passphrase for private key if needed."},"rackspace_api_key":{"description":"Rackspace API key from the Rackspace Cloud Control Panel.","type":"string","x-ms-summary":"Rackspace API key from the Rackspace Cloud Control Panel."},"rackspace_container":{"description":"The name of the container (top level directory) where files will sync.","example":"my-container","type":"string","x-ms-summary":"The name of the container (top level directory) where files will sync."},"rackspace_region":{"description":"Three letter airport code for Rackspace region. See https://support.rackspace.com/how-to/about-regions/","example":"dfw","type":"string","x-ms-summary":"Three letter airport code for Rackspace region. See https://support.rackspace.com/how-to/about-regions/"},"rackspace_username":{"description":"Rackspace username used to login to the Rackspace Cloud Control Panel.","example":"rackspaceuser","type":"string","x-ms-summary":"Rackspace username used to login to the Rackspace Cloud Control Panel."},"reset_authentication":{"description":"Reset authenticated account","type":"boolean","x-ms-summary":"Reset authenticated account"},"s3_bucket":{"description":"S3 bucket name","example":"my-bucket","type":"string","x-ms-summary":"S3 bucket name"},"s3_compatible_access_key":{"description":"S3-compatible Access Key.","example":"example","type":"string","x-ms-summary":"S3-compatible Access Key."},"s3_compatible_bucket":{"description":"S3-compatible Bucket name","example":"my-bucket","type":"string","x-ms-summary":"S3-compatible Bucket name"},"s3_compatible_endpoint":{"description":"S3-compatible endpoint","example":"mys3platform.com","type":"string","x-ms-summary":"S3-compatible endpoint"},"s3_compatible_region":{"description":"S3-compatible endpoint","example":"us-east-1","type":"string","x-ms-summary":"S3-compatible endpoint"},"s3_compatible_secret_key":{"description":"S3-compatible secret key","type":"string","x-ms-summary":"S3-compatible secret key"},"s3_region":{"description":"S3 region","example":"us-east-1","type":"string","x-ms-summary":"S3 region"},"server_certificate":{"description":"Remote server certificate","enum":["require_match","allow_any"],"example":"require_match","type":"string","x-ms-summary":"Remote server certificate"},"server_host_key":{"description":"Remote server SSH Host Key. If provided, we will require that the server host key matches the provided key. Uses OpenSSH format similar to what would go into ~/.ssh/known_hosts","example":"[public key]","type":"string","x-ms-summary":"Remote server SSH Host Key. If provided, we will require that the server host key matches the provided key. Uses OpenSSH format similar to what would go into ~/.ssh/known_hosts"},"server_type":{"description":"Remote server type.","enum":["ftp","sftp","s3","google_cloud_storage","webdav","wasabi","backblaze_b2","one_drive","rackspace","box","dropbox","google_drive","azure","sharepoint","s3_compatible","azure_files","files_agent","filebase"],"example":"s3","type":"string","x-ms-summary":"Remote server type."},"ssl":{"description":"Should we require SSL?","enum":["if_available","require","require_implicit","never"],"example":"if_available","type":"string","x-ms-summary":"Should we require SSL?"},"ssl_certificate":{"description":"SSL client certificate.","type":"string","x-ms-summary":"SSL client certificate."},"username":{"description":"Remote server username.  Not needed for S3 buckets.","example":"user","type":"string","x-ms-summary":"Remote server username.  Not needed for S3 buckets."},"wasabi_access_key":{"description":"Wasabi access key.","example":"example","type":"string","x-ms-summary":"Wasabi access key."},"wasabi_bucket":{"description":"Wasabi Bucket name","example":"my-bucket","type":"string","x-ms-summary":"Wasabi Bucket name"},"wasabi_region":{"description":"Wasabi region","example":"us-west-1","type":"string","x-ms-summary":"Wasabi region"},"wasabi_secret_key":{"description":"Wasabi secret key.","type":"string","x-ms-summary":"Wasabi secret key."}},"type":"object"}}}},"PostSftpHostKeys":{"content":{"multipart/form-data":{"schema":{"properties":{"name":{"description":"The friendly name of this SFTP Host Key.","type":"string","x-ms-summary":"The friendly name of this SFTP Host Key."},"private_key":{"description":"The private key data.","type":"string","x-ms-summary":"The private key data."}},"type":"object"}}}},"PostSiteTestWebhook":{"content":{"multipart/form-data":{"schema":{"properties":{"action":{"description":"action for test body","example":"test","type":"string","x-ms-summary":"action for test body"},"body":{"description":"Additional body parameters.","example":{"test-param":"testvalue"},"type":"object","x-ms-summary":"Additional body parameters."},"encoding":{"description":"HTTP encoding method.  Can be JSON, XML, or RAW (form data).","example":"RAW","type":"string","x-ms-summary":"HTTP encoding method.  Can be JSON, XML, or RAW (form data)."},"headers":{"description":"Additional request headers.","example":{"x-test-header":"testvalue"},"type":"object","x-ms-summary":"Additional request headers."},"method":{"description":"HTTP method(GET or POST).","example":"GET","type":"string","x-ms-summary":"HTTP method(GET or POST)."},"url":{"description":"URL for testing the webhook.","example":"https://www.site.com/...","type":"string","x-ms-summary":"URL for testing the webhook."}},"required":["url"],"type":"object"}}},"required":true},"PostUserPublicKeys":{"content":{"multipart/form-data":{"schema":{"properties":{"public_key":{"description":"Actual contents of SSH key.","type":"string","x-ms-summary":"Actual contents of SSH key."},"title":{"description":"Internal reference for key.","example":"My Main Key","type":"string","x-ms-summary":"Internal reference for key."},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer","x-ms-summary":"User ID.  Provide a value of `0` to operate the current session's user."}},"required":["title","public_key"],"type":"object"}}}}},"schemas":{"AccountLineItemEntity":{"description":"List Payments","properties":{"amount":{"description":"Line item amount","example":1,"format":"double","type":"number"},"balance":{"description":"Line item balance","example":1,"format":"double","type":"number"},"created_at":{"description":"Line item created at","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"currency":{"description":"Line item currency","example":"USD","type":"string"},"download_uri":{"description":"Line item download uri","example":"https://url...","type":"string"},"id":{"description":"Line item Id","example":1,"format":"int32","type":"integer"},"invoice_line_items":{"description":"Associated invoice line items","example":[null],"items":{"$ref":"#/components/schemas/InvoiceLineItemEntity"},"type":"array"},"method":{"description":"Line item payment method","example":"paypal","type":"string"},"payment_line_items":{"description":"Associated payment line items","example":[null],"items":{"$ref":"#/components/schemas/PaymentLineItemEntity"},"type":"array"},"payment_reversed_at":{"description":"Date/time payment was reversed if applicable","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"payment_type":{"description":"Type of payment if applicable","example":"example","type":"string"},"site_name":{"description":"Site name this line item is for","example":"My Site","type":"string"},"type":{"description":"Type of line item, either payment or invoice","example":"invoice","type":"string"},"updated_at":{"description":"Line item updated at","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"}},"type":"object","x-docs":null},"ActionEntity":{"description":"List site full action history.","properties":{"action":{"description":"Type of action","enum":["create","read","update","destroy","move","login","failedlogin","copy","user_create","user_update","user_destroy","group_create","group_update","group_destroy","permission_create","permission_destroy","api_key_create","api_key_update","api_key_destroy"],"example":"create","type":"string"},"destination":{"description":"The destination path for this action, if applicable","example":"/to_path","type":"string"},"display":{"description":"Friendly displayed output","example":"Actual text of the action here.","type":"string"},"failure_type":{"description":"Failure type.  If action was a user login or session failure, why did it fail?","enum":["expired_trial","account_overdue","locked_out","ip_mismatch","password_mismatch","site_mismatch","username_not_found","none","no_ftp_permission","no_web_permission","no_directory","errno_enoent","no_sftp_permission","no_dav_permission","no_restapi_permission","key_mismatch","region_mismatch","expired_access","desktop_ip_mismatch","desktop_api_key_not_used_quickly_enough","disabled","country_mismatch"],"example":"none","type":"string"},"id":{"description":"Action ID","example":1,"format":"int32","type":"integer"},"interface":{"description":"Interface on which this action occurred.","enum":["web","ftp","robot","jsapi","webdesktopapi","sftp","dav","desktop","restapi","scim","office","mobile","as2","inbound_email","remote"],"example":"web","type":"string"},"ip":{"description":"IP Address that performed this action","example":"192.283.128.182","type":"string"},"path":{"description":"Path","example":"path","type":"string"},"source":{"description":"The source path for this action, if applicable","example":"/from_path","type":"string"},"targets":{"description":"Targets","example":[],"items":{"example":[],"type":"object"},"type":"array"},"user_id":{"description":"User ID","example":1,"format":"int32","type":"integer"},"username":{"description":"Username","example":"user","type":"string"},"when":{"description":"Action occurrence date/time","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"}},"type":"object","x-docs":"All File and Login actions on Files.com are recorded and can be queried via our History API.\n\nThis set of endpoints only provides access to recent actions (actions created within 24 hours).  In most cases,\nyou would be better served to create a Webhook, which sends actions to your server, rather than poll this endpoint.\n\nThe HistoryExport set of endpoints provides a richer ability to query and filter, as well as search the entire\nlifetime of your history log.\n"},"ActionNotificationExportEntity":{"description":"Show Action Notification Export","properties":{"end_at":{"description":"End date/time of export range.","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"export_version":{"description":"Version of the underlying records for the export.","example":"example","type":"string"},"id":{"description":"History Export ID","example":1,"format":"int32","type":"integer"},"query_folder":{"description":"Return notifications that were triggered by actions in this folder.","example":"MyFolder","type":"string"},"query_message":{"description":"Error message associated with the request, if any.","example":"Connection Refused","type":"string"},"query_path":{"description":"Return notifications that were triggered by actions on this specific path.","example":"MyFile.txt","type":"string"},"query_request_method":{"description":"The HTTP request method used by the webhook.","example":"GET","type":"string"},"query_request_url":{"description":"The target webhook URL.","example":"http://example.com/webhook","type":"string"},"query_status":{"description":"The HTTP status returned from the server in response to the webhook request.","example":"200","type":"string"},"query_success":{"description":"true if the webhook request succeeded (i.e. returned a 200 or 204 response status). false otherwise.","example":true,"type":"boolean"},"results_url":{"description":"If `status` is `ready`, this will be a URL where all the results can be downloaded at once as a CSV.","example":"https://files.com/action_notification_results.csv","type":"string"},"start_at":{"description":"Start date/time of export range.","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"status":{"description":"Status of export.  Valid values: `building`, `ready`, or `failed`","example":"ready","type":"string"}},"type":"object","x-docs":"The Action Notification Export API provides access to outgoing webhook logs. Querying webhook logs is a little different than other APIs.\n\nAll queries against the archive must be submitted as Exports.  (Even our Web UI creates an Export behind the scenes.)\n\nIn any query field in this API, you may specify multiple values separated by commas.  That means that commas\ncannot be searched for themselves, and neither can single quotation marks.\n\nUse the following steps to complete an export:\n\n1. Initiate the export by using the Create Action Notification Export endpoint. Non Site Admins must query by folder or path.\n2. Using the `id` from the response to step 1, poll the Show Action Notification Export endpoint. Check the `status` field until it is `ready`.\n3. You can download the results of the export as a CSV file using the `results_url` field in the response from step 2. If you want to page through the records in JSON format, use the List Action Notification Export Results endpoint, passing the `id` that you got in step 1 as the `action_notification_export_id` parameter. Check the `X-Files-Cursor-Next` header to see if there are more records available, and resubmit the same request with a `cursor` parameter to fetch the next page of results.  Unlike most API Endpoints, this endpoint does not provide `X-Files-Cursor-Prev` cursors allowing reverse pagination through the results.  This is due to limitations in Amazon Athena, the underlying data lake for these records.\n\nIf you intend to use this API for high volume or automated use, please contact us with more information\nabout your use case.\n\n## Example Queries\n\n* History for a folder: `{ \"query_folder\": \"path/to/folder\" }`\n* History for a range of time: `{ \"start_at\": \"2021-03-18 12:00:00\", \"end_at\": \"2021-03-19 12:00:00\" }`\n* History of all notifications that used GET or POST: `{ \"query_request_method\": \"GET,POST\" }`\n"},"ActionNotificationExportResultEntity":{"description":"List Action Notification Export Results","properties":{"created_at":{"description":"When the notification was sent.","example":1,"format":"int32","type":"integer"},"folder":{"description":"The folder associated with the triggering action for this notification.","example":"MyFolder","type":"string"},"id":{"description":"Notification ID","example":1,"format":"int32","type":"integer"},"message":{"description":"A message indicating the overall status of the webhook notification.","example":"Success","type":"string"},"path":{"description":"The path to the actual file that triggered this notification.","example":"MyFolder/MyFile.txt","type":"string"},"request_headers":{"description":"A JSON-encoded string with headers that were sent with the webhook.","example":"{\"User-Agent\":\"Files.com Webhook\"}","type":"string"},"request_method":{"description":"The HTTP verb used to perform the webhook.","example":"GET","type":"string"},"request_url":{"description":"The webhook request URL.","example":"www.example.com/webhook_receiver","type":"string"},"status":{"description":"HTTP status code returned in the webhook response.","example":200,"format":"int32","type":"integer"},"success":{"description":"`true` if the webhook succeeded by receiving a 200 or 204 response.","example":true,"type":"boolean"}},"type":"object","x-docs":null},"ApiKeyEntity":{"description":"List Api Keys","properties":{"created_at":{"description":"Time which API Key was created","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"description":{"description":"User-supplied description of API key.","example":"example","type":"string"},"descriptive_label":{"description":"Unique label that describes this API key.  Useful for external systems where you may have API keys from multiple accounts and want a human-readable label for each key.","example":"Site-wide API key for https://site.files.com/ (key ID #1)","type":"string"},"expires_at":{"description":"API Key expiration date","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"id":{"description":"API Key ID","example":1,"format":"int32","type":"integer"},"key":{"description":"API Key actual key string","example":"[key]","type":"string"},"last_use_at":{"description":"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.","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"name":{"description":"Internal name for the API Key.  For your use.","example":"My Main API Key","type":"string"},"path":{"description":"Folder path restriction for this api key.","example":"shared/docs","type":"string"},"permission_set":{"description":"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).  Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges.  If you have ideas for permission sets, please let us know.","enum":["none","full","desktop_app","sync_app","office_integration","mobile_app"],"example":"full","type":"string"},"platform":{"description":"If this API key represents a Desktop app, what platform was it created on?","example":"win32","type":"string"},"url":{"description":"URL for API host.","example":"example","type":"string"},"user_id":{"description":"User ID for the owner of this API Key.  May be blank for Site-wide API Keys.","example":1,"format":"int32","type":"integer"}},"type":"object","x-docs":"API Keys allow programmatic access to your Site.\nAPI keys confer all the permissions of the user who owns them.\nIf an API key is created without a user owner, it is considered a site-wide API key, which has full permissions to do anything on the Site.\n"},"AppEntity":{"description":"List Apps","properties":{"app_type":{"description":"The type of the App","enum":["sdk","sso","remote_server","folder_behavior","client_app","app_integration"],"example":"example","type":"string"},"documentation_links":{"description":"Collection of named links to documentation","example":{"Important Info":"http://files.test/learn-more"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"extended_description":{"description":"Long form description of the App","example":"example","type":"string"},"external_homepage_url":{"description":"Link to external homepage","example":"example","type":"string"},"featured":{"description":"Is featured on the App listing?","example":true,"type":"boolean"},"folder_behavior_type":{"description":"Associated Folder Behavior type, if any","enum":["webhook","file_expiration","auto_encrypt","lock_subfolders","storage_region","serve_publicly","create_user_folders","remote_server_sync","inbox","append_timestamp","limit_file_extensions","limit_file_regex","amazon_sns","watermark","remote_server_mount","slack_webhook","auto_decrypt","override_upload_filename"],"example":"example","type":"string"},"icon_url":{"description":"App icon","example":"example","type":"string"},"logo_thumbnail_url":{"description":"Logo thumbnail for the App","example":"example","type":"string"},"logo_url":{"description":"Full size logo for the App","example":"example","type":"string"},"marketing_youtube_url":{"description":"Marketing video page","example":"example","type":"string"},"name":{"description":"Name of the App","example":"example","type":"string"},"remote_server_type":{"description":"Associated Remote Server type, if any","enum":["ftp","sftp","s3","google_cloud_storage","webdav","wasabi","backblaze_b2","one_drive","rackspace","box","dropbox","google_drive","azure","sharepoint","s3_compatible","azure_files","files_agent","filebase"],"example":"example","type":"string"},"screenshot_list_urls":{"description":"Screenshots of the App","example":["example"],"items":{"example":["example"],"type":"string"},"type":"array"},"short_description":{"description":"Short description of the App","example":"example","type":"string"},"sso_strategy_type":{"description":"Associated SSO Strategy type, if any","enum":["google","auth0","okta","atlassian","azure","box","dropbox","slack","_unused_ubuntu","onelogin","saml","idaptive","ldap","scim"],"example":"example","type":"string"},"tutorial_youtube_url":{"description":"Tutorial video page","example":"example","type":"string"}},"type":"object","x-docs":"Apps are the API/SDK term for the various integrations provided by Files.com.\n\nIf you have an idea for a new integration, please let us know as we are continuously adding to this list.\n"},"As2IncomingMessageEntity":{"description":"List As2 Incoming Messages","properties":{"activity_log":{"description":"JSON Structure of the activity log.","example":"example","type":"string"},"as2_from":{"description":"AS2 FROM header of message","example":"example","type":"string"},"as2_partner_id":{"description":"Id of the AS2 Partner associated with this message.","example":1,"format":"int32","type":"integer"},"as2_station_id":{"description":"Id of the AS2 Station associated with this message.","example":1,"format":"int32","type":"integer"},"as2_to":{"description":"AS2 TO header of message","example":"example","type":"string"},"attachment_filename":{"description":"Filename of the file being received.","example":"example","type":"string"},"body_size":{"description":"Encrypted Payload Body Size","example":"example","type":"string"},"content_type":{"description":"Content Type header of the incoming message.","example":"example","type":"string"},"created_at":{"description":"Message creation date/time","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"date":{"description":"Date Header","example":"example","type":"string"},"encrypted_uri":{"description":"URL to download the encrypted signed smime that is to sent as AS2 body","example":"example","type":"string"},"hex_recipient_serial":{"description":"Incoming Message Recipient(the Client Cert used to encrypt this message)'s serial in hex format.","example":"A5:EB:C1:95:DC:D8:2B:E7","type":"string"},"http_headers":{"description":"HTTP Headers sent with this message.","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"http_response_code":{"description":"HTTP Response Code sent for this message","example":"example","type":"string"},"http_response_headers":{"description":"HTTP Headers sent for this message.","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"id":{"description":"Id of the AS2 Partner.","example":1,"format":"int32","type":"integer"},"ip":{"description":"IP Address of the Sender","example":"example","type":"string"},"mdn_response_uri":{"description":"URL to download the http response body","example":"example","type":"string"},"message_decrypted":{"description":"Message decrypted successfully?","example":true,"type":"boolean"},"message_id":{"description":"AS2 Message Id","example":"example","type":"string"},"message_mdn_returned":{"description":"MDN returned?","example":true,"type":"boolean"},"message_processing_success":{"description":"Message processed successfully?","example":true,"type":"boolean"},"message_received":{"description":"Message body received?","example":true,"type":"boolean"},"message_signature_verified":{"description":"Message signature verified?","example":true,"type":"boolean"},"mic":{"description":"AS2 Message Integrity Check","example":"example","type":"string"},"mic_algo":{"description":"AS2 Message Integrity Check Algorithm Used","example":"example","type":"string"},"processing_result":{"description":"Result of processing.","enum":["not_started","unable_to_find_station","unable_to_find_partner","unable_to_validate_signature","decrypt_fail","file_save_fail","success"],"example":"example","type":"string"},"processing_result_description":{"description":"Result of processing description.","example":"example","type":"string"},"raw_uri":{"description":"URL to download the original file contents","example":"example","type":"string"},"recipient_issuer":{"description":"Incoming Message Recipient(the Client Cert used to encrypt this message)'s issuer","example":"example","type":"string"},"recipient_serial":{"description":"Incoming Message Recipient(the Client Cert used to encrypt this message)'s serial","example":"example","type":"string"},"smime_signed_uri":{"description":"URL to download the file contents as smime with signature","example":"example","type":"string"},"smime_uri":{"description":"URL to download the file contents encoded as smime","example":"example","type":"string"},"subject":{"description":"AS2 Subject Header","example":"example","type":"string"},"uuid":{"description":"UUID assigned to this message.","example":"example","type":"string"}},"type":"object","x-docs":"An As2 Incoming Message is created for each individual AS2 file transfer incoming from a Partner. It contains the message details and tracks the lifecycle status with milestones of the transfer.\n"},"As2OutgoingMessageEntity":{"description":"List As2 Outgoing Messages","properties":{"activity_log":{"description":"JSON Structure of the activity log.","example":"example","type":"string"},"as2_from":{"description":"AS2 FROM","example":"example","type":"string"},"as2_partner_id":{"description":"Id of the AS2 Partner associated with this message.","example":1,"format":"int32","type":"integer"},"as2_station_id":{"description":"Id of the AS2 Station associated with this message.","example":1,"format":"int32","type":"integer"},"as2_to":{"description":"AS2 TO","example":"example","type":"string"},"attachment_filename":{"description":"Filename of the file being sent.","example":"example","type":"string"},"body_size":{"description":"Encrypted Payload Body Size","example":"example","type":"string"},"created_at":{"description":"Message creation date/time","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"date":{"description":"Date Header","example":"example","type":"string"},"encrypted_uri":{"description":"URL to download the encrypted signed smime that is to sent as AS2 body","example":"example","type":"string"},"http_headers":{"description":"HTTP Headers sent with this message.","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"http_response_code":{"description":"HTTP Response Code received for this message","example":"example","type":"string"},"http_response_headers":{"description":"HTTP Headers received for this message.","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"http_transmission_duration":{"description":"HTTP transmission duration in seceonds","example":1,"format":"double","type":"number"},"id":{"description":"Id of the AS2 Partner.","example":1,"format":"int32","type":"integer"},"mdn_message_id_matched":{"description":"MDN message id matched?","example":true,"type":"boolean"},"mdn_mic_matched":{"description":"MDN MIC matched?","example":true,"type":"boolean"},"mdn_processing_success":{"description":"MDN disposition indicate a successful processing?","example":true,"type":"boolean"},"mdn_received":{"description":"Did the partner give a response body?","example":true,"type":"boolean"},"mdn_response_uri":{"description":"URL to download the http response body","example":"example","type":"string"},"mdn_signature_verified":{"description":"MDN signature verified?","example":true,"type":"boolean"},"mdn_valid":{"description":"Is the response in MDN format?","example":true,"type":"boolean"},"message_id":{"description":"AS2 Message Id","example":"example","type":"string"},"mic":{"description":"AS2 Message Integrity Check SHA1","example":"example","type":"string"},"mic_sha_256":{"description":"AS2 Message Integrity Check SHA256","example":"example","type":"string"},"processing_result":{"description":"Result of processing.","enum":["not_started","send_failed","send_success","send_success_mdn_invalid","send_success_mic_mismatch","send_success_message_id_mismatch","send_success_signature_mismatch","send_success_processing_failure","send_failed_unknown_host","send_failed_bad_http_response_code","send_failed_ssl_error","send_failed_connection_refused"],"example":"example","type":"string"},"processing_result_description":{"description":"Result of processing description.","example":"example","type":"string"},"raw_uri":{"description":"URL to download the original file contents","example":"example","type":"string"},"smime_signed_uri":{"description":"URL to download the file contents as smime with signature","example":"example","type":"string"},"smime_uri":{"description":"URL to download the file contents encoded as smime","example":"example","type":"string"},"uuid":{"description":"UUID assigned to this message.","example":"example","type":"string"}},"type":"object","x-docs":"An As2 Outgoing Message is created for each individual AS2 file transfer out to a Partner. It contains the message details and tracks the lifecycle status with milestones of the transfer.\n"},"As2PartnerEntity":{"description":"Create As2 Partner","properties":{"as2_station_id":{"description":"Id of the AS2 Station associated with this partner.","example":1,"format":"int32","type":"integer"},"enable_dedicated_ips":{"description":"`true` if remote server only accepts connections from dedicated IPs","example":true,"type":"boolean"},"hex_public_certificate_serial":{"description":"Serial of public certificate used for message security in hex format.","example":"A5:EB:C1:95:DC:D8:2B:E7","type":"string"},"id":{"description":"Id of the AS2 Partner.","example":1,"format":"int32","type":"integer"},"name":{"description":"The partner's formal AS2 name.","example":"AS2 Partner Name","type":"string"},"public_certificate_issuer":{"description":"Issuer of public certificate used for message security.","example":"example","type":"string"},"public_certificate_md5":{"description":"MD5 hash of public certificate used for message security.","example":"example","type":"string"},"public_certificate_not_after":{"description":"Not after value of public certificate used for message security.","example":"example","type":"string"},"public_certificate_not_before":{"description":"Not before value of public certificate used for message security.","example":"example","type":"string"},"public_certificate_serial":{"description":"Serial of public certificate used for message security.","example":"example","type":"string"},"public_certificate_subject":{"description":"Subject of public certificate used for message security.","example":"example","type":"string"},"server_certificate":{"description":"Remote server certificate security setting","enum":["require_match","allow_any"],"example":"require_match","type":"string"},"uri":{"description":"Public URI for sending AS2 message to.","example":"example","type":"string"}},"type":"object","x-docs":"As2 Partner defines a Files.com hosted AS2 server that can receive data into Files.com and send data from Files.com\n"},"As2StationEntity":{"description":"Create As2 Station","properties":{"domain":{"description":"The station's AS2 domain name.","example":"domain.test","type":"string"},"hex_public_certificate_serial":{"description":"Serial of public certificate used for message security in hex format.","example":"A5:EB:C1:95:DC:D8:2B:E7","type":"string"},"id":{"description":"Id of the AS2 Station.","example":1,"format":"int32","type":"integer"},"name":{"description":"The station's formal AS2 name.","example":"AS2 Station Name","type":"string"},"private_key_md5":{"description":"MD5 hash of private key used for message security.","example":"example","type":"string"},"private_key_password_md5":{"description":"MD5 hash of private key password used for message security.","example":"example","type":"string"},"public_certificate_issuer":{"description":"Issuer of public certificate used for message security.","example":"example","type":"string"},"public_certificate_md5":{"description":"MD5 hash of public certificate used for message security.","example":"example","type":"string"},"public_certificate_not_after":{"description":"Not after value of public certificate used for message security.","example":"example","type":"string"},"public_certificate_not_before":{"description":"Not before value of public certificate used for message security.","example":"example","type":"string"},"public_certificate_serial":{"description":"Serial of public certificate used for message security.","example":"example","type":"string"},"public_certificate_subject":{"description":"Subject of public certificate used for message security.","example":"example","type":"string"},"uri":{"description":"Public URI for sending AS2 message to.","example":"example","type":"string"}},"type":"object","x-docs":"As2 Station defines a remote AS2 server that can send data into Files.com and received data from Files.com\n"},"AutoEntity":{"properties":{"dynamic":{"properties":{},"type":"object"}},"type":"object","x-docs":null},"AutomationEntity":{"description":"List Automations","properties":{"automation":{"description":"Automation type","enum":["create_folder","request_file","request_move","copy_newest_file","delete_file","copy_file","move_file","as2_send","run_sync"],"example":"create_folder","type":"string"},"deleted":{"description":"Indicates if the automation has been deleted.","example":true,"type":"boolean"},"description":{"description":"Description for the this Automation.","example":"example","type":"string"},"destination_replace_from":{"description":"If set, this string in the destination path will be replaced with the value in `destination_replace_to`.","example":"example","type":"string"},"destination_replace_to":{"description":"If set, this string will replace the value `destination_replace_from` in the destination filename. You can use special patterns here.","example":"example","type":"string"},"destinations":{"description":"Destination Path","example":["destination"],"items":{"example":["destination"],"type":"string"},"type":"array"},"disabled":{"description":"If true, this automation will not run.","example":true,"type":"boolean"},"group_ids":{"description":"IDs of Groups for the Automation (i.e. who to Request File from)","example":[1,2],"items":{"example":[1,2],"format":"int32","type":"integer"},"type":"array"},"id":{"description":"Automation ID","example":1,"format":"int32","type":"integer"},"interval":{"description":"If trigger is `daily`, this specifies how often to run this automation.  One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`","example":"week","type":"string"},"last_modified_at":{"description":"Time when automation was last modified. Does not change for name or description updates.","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"name":{"description":"Name for this automation.","example":"example","type":"string"},"path":{"description":"Path on which this Automation runs.  Supports globs.","example":"example","type":"string"},"recurring_day":{"description":"If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.","example":25,"format":"int32","type":"integer"},"schedule":{"description":"If trigger is `custom_schedule`, Custom schedule description for when the automation should be run.","example":"example","type":"object"},"source":{"description":"Source Path","example":"example","type":"string"},"sync_ids":{"description":"IDs of remote sync folder behaviors to run by this Automation","example":[1,2],"items":{"example":[1,2],"format":"int32","type":"integer"},"type":"array"},"trigger":{"description":"How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`.","enum":["realtime","daily","custom_schedule","webhook","email","action"],"example":"realtime","type":"string"},"trigger_actions":{"description":"If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy","example":["create"],"items":{"example":["create"],"type":"string"},"type":"array"},"user_id":{"description":"User ID of the Automation's creator.","example":1,"format":"int32","type":"integer"},"user_ids":{"description":"IDs of Users for the Automation (i.e. who to Request File from)","example":[1,2],"items":{"example":[1,2],"format":"int32","type":"integer"},"type":"array"},"value":{"description":"A Hash of attributes specific to the automation type.","example":{"limit":"1"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"webhook_url":{"description":"If trigger is `webhook`, this is the URL of the webhook to trigger the Automation.","example":"https://app.files.com/api/webhooks/abc123","type":"string"}},"type":"object","x-docs":"Automations allow you to automate workflows on your Files.com site.\n\nAutomations are different from Behaviors because Behaviors are associated with a current folder, while Automations apply across your entire site.\nAlthough Automations may have a Path specified, it can be a glob (which includes wildcards), which affects multiple folders.\nAdditionally, paths in Automations can refer to folders which don't yet exist.\n\nAutomations are never removed when folders are removed, while Behaviors are removed when the associated folder is removed.\n\n\n## Automation Triggers\n\nAutomations can be triggered in the following ways:\n\n* `custom_schedule` : The automation will run according to the custom schedule parameters for `days_of_week` (0-based) and `times_of_day`. A time zone may be specified via `time_zone` in Rails TimeZone name format.\n* `daily` : The automation will run once each day\n* `realtime` : The automation will run any time a local file (not stored in a remote mount folder) is created, updated, or deleted.\n* `webhook` : the automation will run when a request is sent to the corresponding webhook URL.\n* `action` : The automation will run when a specific action happens, e.g. a file is created, deleted, or downloaded.\n\nFuture enhancements will allow Automations to be triggered by an incoming email, or by other services.\n\nCurrently, all Automation types support all triggers, with the following exceptions: The `realtime` trigger is only supported by the `Request File` and `Request Move` Automations.\nWe plan to add support for this trigger to all Automation types. If you have a use case for the `realtime` trigger on an Automation that's not currently supported, please contact us and tell us more about your situation.\n\n\n## Automation Types\n\nThere are currently five types of automations:  Create Folder, Copy File, Delete File, Request File, and Request Move.\n\n\n### Create Folder\n\nCreates the folder with named by `destinations` in the path named by `path`.\nDestination may include formatting parameters to insert the date/time into the destination name.\n\nExample Use case:  Our business files sales tax for each division in 11 states every quarter.\nI want to create the folders where those sales tax forms and data will be collected.\n\nI could create a Create Folder automation as follows:\n\n* Trigger: `daily`\n* Interval: `quarter_end`\n* Path: `/AccountingAndTax/SalesTax/State/*/`\n* Destinations: `%Y/Quarter-ending-%m-%d`\n\n\n### Delete File\n\nDeletes the file with path matching `source` (wildcards allowed) in the path named by `path`.\n\n\n### Copy File\n\nCopies files in the folder named by `path` to the path specified in `destinations`.\nIf the parameter `source` exists, the automation will only fire on files matching the source (wildcards allowed).\nIf the parameter `limit` exists, the automation will only copy the newest `limit` files.\n\n\n### Move File\n\nMoves files in the folder named by `path` to the path specified in `destinations`.\nIf the parameter `source` exists, the automation will only fire on files matching the source (wildcards allowed).\nIf the parameter `limit` exists, the automation will only move the newest `limit` files.\n\n\n### Request File\n\nThe Request File automation requests a file (optionally from a specific user) if it does not exist.\n\nIt requests the file named in the parameter `destinations` in the path named by the parameter `path`.\nIf the parameter `source` exists, the automation will only fire if a file in that path exists.\nDestinations may include formatting parameters that are backreferences to the path.\n\nExample Use case: Continuing our Sales Tax example from above, once the folders are\ncreated for the 11 states, our Bookkeeper needs to upload a `.xlsx` file\ncontaining the sales records for each state.\n\nWe can create a Request File automation as follows:\n\n* Trigger: `realtime`\n* Path: `/AccountingAndTax/SalesTax/State/*/*/*/`\n* Destinations: `SalesByState-%p3-%p2-%p1`\n* Group IDs: `123` (representing the Bookkeepers group)\n\nNote that the %p1, %p2 amd %p3 are references back into the folder hierarchy\n(parent 1, parent 2, etc), so that the file will be named with the state\nname and the quarter name in the file.  Example: `SalesByState-NV-2017-Quarter-ending-Dec-31.xlsx`\n\nNow, let's say that our Tax Accountant is in charge of filing the actual\nstate tax return once the Excel doc is completed by the Bookkeeper.  We\ncan create another Automation to let him know when it's his turn\nto operate:\n\n* Trigger: `realtime`\n* Path: `/AccountingAndTax/SalesTax/State/*/*/%/`\n* Source: `SalesByState-%p3-%p2-%p1`\n* Destinations: `StateSalesTaxReturn-Unsigned-%p3-%p2-%p1`\n* Group IDs: `124` (representing the Tax Accountants group)\n    Group: Tax Accountants\n\nSo the accountant will take the excel from the bookkeeper, generate the\nstate tax return, and then upload it as a PDF, ready for the CFO to\nsign.  How does the CFO know when to sign?  You guessed it, another\nAutomation will let him know when it's ready:\n\n* Trigger: `realtime`\n* Path: `/AccountingAndTax/**/`\n* Source: `*-Unsigned-*`\n* Destination Replace From: `-Unsigned-`\n* Destination Replace To: `-Signed-`\n* Group IDs: `125` (representing the CFO group)\n\nThis Automation looks in every nested subfolder of `AcccountingAndTax`\n(that's the `/**/` in the path).  And it looks for any filename containing\nthe filename string `-Unsigned-`.  That's the cue to the CFO that something needs his\nsignature.\n\nRather than specifying the exact destination filename, we can specify a Destination Replace From\nand To in order to generate the new filename from the old filename.\n\nSo if `StateSalesTaxReturn-Unsigned-NV-2017-q4.pdf` is uploaded, this\nAutomation will trigger and expect the file `StateSalesTaxReturn-Signed-NV-2017-q4.pdf`\nfrom the CFO.\n\nYou could then put in place another rule for the Tax Accountant or\nBookkeeper to go do the actual filing once a signature is in place.\n\n\n### Request Move\n\nThe Request Move automation requests that a file be moved.  This is an alternate way to implement approval workflows.\n\nA variant of the Request File automation, this Automation creates requests that a\nuser or group move a file, presumably indicating that they've taken some action on it.\n\nExample Use case: Action Verb uses Files.com to collect invoices from its Contractors, who\nupload new invoices into their own folder structure that only they have\npermissions to.  That structure looks like this:\n\n* `/Accounts Payable/Contractors/[contractor]/New/`\n* `/Accounts Payable/Contractors/[contractor]/Paid/`\n\nThe contractor has full permissions to the `New/` folder, but only\nread-only permissions to `Paid/`.  This allows them to upload and update\nnew invoices, but only view invoices that are already paid.  (Cool!)\n\nBut, as we grow to dozens of contractors, it becomes a tough task for\nAccounts Payable to check all the New folders daily.\n\nTo ensure Contractors get paid timely, we might set up Request Move automation:\n\n* Trigger: `realtime`\n* Path: `/AccountsPayable/Contractors/*/New/`\n* Source: `*`\n* Destinations: `../Paid/`\n* Group IDs: `126` (representing the Accounts Payable group)\n\n\n### Help us build the future of Automations\n\nDo you have an idea for something that would work well as a Files.com Automation?  Let us know!\nWe are actively improving the types of automations offered on our platform.\n"},"AutomationRunEntity":{"description":"List Automation Runs","properties":{"automation_id":{"description":"ID of the associated Automation.","example":1,"format":"int32","type":"integer"},"completed_at":{"description":"Automation run completion/failure date/time.","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"created_at":{"description":"Automation run start date/time.","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"id":{"description":"ID.","example":1,"format":"int32","type":"integer"},"status":{"description":"The success status of the AutomationRun. One of `running`, `success`, `partial_failure`, or `failure`.","enum":["running","success","partial_failure","failure","skipped"],"example":"success","type":"string"},"status_messages_url":{"description":"Link to status messages log file.","example":"https://www.example.com/log_file.txt","type":"string"}},"type":"object","x-docs":"AutomationRuns represent a single execution of a given Automation.\n"},"BandwidthSnapshotEntity":{"description":"List Bandwidth Snapshots","properties":{"bytes_received":{"description":"Site bandwidth report bytes received","example":1,"format":"double","type":"number"},"bytes_sent":{"description":"Site bandwidth report bytes sent","example":1,"format":"double","type":"number"},"id":{"description":"Site bandwidth ID","example":1,"format":"int32","type":"integer"},"logged_at":{"description":"Time the site bandwidth report was logged","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"requests_get":{"description":"Site bandwidth report get requests","example":1,"format":"double","type":"number"},"requests_other":{"description":"Site bandwidth report other requests","example":1,"format":"double","type":"number"},"requests_put":{"description":"Site bandwidth report put requests","example":1,"format":"double","type":"number"},"sync_bytes_received":{"description":"Site sync bandwidth report bytes received","example":1,"format":"double","type":"number"},"sync_bytes_sent":{"description":"Site sync bandwidth report bytes sent","example":1,"format":"double","type":"number"}},"type":"object","x-docs":null},"BehaviorEntity":{"description":"List Behaviors","properties":{"attachment_url":{"description":"URL for attached file","example":"example","type":"string"},"behavior":{"description":"Behavior type.","example":"webhook","type":"string"},"description":{"description":"Description for this behavior.","example":"example","type":"string"},"id":{"description":"Folder behavior ID","example":1,"format":"int32","type":"integer"},"name":{"description":"Name for this behavior.","example":"example","type":"string"},"path":{"description":"Folder path","example":"example","type":"string"},"value":{"description":"Settings for this behavior.  See the section above for an example value to provide here.  Formatting is different for each Behavior type.  May be sent as nested JSON or a single JSON-encoded string.  If using XML encoding for the API call, this data must be sent as a JSON-encoded string.","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}}},"type":"object","x-docs":"Behaviors are the API resource for what are also known as Folder Settings.  Every behavior is associated with a folder.\n\nDepending on the behavior, it may also operate on child folders.  It may be overridable at the child folder level or maybe can be added to at the child folder level.  The exact options for each behavior type are explained in the table below.\n\nAdditionally, some behaviors are visible to non-admins, and others are even settable by non-admins.  All the details are below.\n\nEach behavior uses a different format for storings its settings value.  Next to each behavior type is an example value.  Our API and SDKs currently require that the value for behaviors be sent as raw JSON within the `value` field.  Our SDK generator and API documentation generator doesn't fully keep up with this requirement, so if you need any help finding the exact syntax to use for your language or use case, just reach out.\n"},"BundleDownloadEntity":{"description":"List Bundle Downloads","properties":{"bundle_registration":{"$ref":"#/components/schemas/BundleRegistrationEntity"},"created_at":{"description":"Download date/time","example":"2025-06-15T13:48:58.065Z","format":"date-time","type":"string"},"download_method":{"description":"Download method (file or full_zip)","enum":["file","full_zip"],"example":"file","type":"string"},"path":{"description":"Download path","example":"a/b/test.txt","type":"string"}},"type":"object","x-docs":null},"BundleEntity":{"description":"Create Bundle","properties":{"clickwrap_body":{"description":"Legal text that must be agreed to prior to accessing Bundle.","example":"[Legal text]","type":"string"},"clickwrap_id":{"description":"ID of the clickwrap to use with this bundle.","example":1,"format":"int32","type":"integer"},"code":{"description":"Bundle code.  This code forms the end part of the Public URL.","example":"abc123","type":"string"},"created_at":{"description":"Bundle created at date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"description":{"description":"Public description","example":"The public description of the bundle.","type":"string"},"dont_separate_submissions_by_folder":{"description":"Do not create subfolders for files uploaded to this share. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required.","example":true,"type":"boolean"},"expires_at":{"description":"Bundle expiration date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"form_field_set":{"$ref":"#/components/schemas/FormFieldSetEntity"},"has_inbox":{"description":"Does this bundle have an associated inbox?","example":true,"type":"boolean"},"id":{"description":"Bundle ID","example":1,"format":"int32","type":"integer"},"inbox_id":{"description":"ID of the associated inbox, if available.","example":1,"format":"int32","type":"integer"},"max_uses":{"description":"Maximum number of times bundle can be accessed","example":1,"format":"int32","type":"integer"},"note":{"description":"Bundle internal note","example":"The internal note on the bundle.","type":"string"},"password_protected":{"description":"Is this bundle password protected?","type":"boolean"},"path_template":{"description":"Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, and any custom form data.","example":"{{name}}_{{ip}}","type":"string"},"paths":{"description":"A list of paths in this bundle.  For performance reasons, this is not provided when listing bundles.","example":["file.txt"],"items":{"example":["file.txt"],"type":"string"},"type":"array"},"permissions":{"description":"Permissions that apply to Folders in this Share Link.","enum":["read","write","read_write","full","none","preview_only"],"example":"read","type":"string"},"preview_only":{"description":"Restrict users to previewing files only?","type":"boolean"},"require_registration":{"description":"Show a registration page that captures the downloader's name and email address?","type":"boolean"},"require_share_recipient":{"description":"Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?","type":"boolean"},"send_email_receipt_to_uploader":{"description":"Send delivery receipt to the uploader. Note: For writable share only","example":true,"type":"boolean"},"skip_company":{"description":"BundleRegistrations can be saved without providing company?","example":true,"type":"boolean"},"skip_email":{"description":"BundleRegistrations can be saved without providing email?","example":true,"type":"boolean"},"skip_name":{"description":"BundleRegistrations can be saved without providing name?","example":true,"type":"boolean"},"url":{"description":"Public URL of Share Link","example":"https://subdomain.files.com/f/12345678","type":"string"},"user_id":{"description":"Bundle creator user ID","example":1,"format":"int32","type":"integer"},"username":{"description":"Bundle creator username","example":"user","type":"string"},"watermark_attachment":{"$ref":"#/components/schemas/ImageEntity"},"watermark_value":{"description":"Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}}},"type":"object","x-docs":"Bundles are the API/SDK term for the feature called Share Links in the web interface.\nThe API provides the full set of actions related to Share Links, including sending them via E-Mail.\n\nPlease note that we very closely monitor the E-Mailing feature and any abuse will result in disabling of your site.\n"},"BundleNotificationEntity":{"description":"List Bundle Notifications","properties":{"bundle_id":{"description":"Bundle ID to notify on","example":1,"format":"int32","type":"integer"},"id":{"description":"Bundle Notification ID","example":1,"format":"int32","type":"integer"},"notify_on_registration":{"description":"Triggers bundle notification when a registration action occurs for it.","example":true,"type":"boolean"},"notify_on_upload":{"description":"Triggers bundle notification when a upload action occurs for it.","example":true,"type":"boolean"},"user_id":{"description":"The id of the user to notify.","example":1,"format":"int32","type":"integer"}},"type":"object","x-docs":"Bundle notifications are emails sent out to users when certain actions are performed on or within a shared set of files and folders.\n"},"BundleRecipientEntity":{"description":"List Bundle Recipients","properties":{"company":{"description":"The recipient's company.","example":"Acme Inc.","type":"string"},"name":{"description":"The recipient's name.","example":"John Doe","type":"string"},"note":{"description":"A note sent to the recipient with the bundle.","example":"Some note.","type":"string"},"recipient":{"description":"The recipient's email address.","example":"john.doe@example.com","type":"string"},"sent_at":{"description":"When the Bundle was shared with this recipient.","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"}},"type":"object","x-docs":"Bundle recipients are people who have had a bundle shared with them. A Bundle can be re-shared\nwith a BundleRecipient by sending a create request with the inbox_id, recipient email address,\nand share_after_create => true.\n"},"BundleRegistrationEntity":{"description":"List Bundle Registrations","properties":{"bundle_code":{"description":"Bundle URL code","example":"example","type":"string"},"bundle_id":{"description":"Id of associated bundle","example":1,"format":"int32","type":"integer"},"bundle_recipient_id":{"description":"Id of associated bundle recipient","example":1,"format":"int32","type":"integer"},"clickwrap_body":{"description":"Clickwrap text that was shown to the registrant","example":"example","type":"string"},"code":{"description":"Registration cookie code","example":"abc123","type":"string"},"company":{"description":"Registrant company name","example":"Action Verb","type":"string"},"created_at":{"description":"Registration creation date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"email":{"description":"Registrant email address","example":"john.doe@files.com","type":"string"},"form_field_data":{"description":"Data for form field set with form field ids as keys and user data as values","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"form_field_set_id":{"description":"Id of associated form field set","example":1,"format":"int32","type":"integer"},"inbox_code":{"description":"InboxRegistration cookie code, if there is an associated InboxRegistration","example":"abc123","type":"string"},"ip":{"description":"Registrant IP Address","example":"10.1.1.1","type":"string"},"name":{"description":"Registrant name","example":"account","type":"string"}},"type":"object","x-docs":"BundleRegistrations record when a Bundle user fills out the form to access the bundle.\n"},"ClickwrapEntity":{"description":"Create Clickwrap","properties":{"body":{"description":"Body text of Clickwrap (supports Markdown formatting).","example":"[Legal body text]","type":"string"},"id":{"description":"Clickwrap ID","example":1,"format":"int32","type":"integer"},"name":{"description":"Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)","example":"Example Site NDA for Files.com Use","type":"string"},"use_with_bundles":{"description":"Use this Clickwrap for Bundles?","enum":["none","available","require"],"example":"example","type":"string"},"use_with_inboxes":{"description":"Use this Clickwrap for Inboxes?","enum":["none","available","require"],"example":"example","type":"string"},"use_with_users":{"description":"Use this Clickwrap for User Registrations?  Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password.","enum":["none","require"],"example":"example","type":"string"}},"type":"object","x-docs":"A Clickwrap is a legal agreement (such as an NDA or Terms of Use) that your Users and/or Bundle/Inbox participants will need to agree to via a \"Clickwrap\" UI before accessing the site, bundle, or inbox.\n"},"DnsRecordEntity":{"description":"Show site DNS configuration.","properties":{"domain":{"description":"DNS record domain name","example":"my-custom-domain.com","type":"string"},"id":{"description":"Unique label for DNS record; used by Zapier and other integrations.","example":"example","type":"string"},"rrtype":{"description":"DNS record type","example":"CNAME","type":"string"},"value":{"description":"DNS record value","example":"mysite.files.com","type":"string"}},"type":"object","x-docs":"This resource allows retrieving the DNS records that are needed to configure custom DNS for a Site.\n"},"ErrorsEntity":{"properties":{"fields":{"description":"A list of fields where errors occur","example":[],"items":{"example":[],"type":"string"},"type":"array"},"messages":{"description":"A list of error messages","example":[],"items":{"example":[],"type":"string"},"type":"array"}},"type":"object","x-docs":null},"ExternalEventEntity":{"description":"List External Events","properties":{"body":{"description":"Event body","example":"example","type":"string"},"body_url":{"description":"Link to log file.","example":"example","type":"string"},"bytes_synced":{"description":"For sync events, the total number of bytes synced.","example":1,"format":"int32","type":"integer"},"created_at":{"description":"External event create date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"errored_files":{"description":"For sync events, the number of files that encountered errors.","example":1,"format":"int32","type":"integer"},"event_type":{"description":"Type of event being recorded.","enum":["ldap_sync","remote_server_sync","lockout","ldap_login","saml_login","client_log","pending_work"],"example":"example","type":"string"},"folder_behavior_id":{"description":"Folder Behavior ID","example":1,"format":"int32","type":"integer"},"id":{"description":"Event ID","example":1,"format":"int32","type":"integer"},"remote_server_type":{"description":"Associated Remote Server type, if any","example":"example","type":"string"},"status":{"description":"Status of event.","enum":["success","failure","partial_failure","in_progress","skipped"],"example":"example","type":"string"},"successful_files":{"description":"For sync events, the number of files handled successfully.","example":1,"format":"int32","type":"integer"}},"type":"object","x-docs":"ExternalEvents record activity such as logins, credential syncs, and lockouts.\n"},"FileActionEntity":{"description":"Move file/folder","properties":{"file_migration_id":{"description":"If status is pending, this is the id of the FileMigration to check for status updates.","example":1,"format":"int32","type":"integer"},"status":{"description":"Status of file operation.","example":"pending","type":"string"}},"type":"object","x-docs":null},"FileCommentEntity":{"description":"List File Comments by path","properties":{"body":{"description":"Comment body.","example":"What a great file!","type":"string"},"id":{"description":"File Comment ID","example":1,"format":"int32","type":"integer"},"reactions":{"description":"Reactions to this comment.","example":[null],"items":{"$ref":"#/components/schemas/FileCommentReactionEntity"},"type":"array"}},"type":"object","x-docs":"File Comments are comments attached to a file by a user.\n"},"FileCommentReactionEntity":{"description":"Create File Comment Reaction","properties":{"emoji":{"description":"Emoji used in the reaction.","example":"👍","type":"string"},"id":{"description":"Reaction ID","example":1,"format":"int32","type":"integer"}},"type":"object","x-docs":"File Comment Reactionss are reactions that are attached to a comment on a file.\n"},"FileEntity":{"description":"List Folders by path","properties":{"crc32":{"description":"File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.","example":"70976923","type":"string"},"created_at":{"description":"File created date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"display_name":{"description":"File/Folder display name","example":"file.txt","type":"string"},"download_uri":{"description":"Link to download file. Provided only in response to a download request.","example":"https://mysite.files.com/...","type":"string"},"is_locked":{"description":"Is this folder locked and unable to be modified?","example":true,"type":"boolean"},"md5":{"description":"File MD5 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.","example":"17c54824e9931a4688ca032d03f6663c","type":"string"},"mime_type":{"description":"MIME Type.  This is determined by the filename extension and is not stored separately internally.","example":"application/octet-stream","type":"string"},"mtime":{"description":"File last modified date/time, according to the server.  This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent.","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"path":{"description":"File/Folder path","example":"path/file.txt","type":"string"},"permissions":{"description":"A short string representing the current user's permissions.  Can be `r`,`w`,`d`, `l` or any combination","example":"rwd","type":"string"},"preview":{"$ref":"#/components/schemas/PreviewEntity"},"preview_id":{"description":"File preview ID","example":1,"format":"int32","type":"integer"},"priority_color":{"description":"Bookmark/priority color of file/folder","example":"red","type":"string"},"provided_mtime":{"description":"File last modified date/time, according to the client who set it.  Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times.  This allows Desktop<->Cloud syncing to preserve modified at times.","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"region":{"description":"Region location","example":"us-east-1","type":"string"},"size":{"description":"File/Folder size","example":1024,"format":"int32","type":"integer"},"subfolders_locked?":{"description":"Are subfolders locked and unable to be modified?","example":true,"type":"boolean"},"type":{"description":"Type: `directory` or `file`.","example":"file","type":"string"}},"type":"object","x-docs":null},"FileMigrationEntity":{"description":"Show File Migration","properties":{"dest_path":{"description":"Destination path","example":"MyFolder","type":"string"},"files_moved":{"description":"Number of files processed","example":1,"format":"int32","type":"integer"},"files_total":{"description":"Deprecated: used to return a count of the applicable files.  Currently returns 0 always.  On remote servers, it is not possible to reliably determine the number of affected files for every migration operation.","example":1,"format":"int32","type":"integer"},"id":{"description":"File migration ID","example":1,"format":"int32","type":"integer"},"log_url":{"description":"Link to download the log file for this migration.","example":"https://www.example.com/log_file","type":"string"},"operation":{"description":"The type of operation","enum":["delete","move","copy","regional_migration"],"example":"move","type":"string"},"path":{"description":"Source path","example":"MyFolder","type":"string"},"region":{"description":"Region","example":"USA","type":"string"},"status":{"description":"Status","enum":["pending","counting","processing","completed","processing_subfolders","finishing","creating_dest_folder","waiting_for_other_jobs","waiting_for_all_files","waiting_for_pending_subfolders","waiting_for_all_subfolders","failed","waiting_for_enqueued_operations","unused","processing_recursively","removing_deferred_folders"],"example":"complete","type":"string"}},"type":"object","x-docs":"FileMigrations represent background operations on one or more files, such as a copy or a region migration.\n\nIf no `operation` or `dest_path` is present, then the record represents a region migration.\n"},"FileUploadPartEntity":{"description":"Begin file upload","properties":{"action":{"description":"Type of upload","example":"multipart","type":"string"},"ask_about_overwrites":{"description":"If `true`, this file exists and you may wish to ask the user for overwrite confirmation","example":true,"type":"boolean"},"available_parts":{"description":"Number of parts in the upload","example":1,"format":"int32","type":"integer"},"expires":{"description":"Date/time of when this Upload part expires and the URL cannot be used any more","example":"example","type":"string"},"headers":{"description":"Additional upload headers to provide as part of the upload","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"http_method":{"description":"HTTP Method to use for uploading the part, usually `PUT`","example":"PUT","type":"string"},"next_partsize":{"description":"Size in bytes for this part","example":1,"format":"int32","type":"integer"},"parallel_parts":{"description":"If `true`, multiple parts may be uploaded in parallel.  If `false`, be sure to only upload one part at a time, in order.","example":true,"type":"boolean"},"parameters":{"description":"Additional HTTP parameters to send with the upload","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"part_number":{"description":"Number of this upload part","example":1,"format":"int32","type":"integer"},"partsize":{"description":"Size in bytes for the next upload part","example":1,"format":"int32","type":"integer"},"path":{"description":"New file path","example":"path","type":"string"},"ref":{"description":"Reference name for this upload part","example":"upload-1","type":"string"},"retry_parts":{"description":"If `true`, parts may be retried. If `false`, a part cannot be retried and the upload should be restarted.","example":true,"type":"boolean"},"send":{"description":"Content-Type and File to send","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"upload_uri":{"description":"URI to upload this part to","example":"example","type":"string"}},"type":"object","x-docs":null},"FormFieldEntity":{"properties":{"default_option":{"description":"Default option for radio and dropdown","example":"red","type":"string"},"field_type":{"description":"Type of Field","enum":["text","text_area","dropdown","radio"],"example":"text","type":"string"},"form_field_set_id":{"description":"Form field set id","example":1,"format":"int32","type":"integer"},"help_text":{"description":"Help text to be displayed","example":"Help Text","type":"string"},"id":{"description":"Form field id","example":1,"format":"int32","type":"integer"},"label":{"description":"Label to be displayed","example":"Sample Label","type":"string"},"options_for_select":{"description":"Options to display for radio and dropdown","example":["red","green","blue"],"items":{"example":["red","green","blue"],"type":"string"},"type":"array"},"required":{"description":"Is this a required field?","example":true,"type":"boolean"}},"type":"object","x-docs":null},"FormFieldSetEntity":{"description":"List Form Field Sets","properties":{"form_fields":{"description":"Associated form fields","example":[null],"items":{"$ref":"#/components/schemas/FormFieldEntity"},"type":"array"},"form_layout":{"description":"Layout of the form","example":[1,2,3,4],"items":{"example":[1,2,3,4],"format":"int32","type":"integer"},"type":"array"},"id":{"description":"Form field set id","example":1,"format":"int32","type":"integer"},"skip_company":{"description":"Any associated InboxRegistrations or BundleRegistrations can be saved without providing company","example":true,"type":"boolean"},"skip_email":{"description":"Any associated InboxRegistrations or BundleRegistrations can be saved without providing email","example":true,"type":"boolean"},"skip_name":{"description":"Any associated InboxRegistrations or BundleRegistrations can be saved without providing name","example":true,"type":"boolean"},"title":{"description":"Title to be displayed","example":"Sample Form Title","type":"string"}},"type":"object","x-docs":"    Form Field Sets define a custom forms to be used for bundle and inbox registrations.\n    \n    Each Form Field Set contains one or more Form Fields. A form and all of its form fields are submitted in a single create request. The order of form fields in the array is the order they will be displayed.\n    \n    Once created, a form field set can then be associated with one or more bundle(s) and/or inbox(s). Once associated, you will be required to submit well-formatted form-data when creating a bundle-registration or inbox registration.\n"},"GroupEntity":{"description":"List Groups","properties":{"admin_ids":{"description":"Comma-delimited list of user IDs who are group administrators (separated by commas)","example":"1","type":"string"},"id":{"description":"Group ID","example":1,"format":"int32","type":"integer"},"name":{"description":"Group name","example":"owners","type":"string"},"notes":{"description":"Notes about this group","example":"example","type":"string"},"user_ids":{"description":"Comma-delimited list of user IDs who belong to this group (separated by commas)","example":"1","type":"string"},"usernames":{"description":"Comma-delimited list of usernames who belong to this group (separated by commas)","example":"example","type":"string"}},"type":"object","x-docs":"Groups are a powerful tool for permissions and user management on Files.com.  Users can belong to multiple groups.\n\nAll permissions can be managed via Groups, and Groups can also be synced to your identity platform via LDAP or SCIM.\n\nFiles.com's Group Admin feature allows you to define Group Admins, who then have access to add and remove users within their groups.\n"},"GroupUserEntity":{"description":"Create Group User","properties":{"admin":{"description":"Is this user an administrator of this group?","example":true,"type":"boolean"},"group_id":{"description":"Group ID","example":1,"format":"int32","type":"integer"},"group_name":{"description":"Group name","example":"example","type":"string"},"user_id":{"description":"User ID","example":1,"format":"int32","type":"integer"},"usernames":{"description":"A list of usernames for users in this group","example":["user"],"items":{"example":["user"],"type":"string"},"type":"array"}},"type":"object","x-docs":"A GroupUser describes the membership of a User within a Group.\n\n## Creating GroupUsers\nGroupUsers can be created via the normal `create` action. When using the `update` action, if the\nGroupUser record does not exist for the given user/group IDs it will be created.\n"},"HistoryExportEntity":{"description":"Show History Export","properties":{"end_at":{"description":"End date/time of export range.","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"history_version":{"description":"Version of the history for the export.","example":"example","type":"string"},"id":{"description":"History Export ID","example":1,"format":"int32","type":"integer"},"query_action":{"description":"Filter results by this this action type. Valid values: `create`, `read`, `update`, `destroy`, `move`, `login`, `failedlogin`, `copy`, `user_create`, `user_update`, `user_destroy`, `group_create`, `group_update`, `group_destroy`, `permission_create`, `permission_destroy`, `api_key_create`, `api_key_update`, `api_key_destroy`","example":"read","type":"string"},"query_destination":{"description":"Return results that are file moves with this path as destination.","example":"DestFolder","type":"string"},"query_failure_type":{"description":"If searching for Histories about login failures, this parameter restricts results to failures of this specific type.  Valid values: `expired_trial`, `account_overdue`, `locked_out`, `ip_mismatch`, `password_mismatch`, `site_mismatch`, `username_not_found`, `none`, `no_ftp_permission`, `no_web_permission`, `no_directory`, `errno_enoent`, `no_sftp_permission`, `no_dav_permission`, `no_restapi_permission`, `key_mismatch`, `region_mismatch`, `expired_access`, `desktop_ip_mismatch`, `desktop_api_key_not_used_quickly_enough`, `disabled`, `country_mismatch`","example":"bad_password","type":"string"},"query_file_id":{"description":"Return results that are file actions related to the file indicated by this File ID","example":"1","type":"string"},"query_folder":{"description":"Return results that are file actions related to files or folders inside this folder path.","example":"Folder","type":"string"},"query_interface":{"description":"Filter results by this this interface type. Valid values: `web`, `ftp`, `robot`, `jsapi`, `webdesktopapi`, `sftp`, `dav`, `desktop`, `restapi`, `scim`, `office`, `mobile`, `as2`, `inbound_email`, `remote`","example":"ftp","type":"string"},"query_ip":{"description":"Filter results by this IP address.","example":"127.0.0.1","type":"string"},"query_parent_id":{"description":"Return results that are file actions inside the parent folder specified by this folder ID","example":"1","type":"string"},"query_path":{"description":"Return results that are file actions related to this path.","example":"MyFile.txt","type":"string"},"query_src":{"description":"Return results that are file moves originating from this path.","example":"SrcFolder","type":"string"},"query_target_id":{"description":"If searching for Histories about specific objects (such as Users, or API Keys), this paremeter restricts results to objects that match this ID.","example":"1","type":"string"},"query_target_name":{"description":"If searching for Histories about Users, Groups or other objects with names, this parameter restricts results to objects with this name/username.","example":"full","type":"string"},"query_target_permission":{"description":"If searching for Histories about Permisisons, this parameter restricts results to permissions of this level.","example":"full","type":"string"},"query_target_permission_set":{"description":"If searching for Histories about API keys, this parameter restricts results to API keys with this permission set.","example":"desktop_app","type":"string"},"query_target_platform":{"description":"If searching for Histories about API keys, this parameter restricts results to API keys associated with this platform.","example":"windows","type":"string"},"query_target_user_id":{"description":"If searching for Histories about API keys, this parameter restricts results to API keys created by/for this user ID.","example":"1","type":"string"},"query_target_username":{"description":"If searching for Histories about API keys, this parameter restricts results to API keys created by/for this username.","example":"jerry","type":"string"},"query_user_id":{"description":"Return results that are actions performed by the user indiciated by this User ID","example":"1","type":"string"},"query_username":{"description":"Filter results by this username.","example":"jerry","type":"string"},"results_url":{"description":"If `status` is `ready`, this will be a URL where all the results can be downloaded at once as a CSV.","example":"https://files.com/history_results.csv","type":"string"},"start_at":{"description":"Start date/time of export range.","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"status":{"description":"Status of export.  Will be: `building`, `ready`, or `failed`","example":"ready","type":"string"}},"type":"object","x-docs":"The History Export resource on the API is used to export historical action (history) logs.\n\nAll queries against the archive must be submitted as Exports.  (Even our Web UI creates an Export behind\nthe scenes.)\n\nWe use Amazon Athena behind the scenes for processing these queries, and as such, have powerful\nsearch capabilities.  We've done our best to expose search capabilities via this History Export API.\n\nIn any query field in this API, you may specify multiple values separated by commas.  That means that commas\ncannot be searched for themselves, and neither can single quotation marks.\n\nWe do not currently partition data by date on the backend, so all queries result in a full scan of the entire\ndata lake.  This means that all queries will take about the same amount of time to complete, and we incur about\nthe same cost per query internally.  We don't typically bill our customers for these queries, assuming\nusage is occasional and manual.\n\nIf you intend to use this API for high volume or automated use, please contact us with more information\nabout your use case.  We may decide to change the backend data schema to match your use case more closely, and\nwe may also need to charge an additional cost per query.\n\n## Example History Queries\n\n* History for a user: `{ \"query_user_id\": 123 }`\n* History for a range of time: `{ \"start_at\": \"2021-03-18 12:00:00\", \"end_at\": \"2021-03-19 12:00:00\" }`\n* History of logins and failed logins: `{ \"query_action\": \"login,failedlogin\" }`\n* A Complex query: `{ \"query_folder\": \"uploads\", \"query_action\": \"create,copy,move\", \"start_at\": \"2021-03-18 12:00:00\", \"end_at\": \"2021-03-19 12:00:00\" }`\n"},"HistoryExportResultEntity":{"description":"List History Export Results","properties":{"action":{"description":"What action was taken. Valid values: `create`, `read`, `update`, `destroy`, `move`, `login`, `failedlogin`, `copy`, `user_create`, `user_update`, `user_destroy`, `group_create`, `group_update`, `group_destroy`, `permission_create`, `permission_destroy`, `api_key_create`, `api_key_update`, `api_key_destroy`","example":"read","type":"string"},"created_at":{"description":"When the action happened","example":1,"format":"int32","type":"integer"},"created_at_iso8601":{"description":"When the action happened, in ISO8601 format.","example":1,"format":"int32","type":"integer"},"destination":{"description":"File moved to this destination folder","example":"DestFolder","type":"string"},"failure_type":{"description":"The type of login failure, if applicable.  Valid values: `expired_trial`, `account_overdue`, `locked_out`, `ip_mismatch`, `password_mismatch`, `site_mismatch`, `username_not_found`, `none`, `no_ftp_permission`, `no_web_permission`, `no_directory`, `errno_enoent`, `no_sftp_permission`, `no_dav_permission`, `no_restapi_permission`, `key_mismatch`, `region_mismatch`, `expired_access`, `desktop_ip_mismatch`, `desktop_api_key_not_used_quickly_enough`, `disabled`, `country_mismatch`","example":"bad_password","type":"string"},"file_id":{"description":"File ID related to the action","example":1,"format":"int32","type":"integer"},"folder":{"description":"Folder in which the action occurred","example":"Folder","type":"string"},"id":{"description":"Action ID","example":1,"format":"int32","type":"integer"},"interface":{"description":"Inteface through which the action was taken. Valid values: `web`, `ftp`, `robot`, `jsapi`, `webdesktopapi`, `sftp`, `dav`, `desktop`, `restapi`, `scim`, `office`, `mobile`, `as2`, `inbound_email`, `remote`","example":"ftp","type":"string"},"ip":{"description":"Client IP that performed the action","example":"127.0.0.1","type":"string"},"parent_id":{"description":"ID of the parent folder","example":1,"format":"int32","type":"integer"},"path":{"description":"Path of the related action","example":"MyFile.txt","type":"string"},"src":{"description":"File move originated from this path","example":"SrcFolder","type":"string"},"target_expires_at":{"description":"If searching for Histories about API keys, this is when the API key will expire","example":1,"format":"int32","type":"integer"},"target_id":{"description":"ID of the object (such as Users, or API Keys) on which the action was taken","example":1,"format":"int32","type":"integer"},"target_name":{"description":"Name of the User, Group or other object with a name related to this action","example":"full","type":"string"},"target_permission":{"description":"Permission level of the action","example":"full","type":"string"},"target_permission_set":{"description":"If searching for Histories about API keys, this represents the permission set of the associated  API key","example":"desktop_app","type":"string"},"target_platform":{"description":"If searching for Histories about API keys, this is the platform on which the action was taken","example":"windows","type":"string"},"target_recursive":{"description":"Whether or not the action was recursive","example":true,"type":"boolean"},"target_user_id":{"description":"If searching for Histories about API keys, this is the User ID on which the action was taken","example":1,"format":"int32","type":"integer"},"target_username":{"description":"If searching for Histories about API keys, this is the username on which the action was taken","example":"jerry","type":"string"},"user_id":{"description":"User ID","example":1,"format":"int32","type":"integer"},"username":{"description":"Username of the user that performed the action","example":"jerry","type":"string"}},"type":"object","x-docs":null},"ImageEntity":{"properties":{"name":{"description":"Image name","example":"My logo","type":"string"},"uri":{"description":"Image URI","example":"https://mysite.files.com/.../my_image.png","type":"string"}},"type":"object","x-docs":null},"InboxRecipientEntity":{"description":"List Inbox Recipients","properties":{"company":{"description":"The recipient's company.","example":"Acme Inc.","type":"string"},"name":{"description":"The recipient's name.","example":"John Doe","type":"string"},"note":{"description":"A note sent to the recipient with the inbox.","example":"Some note.","type":"string"},"recipient":{"description":"The recipient's email address.","example":"john.doe@example.com","type":"string"},"sent_at":{"description":"When the Inbox was shared with this recipient.","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"}},"type":"object","x-docs":"Inbox recipients are people who have had an inbox shared with them.\n"},"InboxRegistrationEntity":{"description":"List Inbox Registrations","properties":{"clickwrap_body":{"description":"Clickwrap text that was shown to the registrant","example":"example","type":"string"},"code":{"description":"Registration cookie code","example":"abc123","type":"string"},"company":{"description":"Registrant company name","example":"Action Verb","type":"string"},"created_at":{"description":"Registration creation date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"email":{"description":"Registrant email address","example":"john.doe@files.com","type":"string"},"form_field_data":{"description":"Data for form field set with form field ids as keys and user data as values","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"form_field_set_id":{"description":"Id of associated form field set","example":1,"format":"int32","type":"integer"},"inbox_id":{"description":"Id of associated inbox","example":1,"format":"int32","type":"integer"},"inbox_recipient_id":{"description":"Id of associated inbox recipient","example":1,"format":"int32","type":"integer"},"inbox_title":{"description":"Title of associated inbox","example":"example","type":"string"},"name":{"description":"Registrant name","example":"account","type":"string"}},"type":"object","x-docs":"InboxRegistrations record when an Inbox user fills out the form to access the inbox.\n"},"InboxUploadEntity":{"description":"List Inbox Uploads","properties":{"created_at":{"description":"Upload date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"inbox_registration":{"$ref":"#/components/schemas/InboxRegistrationEntity"},"path":{"description":"Upload path","example":"a/b/test.txt","type":"string"}},"type":"object","x-docs":null},"InvoiceLineItemEntity":{"properties":{"amount":{"description":"Invoice line item amount","example":1,"format":"double","type":"number"},"created_at":{"description":"Invoice line item created at date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"description":{"description":"Invoice line item description","example":"Service from 2019-01-01 through 2019-12-31","type":"string"},"plan":{"description":"Plan name","example":"Premier","type":"string"},"service_end_at":{"description":"Invoice line item service end date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"service_start_at":{"description":"Invoice line item service start date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"site":{"description":"Site name","example":"My site","type":"string"},"type":{"description":"Invoice line item type","enum":["invoice","invoice_adjustment","usage_overage","user_overage","addon_subscription","misc_fee","usage_overage_adjustment","user_overage_adjustment","addon_subscription_adjustment","misc_fee_adjustment","credit_expiration"],"example":"invoice","type":"string"},"updated_at":{"description":"Invoice line item updated date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"}},"type":"object","x-docs":null},"IpAddressEntity":{"description":"List IP Addresses associated with the current site","properties":{"associated_with":{"description":"The object that this public IP address list is associated with.","example":"Site","type":"string"},"group_id":{"description":"Group ID","example":1,"format":"int32","type":"integer"},"id":{"description":"Unique label for list; used by Zapier and other integrations.","example":"Site","type":"string"},"ip_addresses":{"description":"A list of IP addresses.","example":["127.0.0.1"],"items":{"example":["127.0.0.1"],"type":"string"},"type":"array"}},"type":"object","x-docs":"Customers who maintain custom firewall configurations may require knowing the public IP addresses of Files.com's edge servers.\n\nThis API resource provides an updated list of IP addresses that you can use to automate keeping your firewall's configuration up to date.\n"},"LockEntity":{"description":"List Locks by path","properties":{"allow_access_by_any_user":{"description":"Can lock be modified by users other than its creator?","type":"boolean"},"depth":{"description":"DEPRECATED: Lock depth","example":"infinity","type":"string"},"exclusive":{"description":"Is lock exclusive?","type":"boolean"},"owner":{"description":"Owner of the lock.  This can be any arbitrary string.","example":"user","type":"string"},"path":{"description":"Path","example":"locked_file","type":"string"},"recursive":{"description":"Does lock apply to subfolders?","example":true,"type":"boolean"},"scope":{"description":"DEPRECATED: Lock scope","example":"shared","type":"string"},"timeout":{"description":"Lock timeout in seconds","example":1,"format":"int32","type":"integer"},"token":{"description":"Lock token.  Use to release lock.","example":"17c54824e9931a4688ca032d03f6663c","type":"string"},"type":{"description":"DEPRECATED: Lock type","example":"write","type":"string"},"user_id":{"description":"Lock creator user ID","example":1,"format":"int32","type":"integer"},"username":{"description":"Lock creator username","example":"username","type":"string"}},"type":"object","x-docs":"Locks are not used by Files.com's web interface, but can be used by your applications to\nimplement locking and concurrency features. Note that these locks are advisory in nature,\nand creating a lock does not prevent other API requests from being fulfilled.\n\nOur lock feature is designed to emulate the locking feature offered by WebDAV.\nYou can read the WebDAV spec and understand how all of the below endpoints work.\n\nFiles.com's WebDAV offering and desktop app does leverage this locking API.\n"},"MessageCommentEntity":{"description":"List Message Comments","properties":{"body":{"description":"Comment body.","example":"What a great idea, thank you!","type":"string"},"id":{"description":"Message Comment ID","example":1,"format":"int32","type":"integer"},"reactions":{"description":"Reactions to this comment.","example":[null],"items":{"$ref":"#/components/schemas/MessageCommentReactionEntity"},"type":"array"}},"type":"object","x-docs":"A message comment represents a comment made by a user on a message.\n"},"MessageCommentReactionEntity":{"description":"List Message Comment Reactions","properties":{"emoji":{"description":"Emoji used in the reaction.","example":"👍","type":"string"},"id":{"description":"Reaction ID","example":1,"format":"int32","type":"integer"}},"type":"object","x-docs":"A message comment reaction represents a reaction emoji made by a user on a message comment.\n"},"MessageEntity":{"description":"List Messages","properties":{"body":{"description":"Message body.","example":"We should upgrade our Files.com account!","type":"string"},"comments":{"description":"Comments.","example":[null],"items":{"$ref":"#/components/schemas/MessageCommentEntity"},"type":"array"},"id":{"description":"Message ID","example":1,"format":"int32","type":"integer"},"subject":{"description":"Message subject.","example":"Files.com Account Upgrade","type":"string"}},"type":"object","x-docs":"Messages are part of Files.com's project management features and represent a message posted by a user to a project.\n"},"MessageReactionEntity":{"description":"List Message Reactions","properties":{"emoji":{"description":"Emoji used in the reaction.","example":"👍","type":"string"},"id":{"description":"Reaction ID","example":1,"format":"int32","type":"integer"}},"type":"object","x-docs":"A message reaction represents a reaction emoji made by a user on a message.\n"},"NotificationEntity":{"description":"List Notifications","properties":{"group_id":{"description":"Notification group id","example":0,"format":"int32","type":"integer"},"group_name":{"description":"Group name if applicable","example":"example","type":"string"},"id":{"description":"Notification ID","example":1,"format":"int32","type":"integer"},"message":{"description":"Custom message to include in notification emails.","example":"custom notification email message","type":"string"},"notify_on_copy":{"description":"Triggers notification when copying files to this path","example":true,"type":"boolean"},"notify_on_delete":{"description":"Triggers notification when deleting files from this path","example":true,"type":"boolean"},"notify_on_download":{"description":"Triggers notification when downloading files from this path","example":true,"type":"boolean"},"notify_on_move":{"description":"Triggers notification when moving files to this path","example":true,"type":"boolean"},"notify_on_upload":{"description":"Triggers notification when uploading new files to this path","example":true,"type":"boolean"},"notify_user_actions":{"description":"Trigger notification on notification user actions?","example":true,"type":"boolean"},"path":{"description":"Folder path to notify on","example":"path","type":"string"},"recursive":{"description":"Enable notifications for each subfolder in this path","example":true,"type":"boolean"},"send_interval":{"description":"The time interval that notifications are aggregated to","enum":["five_minutes","fifteen_minutes","hourly","daily"],"example":"fifteen_minutes","type":"string"},"suppressed_email":{"description":"If true, it means that the recipient at this user's email address has manually unsubscribed from all emails, or had their email \"hard bounce\", which means that we are unable to send mail to this user's current email address. Notifications will resume if the user changes their email address.","example":true,"type":"boolean"},"trigger_by_share_recipients":{"description":"Notify when actions are performed by a share recipient?","example":true,"type":"boolean"},"triggering_filenames":{"description":"Array of filenames (possibly with wildcards) to match for action path","example":["*.jpg","notify_file.txt"],"items":{"example":["*.jpg","notify_file.txt"],"type":"string"},"type":"array"},"triggering_group_ids":{"description":"Only notify on actions made by a member of one of the specified groups","example":[1],"items":{"example":[1],"format":"int32","type":"integer"},"type":"array"},"triggering_user_ids":{"description":"Only notify on actions made one of the specified users","example":[1],"items":{"example":[1],"format":"int32","type":"integer"},"type":"array"},"unsubscribed":{"description":"Is the user unsubscribed from this notification?","example":true,"type":"boolean"},"unsubscribed_reason":{"description":"The reason that the user unsubscribed","enum":["none","unsubscribe_link_clicked","mail_bounced","mail_marked_as_spam"],"example":"example","type":"string"},"user_id":{"description":"Notification user ID","example":1,"format":"int32","type":"integer"},"username":{"description":"Notification username","example":"User","type":"string"}},"type":"object","x-docs":"Notifications are our feature that send E-Mails when new files are uploaded into a folder.\n"},"PaymentLineItemEntity":{"properties":{"amount":{"description":"Payment line item amount","example":1,"format":"double","type":"number"},"created_at":{"description":"Payment line item created at date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"invoice_id":{"description":"Invoice ID","example":1,"format":"int32","type":"integer"},"payment_id":{"description":"Payment ID","example":1,"format":"int32","type":"integer"}},"type":"object","x-docs":null},"PermissionEntity":{"description":"List Permissions","properties":{"group_id":{"description":"Group ID","example":0,"format":"int32","type":"integer"},"group_name":{"description":"Group name if applicable","example":"example","type":"string"},"id":{"description":"Permission ID","example":1,"format":"int32","type":"integer"},"path":{"description":"Folder path","example":"example","type":"string"},"permission":{"description":"Permission type","enum":["full","readonly","writeonly","list","history","admin","bundle"],"example":"full","type":"string"},"recursive":{"description":"Does this permission apply to subfolders?","example":true,"type":"boolean"},"user_id":{"description":"User ID","example":1,"format":"int32","type":"integer"},"username":{"description":"User's username","example":"Sser","type":"string"}},"type":"object","x-docs":"Permission objects represent the grant of permissions to a user or group.\n\nThey are specific to a path and can be either recursive or nonrecursive into the subfolders of that path.\n"},"PreviewEntity":{"properties":{"download_uri":{"description":"Link to download preview","example":"https://mysite.files.com/...","type":"string"},"id":{"description":"Preview ID","example":1,"format":"int32","type":"integer"},"size":{"description":"Preview size","example":"large","type":"string"},"status":{"description":"Preview status.  Can be invalid, not_generated, generating, complete, or file_too_large","example":"complete","type":"string"},"type":{"description":"Preview type. Can be image, pdf, pdf_native, video, or audio","example":"image","type":"string"}},"type":"object","x-docs":"Previews are image or PDF previews that are meant to be viewed within the web interface.\n"},"PriorityEntity":{"description":"List Priorities","properties":{"color":{"description":"The priority color","example":"pink","type":"string"},"path":{"description":"The path corresponding to the priority color","example":"foo/bar","type":"string"}},"type":"object","x-docs":null},"ProjectEntity":{"description":"List Projects","properties":{"global_access":{"description":"Global access settings","enum":["none","anyone_with_read","anyone_with_full"],"example":"none","type":"string"},"id":{"description":"Project ID","example":1,"format":"int32","type":"integer"}},"type":"object","x-docs":"Projects are associated with a folder and add project management features to that folder.\n"},"PublicIpAddressEntity":{"description":"List all possible public IP addresses","properties":{"ftp_enabled":{"example":true,"type":"boolean"},"ip_address":{"description":"The public IP address.","example":"1.1.1.1","type":"string"},"server_name":{"description":"The name of the frontend server.","example":"server-1","type":"string"},"sftp_enabled":{"example":true,"type":"boolean"}},"type":"object","x-docs":"These are all IP addresses that `app.files.com` (or `*.files.com`) may potentially resolve to over the next 30 days.  This list includes IP addresses that are hot standbys not in use."},"PublicKeyEntity":{"description":"List Public Keys","properties":{"created_at":{"description":"Public key created at date/time","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"fingerprint":{"description":"Public key fingerprint","example":"43:51:43:a1:b5:fc:8b:b7:0a:3a:a9:b1:0f:66:73:a8","type":"string"},"id":{"description":"Public key ID","example":1,"format":"int32","type":"integer"},"title":{"description":"Public key title","example":"My public key","type":"string"}},"type":"object","x-docs":"Public keys are used by Users who want to connect via SFTP/SSH.\n(Note that our SSH support is limited to file operations only, no shell is provided.)\n"},"RemoteBandwidthSnapshotEntity":{"description":"List Remote Bandwidth Snapshots","properties":{"id":{"description":"Site bandwidth ID","example":1,"format":"int32","type":"integer"},"logged_at":{"description":"Time the site bandwidth report was logged","example":"2025-06-15T13:48:58.066Z","format":"date-time","type":"string"},"remote_server_id":{"description":"ID of related Remote Server","example":1,"format":"int32","type":"integer"},"sync_bytes_received":{"description":"Site sync bandwidth report bytes received","example":1,"format":"double","type":"number"},"sync_bytes_sent":{"description":"Site sync bandwidth report bytes sent","example":1,"format":"double","type":"number"}},"type":"object","x-docs":null},"RemoteServerConfigurationFileEntity":{"description":"Download configuration file (required for some Remote Server integrations, such as the Files.com Agent)","properties":{"api_token":{"description":"Files Agent API Token","example":"example","type":"string"},"config_version":{"description":"agent config version","example":"example","type":"string"},"hostname":{"example":"example","type":"string"},"id":{"description":"Agent ID","example":1,"format":"int32","type":"integer"},"permission_set":{"description":"","example":"full","type":"string"},"port":{"description":"Incoming port for files agent connections","example":1,"format":"int32","type":"integer"},"private_key":{"description":"private key","example":"example","type":"string"},"public_key":{"description":"public key","example":"example","type":"string"},"root":{"description":"Agent local root path","example":"example","type":"string"},"server_host_key":{"example":"example","type":"string"},"status":{"description":"either running or shutdown","example":"example","type":"string"},"subdomain":{"example":"example","type":"string"}},"type":"object","x-docs":null},"RemoteServerEntity":{"description":"Create Remote Server","properties":{"auth_account_name":{"description":"Describes the authorized account","example":"me@example.com","type":"string"},"auth_setup_link":{"description":"Returns link to login with an Oauth provider","example":"auth/:provider","type":"string"},"auth_status":{"description":"Either `in_setup` or `complete`","enum":["not_applicable","in_setup","complete","reauthenticate"],"example":"in_setup","type":"string"},"authentication_method":{"description":"Type of authentication method","example":"password","type":"string"},"aws_access_key":{"description":"AWS Access Key.","example":"example","type":"string"},"azure_blob_storage_account":{"description":"Azure Blob Storage Account name","example":"storage-account-name","type":"string"},"azure_blob_storage_container":{"description":"Azure Blob Storage Container name","example":"container-name","type":"string"},"azure_blob_storage_sas_token":{"description":"Shared Access Signature (SAS) token","example":"storage-sas-token","type":"string"},"azure_files_storage_account":{"description":"Azure File Storage Account name","example":"storage-account-name","type":"string"},"azure_files_storage_sas_token":{"description":"Shared Access Signature (SAS) token","example":"storage-sas-token","type":"string"},"azure_files_storage_share_name":{"description":"Azure File Storage Share name","example":"share-name","type":"string"},"backblaze_b2_bucket":{"description":"Backblaze B2 Cloud Storage Bucket name","example":"my-bucket","type":"string"},"backblaze_b2_s3_endpoint":{"description":"Backblaze B2 Cloud Storage S3 Endpoint","example":"s3.us-west-001.backblazeb2.com","type":"string"},"disabled":{"description":"If true, this server has been disabled due to failures.  Make any change or set disabled to false to clear this flag.","example":true,"type":"boolean"},"enable_dedicated_ips":{"description":"`true` if remote server only accepts connections from dedicated IPs","example":true,"type":"boolean"},"filebase_access_key":{"description":"Filebase Access Key.","example":"example","type":"string"},"filebase_bucket":{"description":"Filebase Bucket name","example":"my-bucket","type":"string"},"files_agent_api_token":{"description":"Files Agent API Token","example":"example","type":"string"},"files_agent_permission_set":{"description":"Local permissions for files agent. read_only, write_only, or read_write","enum":["read_write","read_only","write_only"],"example":"read_write","type":"string"},"files_agent_root":{"description":"Agent local root path","example":"example","type":"string"},"google_cloud_storage_bucket":{"description":"Google Cloud Storage bucket name","example":"my-bucket","type":"string"},"google_cloud_storage_project_id":{"description":"Google Cloud Project ID","example":"my-project","type":"string"},"hostname":{"description":"Hostname or IP address","example":"remote-server.com","type":"string"},"id":{"description":"Remote server ID","example":1,"format":"int32","type":"integer"},"max_connections":{"description":"Max number of parallel connections.  Ignored for S3 connections (we will parallelize these as much as possible).","example":1,"format":"int32","type":"integer"},"name":{"description":"Internal name for your reference","example":"My Remote server","type":"string"},"one_drive_account_type":{"description":"Either personal or business_other account types","enum":["personal","business_other"],"example":"personal","type":"string"},"pin_to_site_region":{"description":"If true, we will ensure that all communications with this remote server are made through the primary region of the site.  This setting can also be overridden by a sitewide setting which will force it to true.","example":true,"type":"boolean"},"pinned_region":{"description":"If set, all communciations with this remote server are made through the provided region.","example":"us-east-1","type":"string"},"port":{"description":"Port for remote server.  Not needed for S3.","example":1,"format":"int32","type":"integer"},"rackspace_container":{"description":"The name of the container (top level directory) where files will sync.","example":"my-container","type":"string"},"rackspace_region":{"description":"Three letter airport code for Rackspace region. See https://support.rackspace.com/how-to/about-regions/","example":"dfw","type":"string"},"rackspace_username":{"description":"Rackspace username used to login to the Rackspace Cloud Control Panel.","example":"rackspaceuser","type":"string"},"remote_home_path":{"description":"Initial home folder on remote server","example":"/home/user1","type":"string"},"s3_bucket":{"description":"S3 bucket name","example":"my-bucket","type":"string"},"s3_compatible_access_key":{"description":"S3-compatible Access Key.","example":"example","type":"string"},"s3_compatible_bucket":{"description":"S3-compatible Bucket name","example":"my-bucket","type":"string"},"s3_compatible_endpoint":{"description":"S3-compatible endpoint","example":"mys3platform.com","type":"string"},"s3_compatible_region":{"description":"S3-compatible endpoint","example":"us-east-1","type":"string"},"s3_region":{"description":"S3 region","example":"us-east-1","type":"string"},"server_certificate":{"description":"Remote server certificate","enum":["require_match","allow_any"],"example":"require_match","type":"string"},"server_host_key":{"description":"Remote server SSH Host Key. If provided, we will require that the server host key matches the provided key. Uses OpenSSH format similar to what would go into ~/.ssh/known_hosts","example":"[public key]","type":"string"},"server_type":{"description":"Remote server type.","enum":["ftp","sftp","s3","google_cloud_storage","webdav","wasabi","backblaze_b2","one_drive","rackspace","box","dropbox","google_drive","azure","sharepoint","s3_compatible","azure_files","files_agent","filebase"],"example":"s3","type":"string"},"ssl":{"description":"Should we require SSL?","enum":["if_available","require","require_implicit","never"],"example":"if_available","type":"string"},"username":{"description":"Remote server username.  Not needed for S3 buckets.","example":"user","type":"string"},"wasabi_access_key":{"description":"Wasabi access key.","example":"example","type":"string"},"wasabi_bucket":{"description":"Wasabi Bucket name","example":"my-bucket","type":"string"},"wasabi_region":{"description":"Wasabi region","example":"us-west-1","type":"string"}},"type":"object","x-docs":"Remote servers are used with the `remote_server_sync` Behavior.\n\nRemote Servers can be either an FTP server, SFTP server, S3 bucket, Google Cloud Storage, Wasabi, Backblaze B2 Cloud Storage, Rackspace Cloud Files container, WebDAV, Box, Dropbox, OneDrive, Google Drive, or Azure Blob Storage.\n\nNot every attribute will apply to every remote server.\n\nFTP Servers require that you specify their `hostname`, `port`, `username`, `password`, and a value for `ssl`.  Optionally, provide `server_certificate`.\n\nSFTP Servers require that you specify their `hostname`, `port`, `username`, `password` or `private_key`, and a value for `ssl`.  Optionally, provide `server_certificate`, `private_key_passphrase`.\n\nS3 Buckets require that you specify their `s3_bucket` name, and `s3_region`.  Optionally provide a `aws_access_key`, and `aws_secret_key`.  If you don't provide credentials, you will need to use AWS to grant us access to your bucket.\n\nS3-Compatible Buckets require that you specify `s3_compatible_bucket`, `s3_compatible_endpoint`, `s3_compatible_access_key`, and `s3_compatible_secret_key`.\n\nGoogle Cloud Storage requires that you specify `google_cloud_storage_bucket`, `google_cloud_storage_project_id`, and `google_cloud_storage_credentials_json`.\n\nWasabi requires `wasabi_bucket`, `wasabi_region`, `wasabi_access_key`, and `wasabi_secret_key`.\n\nBackblaze B2 Cloud Storage `backblaze_b2_bucket`, `backblaze_b2_s3_endpoint`, `backblaze_b2_application_key`, and `backblaze_b2_key_id`. (Requires S3 Compatible API) See https://help.backblaze.com/hc/en-us/articles/360047425453\n\nRackspace Cloud Files requires `rackspace_username`, `rackspace_api_key`, `rackspace_region`, and `rackspace_container`.\n\nWebDAV Servers require that you specify their `hostname`, `username`, and `password`.\n\nOneDrive follow the `auth_setup_link` and login with Microsoft.\n\nSharepoint follow the `auth_setup_link` and login with Microsoft.\n\nBox follow the `auth_setup_link` and login with Box.\n\nDropbox follow the `auth_setup_link` and login with Dropbox.\n\nGoogle Drive follow the `auth_setup_link` and login with Google.\n\nAzure Blob Storage `azure_blob_storage_account`, `azure_blob_storage_container`, `azure_blob_storage_access_key`, `azure_blob_storage_sas_token`\n\nAzure File Storage `azure_files_storage_account`, `azure_files_storage_access_key`, `azure_files_storage_share_name`\n\nFilebase requires `filebase_bucket`, `filebase_access_key`, and `filebase_secret_key`.\n"},"RequestEntity":{"description":"List Requests","properties":{"automation_id":{"description":"ID of automation that created request","example":"example","type":"string"},"destination":{"description":"Destination filename","example":"example","type":"string"},"id":{"description":"Request ID","example":1,"format":"int32","type":"integer"},"path":{"description":"Folder path","example":"example","type":"string"},"source":{"description":"Source filename, if applicable","example":"example","type":"string"},"user_display_name":{"description":"User making the request (if applicable)","example":"example","type":"string"}},"type":"object","x-docs":"A Request represents a file that *should* be uploaded by a specific user or group.\n\nRequests can either be manually created and managed, or managed automatically by an Automation.\n"},"SessionEntity":{"description":"Create user session (log in)","properties":{"id":{"description":"Session ID","example":"60525f92e859c4c3d74cb02fd176b1525901b525","type":"string"},"language":{"description":"Session language","example":"en","type":"string"},"read_only":{"description":"Is this session read only?","example":true,"type":"boolean"},"sftp_insecure_ciphers":{"description":"Are insecure SFTP ciphers allowed for this user? (If this is set to true, the site administrator has signaled that it is ok to use less secure SSH ciphers for this user.)","type":"boolean"}},"type":"object","x-docs":"You may use a Session to make further API calls using our REST API or SDKs as a specific user.\nThis is the only way to use the API if you know a username/password but not an API key.\n"},"SettingsChangeEntity":{"description":"List Settings Changes","properties":{"changes":{"description":"Markdown-formatted change messages.","example":["example"],"items":{"example":["example"],"type":"string"},"type":"array"},"created_at":{"description":"The time this change was made","example":"2025-06-15T13:48:58.067Z","format":"date-time","type":"string"},"user_id":{"description":"The user id responsible for this change","example":1,"format":"int32","type":"integer"},"user_is_files_support":{"description":"true if this change was performed by Files.com support.","type":"boolean"},"username":{"description":"The username of the user responsible for this change","example":"some_user","type":"string"}},"type":"object","x-docs":"Settings changes caused by any user.\n"},"SftpHostKeyEntity":{"description":"Create Sftp Host Key","properties":{"fingerprint_md5":{"description":"MD5 Fingerpint of the public key","example":"example","type":"string"},"fingerprint_sha256":{"description":"SHA256 Fingerpint of the public key","example":"example","type":"string"},"id":{"description":"Sftp Host Key ID","example":1,"format":"int32","type":"integer"},"name":{"description":"The friendly name of this SFTP Host Key.","example":"example","type":"string"}},"type":"object","x-docs":null},"SiteEntity":{"description":"Show site settings","properties":{"active_sftp_host_key_id":{"description":"Id of the currently selected custom SFTP Host Key","example":1,"format":"int32","type":"integer"},"admin_user_id":{"description":"User ID for the main site administrator","example":1,"format":"int32","type":"integer"},"allow_bundle_names":{"description":"Are manual Bundle names allowed?","example":true,"type":"boolean"},"allowed_2fa_method_bypass_for_ftp_sftp_dav":{"description":"Are users allowed to configure their two factor authentication to be bypassed for FTP/SFTP/WebDAV?","example":true,"type":"boolean"},"allowed_2fa_method_sms":{"description":"Is SMS two factor authentication allowed?","example":true,"type":"boolean"},"allowed_2fa_method_totp":{"description":"Is TOTP two factor authentication allowed?","example":true,"type":"boolean"},"allowed_2fa_method_u2f":{"description":"Is U2F two factor authentication allowed?","example":true,"type":"boolean"},"allowed_2fa_method_webauthn":{"description":"Is WebAuthn two factor authentication allowed?","example":true,"type":"boolean"},"allowed_2fa_method_yubi":{"description":"Is yubikey two factor authentication allowed?","example":true,"type":"boolean"},"allowed_countries":{"description":"Comma seperated list of allowed Country codes","example":"US,DE","type":"string"},"allowed_ips":{"description":"List of allowed IP addresses","example":"example","type":"string"},"ask_about_overwrites":{"description":"If false, rename conflicting files instead of asking for overwrite confirmation.  Only applies to web interface.","example":true,"type":"boolean"},"bundle_activity_notifications":{"description":"Do Bundle owners receive activity notifications?","enum":["never","always","per_bundle_setting"],"example":"never","type":"string"},"bundle_expiration":{"description":"Site-wide Bundle expiration in days","example":1,"format":"int32","type":"integer"},"bundle_password_required":{"description":"Do Bundles require password protection?","example":true,"type":"boolean"},"bundle_registration_notifications":{"description":"Do Bundle owners receive registration notification?","enum":["never","always","per_bundle_setting"],"example":"never","type":"string"},"bundle_require_share_recipient":{"description":"Do Bundles require recipients for sharing?","example":true,"type":"boolean"},"bundle_upload_receipt_notifications":{"description":"Do Bundle uploaders receive upload confirmation notifications?","enum":["never","always","per_bundle_setting"],"example":"never","type":"string"},"bundle_watermark_attachment":{"$ref":"#/components/schemas/ImageEntity"},"bundle_watermark_value":{"description":"Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"color2_left":{"description":"Page link and button color","example":"#0066a7","type":"string"},"color2_link":{"description":"Top bar link color","example":"#d34f5d","type":"string"},"color2_text":{"description":"Page link and button color","example":"#0066a7","type":"string"},"color2_top":{"description":"Top bar background color","example":"#000000","type":"string"},"color2_top_text":{"description":"Top bar text color","example":"#ffffff","type":"string"},"contact_name":{"description":"Site main contact name","example":"John Doe","type":"string"},"created_at":{"description":"Time this site was created","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"currency":{"description":"Preferred currency","example":"USD","type":"string"},"custom_namespace":{"description":"Is this site using a custom namespace for users?","example":true,"type":"boolean"},"days_to_retain_backups":{"description":"Number of days to keep deleted files","example":30,"format":"int32","type":"integer"},"default_time_zone":{"description":"Site default time zone","example":"Pacific Time (US & Canada)","type":"string"},"desktop_app":{"description":"Is the desktop app enabled?","example":true,"type":"boolean"},"desktop_app_session_ip_pinning":{"description":"Is desktop app session IP pinning enabled?","example":true,"type":"boolean"},"desktop_app_session_lifetime":{"description":"Desktop app session lifetime (in hours)","example":1,"format":"int32","type":"integer"},"disable_files_certificate_generation":{"description":"If set, Files.com will not set the CAA records required to generate future SSL certificates for this domain.","example":true,"type":"boolean"},"disable_notifications":{"description":"Are notifications disabled?","example":true,"type":"boolean"},"disable_password_reset":{"description":"Is password reset disabled?","example":true,"type":"boolean"},"disable_users_from_inactivity_period_days":{"description":"If greater than zero, users will unable to login if they do not show activity within this number of days.","example":1,"format":"int32","type":"integer"},"disallowed_countries":{"description":"Comma seperated list of disallowed Country codes","example":"US,DE","type":"string"},"domain":{"description":"Custom domain","example":"my-custom-domain.com","type":"string"},"domain_hsts_header":{"description":"Send HSTS (HTTP Strict Transport Security) header when visitors access the site via a custom domain?","example":true,"type":"boolean"},"domain_letsencrypt_chain":{"description":"Letsencrypt chain to use when registering SSL Certificate for domain.","enum":["default","isrg_root_x1","dst_root_ca_x3"],"example":"example","type":"string"},"email":{"description":"Main email for this site","example":"example","format":"email","type":"string"},"folder_permissions_groups_only":{"description":"If true, permissions for this site must be bound to a group (not a user). Otherwise, permissions must be bound to a user.","example":true,"type":"boolean"},"ftp_enabled":{"description":"Is FTP enabled?","example":true,"type":"boolean"},"hipaa":{"description":"Is there a signed HIPAA BAA between Files.com and this site?","example":true,"type":"boolean"},"icon128":{"$ref":"#/components/schemas/ImageEntity"},"icon16":{"$ref":"#/components/schemas/ImageEntity"},"icon32":{"$ref":"#/components/schemas/ImageEntity"},"icon48":{"$ref":"#/components/schemas/ImageEntity"},"immutable_files_set_at":{"description":"Can files be modified?","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"include_password_in_welcome_email":{"description":"Include password in emails to new users?","example":true,"type":"boolean"},"language":{"description":"Site default language","example":"en","type":"string"},"ldap_base_dn":{"description":"Base DN for looking up users in LDAP server","example":"example","type":"string"},"ldap_domain":{"description":"Domain name that will be appended to usernames","example":"mysite.com","type":"string"},"ldap_enabled":{"description":"Main LDAP setting: is LDAP enabled?","example":true,"type":"boolean"},"ldap_group_action":{"description":"Should we sync groups from LDAP server?","example":"disabled","type":"string"},"ldap_group_exclusion":{"description":"Comma or newline separated list of group names (with optional wildcards) to exclude when syncing.","example":"example","type":"string"},"ldap_group_inclusion":{"description":"Comma or newline separated list of group names (with optional wildcards) to include when syncing.","example":"example","type":"string"},"ldap_host":{"description":"LDAP host","example":"ldap.site.com","type":"string"},"ldap_host_2":{"description":"LDAP backup host","example":"ldap2.site.com","type":"string"},"ldap_host_3":{"description":"LDAP backup host","example":"ldap3.site.com","type":"string"},"ldap_port":{"description":"LDAP port","example":1,"format":"int32","type":"integer"},"ldap_secure":{"description":"Use secure LDAP?","example":true,"type":"boolean"},"ldap_type":{"description":"LDAP type","example":"open_ldap","type":"string"},"ldap_user_action":{"description":"Should we sync users from LDAP server?","example":"disabled","type":"string"},"ldap_user_include_groups":{"description":"Comma or newline separated list of group names (with optional wildcards) - if provided, only users in these groups will be added or synced.","example":"example","type":"string"},"ldap_username":{"description":"Username for signing in to LDAP server.","example":"[ldap username]","type":"string"},"ldap_username_field":{"description":"LDAP username field","example":"sAMAccountName","type":"string"},"login_help_text":{"description":"Login help text","example":"Login page help text.","type":"string"},"logo":{"$ref":"#/components/schemas/ImageEntity"},"max_prior_passwords":{"description":"Number of prior passwords to disallow","example":1,"format":"int32","type":"integer"},"mobile_app":{"description":"Is the mobile app enabled?","example":true,"type":"boolean"},"mobile_app_session_ip_pinning":{"description":"Is mobile app session IP pinning enabled?","example":true,"type":"boolean"},"mobile_app_session_lifetime":{"description":"Mobile app session lifetime (in hours)","example":1,"format":"int32","type":"integer"},"motd_text":{"description":"A message to show users when they connect via FTP or SFTP.","example":"example","type":"string"},"motd_use_for_ftp":{"description":"Show message to users connecting via FTP","example":true,"type":"boolean"},"motd_use_for_sftp":{"description":"Show message to users connecting via SFTP","example":true,"type":"boolean"},"name":{"description":"Site name","example":"My Site","type":"string"},"next_billing_amount":{"description":"Next billing amount","example":1,"format":"double","type":"number"},"next_billing_date":{"description":"Next billing date","example":"Apr 20","type":"string"},"non_sso_groups_allowed":{"description":"If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider.","example":true,"type":"boolean"},"non_sso_users_allowed":{"description":"If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider.","example":true,"type":"boolean"},"office_integration_available":{"description":"Allow users to use Office for the web?","example":true,"type":"boolean"},"office_integration_type":{"description":"Office integration application used to edit and view the MS Office documents","enum":["only_office","office_365","disabled"],"example":"example","type":"string"},"oncehub_link":{"description":"Link to scheduling a meeting with our Sales team","example":"https://go.oncehub.com/files","type":"string"},"opt_out_global":{"description":"Use servers in the USA only?","example":true,"type":"boolean"},"overdue":{"description":"Is this site's billing overdue?","example":true,"type":"boolean"},"password_min_length":{"description":"Shortest password length for users","example":1,"format":"int32","type":"integer"},"password_require_letter":{"description":"Require a letter in passwords?","example":true,"type":"boolean"},"password_require_mixed":{"description":"Require lower and upper case letters in passwords?","example":true,"type":"boolean"},"password_require_number":{"description":"Require a number in passwords?","example":true,"type":"boolean"},"password_require_special":{"description":"Require special characters in password?","example":true,"type":"boolean"},"password_require_unbreached":{"description":"Require passwords that have not been previously breached? (see https://haveibeenpwned.com/)","example":true,"type":"boolean"},"password_requirements_apply_to_bundles":{"description":"Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?","example":true,"type":"boolean"},"password_validity_days":{"description":"Number of days password is valid","example":1,"format":"int32","type":"integer"},"phone":{"description":"Site phone number","example":"555-555-5555","type":"string"},"pin_all_remote_servers_to_site_region":{"description":"If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings.","example":true,"type":"boolean"},"reply_to_email":{"description":"Reply-to email for this site","example":"example","format":"email","type":"string"},"require_2fa":{"description":"Require two-factor authentication for all users?","example":true,"type":"boolean"},"require_2fa_stop_time":{"description":"If set, requirement for two-factor authentication has been scheduled to end on this date-time.","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"require_2fa_user_type":{"description":"What type of user is required to use two-factor authentication (when require_2fa is set to `true` for this site)?","enum":["all","folder_and_site_admins","site_admins"],"example":"`site_admins`","type":"string"},"session":{"$ref":"#/components/schemas/SessionEntity"},"session_expiry":{"description":"Session expiry in hours","example":6,"format":"double","type":"number"},"session_expiry_minutes":{"description":"Session expiry in minutes","example":360,"format":"int32","type":"integer"},"session_pinned_by_ip":{"description":"Are sessions locked to the same IP? (i.e. do users need to log in again if they change IPs?)","example":true,"type":"boolean"},"sftp_enabled":{"description":"Is SFTP enabled?","example":true,"type":"boolean"},"sftp_host_key_type":{"description":"Sftp Host Key Type","enum":["default","exavault","custom"],"example":"default","type":"string"},"sftp_insecure_ciphers":{"description":"Are Insecure Ciphers allowed for SFTP?  Note:  Settting TLS Disabled -> True will always allow insecure ciphers for SFTP as well.  Enabling this is insecure.","type":"boolean"},"sftp_user_root_enabled":{"description":"Use user FTP roots also for SFTP?","type":"boolean"},"sharing_enabled":{"description":"Allow bundle creation","example":true,"type":"boolean"},"show_request_access_link":{"description":"Show request access link for users without access?  Currently unused.","example":true,"type":"boolean"},"site_footer":{"description":"Custom site footer text","example":"example","type":"string"},"site_header":{"description":"Custom site header text","example":"example","type":"string"},"smtp_address":{"description":"SMTP server hostname or IP","example":"smtp.my-mail-server.com","type":"string"},"smtp_authentication":{"description":"SMTP server authentication type","example":"plain","type":"string"},"smtp_from":{"description":"From address to use when mailing through custom SMTP","example":"me@my-mail-server.com","type":"string"},"smtp_port":{"description":"SMTP server port","example":25,"format":"int32","type":"integer"},"smtp_username":{"description":"SMTP server username","example":"mail","type":"string"},"ssl_required":{"description":"Is SSL required?  Disabling this is insecure.","example":true,"type":"boolean"},"subdomain":{"description":"Site subdomain","example":"mysite","type":"string"},"switch_to_plan_date":{"description":"If switching plans, when does the new plan take effect?","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"tls_disabled":{"description":"Are Insecure TLS and SFTP Ciphers allowed?  Enabling this is insecure.","type":"boolean"},"trial_days_left":{"description":"Number of days left in trial","example":1,"format":"int32","type":"integer"},"trial_until":{"description":"When does this Site trial expire?","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"updated_at":{"description":"Last time this Site was updated","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"uploads_via_email_authentication":{"description":"Do incoming emails in the Inboxes require checking for SPF/DKIM/DMARC?","example":true,"type":"boolean"},"use_provided_modified_at":{"description":"Allow uploaders to set `provided_modified_at` for uploaded files?","example":true,"type":"boolean"},"user":{"$ref":"#/components/schemas/UserEntity"},"user_lockout":{"description":"Will users be locked out after incorrect login attempts?","example":true,"type":"boolean"},"user_lockout_lock_period":{"description":"How many hours to lock user out for failed password?","example":1,"format":"int32","type":"integer"},"user_lockout_tries":{"description":"Number of login tries within `user_lockout_within` hours before users are locked out","example":1,"format":"int32","type":"integer"},"user_lockout_within":{"description":"Number of hours for user lockout window","example":6,"format":"int32","type":"integer"},"user_requests_enabled":{"description":"Enable User Requests feature","example":true,"type":"boolean"},"user_requests_notify_admins":{"description":"Send email to site admins when a user request is received?","example":true,"type":"boolean"},"welcome_custom_text":{"description":"Custom text send in user welcome email","example":"Welcome to my site!","type":"string"},"welcome_email_cc":{"description":"Include this email in welcome emails if enabled","example":"example","format":"email","type":"string"},"welcome_email_enabled":{"description":"Will the welcome email be sent to new users?","example":true,"type":"boolean"},"welcome_email_subject":{"description":"Include this email subject in welcome emails if enabled","example":"example","type":"string"},"welcome_screen":{"description":"Does the welcome screen appear?","enum":["enabled","hidden","disabled"],"example":"user_controlled","type":"string"},"windows_mode_ftp":{"description":"Does FTP user Windows emulation mode?","example":true,"type":"boolean"}},"type":"object","x-docs":"# Site\n\nThe Site resource in the REST API allows you to operate on your Site.\nThis is the place you'll come to update site settings, as well as manage sitewide API keys.\n\nMost site settings can be set via the API.\n"},"SsoStrategyEntity":{"description":"List Sso Strategies","properties":{"deprovision_behavior":{"description":"Method used for deprovisioning users.","enum":["disable","delete"],"example":"disable","type":"string"},"deprovision_groups":{"description":"Auto-deprovision group membership based on group memberships on the SSO side?","type":"boolean"},"deprovision_users":{"description":"Auto-deprovision users?","type":"boolean"},"enabled":{"description":"Is strategy enabled?  This may become automatically set to `false` after a high number and duration of failures.","example":true,"type":"boolean"},"id":{"description":"ID","example":1,"format":"int32","type":"integer"},"label":{"description":"Custom label for the SSO provider on the login page.","example":"My Corporate SSO Provider","type":"string"},"ldap_base_dn":{"description":"Base DN for looking up users in LDAP server","example":"example","type":"string"},"ldap_domain":{"description":"Domain name that will be appended to LDAP usernames","example":"mysite.com","type":"string"},"ldap_host":{"description":"LDAP host","example":"ldap.site.com","type":"string"},"ldap_host_2":{"description":"LDAP backup host","example":"ldap2.site.com","type":"string"},"ldap_host_3":{"description":"LDAP backup host","example":"ldap3.site.com","type":"string"},"ldap_port":{"description":"LDAP port","example":1,"format":"int32","type":"integer"},"ldap_secure":{"description":"Use secure LDAP?","example":true,"type":"boolean"},"ldap_username":{"description":"Username for signing in to LDAP server.","example":"[ldap username]","type":"string"},"ldap_username_field":{"description":"LDAP username field","enum":["sAMAccountName","userPrincipalName"],"example":"sAMAccountName","type":"string"},"logo_url":{"description":"URL holding a custom logo for the SSO provider on the login page.","example":"https://mysite.files.com/.../logo.png","type":"string"},"protocol":{"description":"SSO Protocol","enum":["oauth2","_unused_openid2","saml","active_directory","open_ldap","scim"],"example":"oauth2","type":"string"},"provider":{"description":"Provider name","enum":["google","auth0","okta","atlassian","azure","box","dropbox","slack","_unused_ubuntu","onelogin","saml","idaptive","ldap","scim"],"example":"okta","type":"string"},"provision_attachments_permission":{"description":"DEPRECATED: Auto-provisioned users get Sharing permission. Use a Group with the Bundle permission instead.","example":true,"type":"boolean"},"provision_company":{"description":"Default company for auto provisioned users.","example":"ACME Corp.","type":"string"},"provision_dav_permission":{"description":"Auto-provisioned users get WebDAV permission?","example":true,"type":"boolean"},"provision_email_signup_groups":{"description":"Comma-separated list of group names whose members will be created with email_signup authentication.","example":"Employees","type":"string"},"provision_ftp_permission":{"description":"Auto-provisioned users get FTP permission?","example":true,"type":"boolean"},"provision_group_default":{"description":"Comma-separated list of group names for groups to automatically add all auto-provisioned users to.","example":"Employees","type":"string"},"provision_group_exclusion":{"description":"Comma-separated list of group names for groups (with optional wildcards) that will be excluded from auto-provisioning.","example":"Employees","type":"string"},"provision_group_inclusion":{"description":"Comma-separated list of group names for groups (with optional wildcards) that will be auto-provisioned.","example":"Employees","type":"string"},"provision_group_required":{"description":"Comma or newline separated list of group names (with optional wildcards) to require membership for user provisioning.","example":"example","type":"string"},"provision_groups":{"description":"Auto-provision group membership based on group memberships on the SSO side?","type":"boolean"},"provision_sftp_permission":{"description":"Auto-provisioned users get SFTP permission?","example":true,"type":"boolean"},"provision_site_admin_groups":{"description":"Comma-separated list of group names whose members will be created as Site Admins.","example":"Employees","type":"string"},"provision_time_zone":{"description":"Default time zone for auto provisioned users.","example":"Eastern Time (US & Canada)","type":"string"},"provision_users":{"description":"Auto-provision users?","type":"boolean"},"saml_provider_cert_fingerprint":{"description":"Identity provider sha256 cert fingerprint if saml_provider_metadata_url is not available.","example":"example","type":"string"},"saml_provider_issuer_url":{"description":"Identity provider issuer url","example":"example","type":"string"},"saml_provider_metadata_content":{"description":"Custom identity provider metadata","example":"example","type":"string"},"saml_provider_metadata_url":{"description":"Metadata URL for the SAML identity provider","example":"example","type":"string"},"saml_provider_slo_target_url":{"description":"Identity provider SLO endpoint","example":"example","type":"string"},"saml_provider_sso_target_url":{"description":"Identity provider SSO endpoint if saml_provider_metadata_url is not available.","example":"example","type":"string"},"scim_authentication_method":{"description":"SCIM authentication type.","enum":["none","basic","token"],"example":"example","type":"string"},"scim_oauth_access_token":{"description":"SCIM OAuth Access Token.","example":"example","type":"string"},"scim_oauth_access_token_expires_at":{"description":"SCIM OAuth Access Token Expiration Time.","example":"example","type":"string"},"scim_username":{"description":"SCIM username.","example":"example","type":"string"},"subdomain":{"description":"Subdomain","example":"my-site","type":"string"}},"type":"object","x-docs":"An SSO Strategy is a method for allowing users to sign in via another identity provider, such as Okta or Auth0.\n\nIt is rare that you will need to use API endpoints for managing these, and we recommend instead managing these via the web interface.\nNevertheless, we share the API documentation here.\n"},"StatusEntity":{"description":"Test webhook.","properties":{"clickwrap_body":{"description":"Required Clickwrap body","example":"example","type":"string"},"clickwrap_id":{"description":"Required Clickwrap id","example":1,"format":"int32","type":"integer"},"code":{"description":"Status HTTP code","example":200,"format":"int32","type":"integer"},"data":{"$ref":"#/components/schemas/AutoEntity"},"errors":{"description":"A list of api errors","example":[null],"items":{"$ref":"#/components/schemas/ErrorsEntity"},"type":"array"},"message":{"description":"Error message","example":"example","type":"string"},"status":{"description":"Status message","example":"","type":"string"}},"type":"object","x-docs":null},"StyleEntity":{"description":"Show Style","properties":{"id":{"description":"Style ID","example":1,"format":"int32","type":"integer"},"logo":{"$ref":"#/components/schemas/ImageEntity"},"path":{"description":"Folder path","example":"example","type":"string"},"thumbnail":{"$ref":"#/components/schemas/ImageEntity"}},"type":"object","x-docs":"Styles are custom sets of branding that can be applied on a per-folder basis.\nCurrently these only support Logos per folder, but in the future we may extend these to also support colors.\nIf you want to see that, please let us know so we can add your vote to the list.\n"},"UsageDailySnapshotEntity":{"description":"List Usage Daily Snapshots","properties":{"api_usage_available":{"description":"True if the API usage fields `read_api_usage` and `write_api_usage` can be relied upon.  If this is false, we suggest hiding that value from any UI.","example":true,"type":"boolean"},"current_storage":{"description":"GB of Files Native Storage used on this day.","example":1,"format":"int32","type":"integer"},"date":{"description":"The date of this usage record","example":"2025-06-15T13:48:58.069Z","format":"date","type":"string"},"deleted_files_counted_in_minimum":{"description":"GB of Files Native Storage used on this day for files that have been permanently deleted but were uploaded less than 30 days ago, and are still billable.","example":1,"format":"int32","type":"integer"},"deleted_files_storage":{"description":"GB of Files Native Storage used on this day for files that have been deleted and are stored as backups.","example":1,"format":"int32","type":"integer"},"id":{"description":"ID of the usage record","example":1,"format":"int32","type":"integer"},"read_api_usage":{"description":"Read API Calls used on this day. Note: only updated for days before the current day.","example":1,"format":"int32","type":"integer"},"root_storage":{"description":"GB of Files Native Storage used for the root folder.  Included here because this value will not be part of `usage_by_top_level_dir`","example":1,"format":"int32","type":"integer"},"usage_by_top_level_dir":{"description":"Usage broken down by each top-level folder","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}},"user_count":{"description":"Number of billable users as of this day.","example":1,"format":"int32","type":"integer"},"write_api_usage":{"description":"Write API Calls used on this day. Note: only updated for days before the current day.","example":1,"format":"int32","type":"integer"}},"type":"object","x-docs":null},"UsageSnapshotEntity":{"description":"List Usage Snapshots","properties":{"bytes_sent":{"description":"Transfer Usage for period - Outbound GB from Files Native Storage","example":1,"format":"double","type":"number"},"current_storage":{"description":"Current total Storage Usage GB as of end date (not necessarily high water mark, which is used for billing)","example":1,"format":"double","type":"number"},"deleted_files_counted_in_minimum":{"description":"Storage Usage for files that are deleted but uploaded within last 30 days as of end date (not necessarily high water mark, which is used for billing)","example":1,"format":"double","type":"number"},"deleted_files_storage":{"description":"Storage Usage for files that are deleted but retained as backups as of end date (not necessarily high water mark, which is used for billing)","example":1,"format":"double","type":"number"},"end_at":{"description":"Usage snapshot end date/time","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"high_water_storage":{"description":"Highest Storage Usage GB recorded in time period (used for billing)","example":1,"format":"double","type":"number"},"high_water_user_count":{"description":"Highest user count number in time period","example":1,"format":"double","type":"number"},"id":{"description":"Usage snapshot ID","example":1,"format":"int32","type":"integer"},"root_storage":{"description":"Storage Usage for root folder as of end date (not necessarily high water mark, which is used for billing)","example":1,"format":"double","type":"number"},"start_at":{"description":"Usage snapshot start date/time","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"sync_bytes_received":{"description":"Transfer Usage for period - Inbound GB to Remote Servers (Sync/Mount)","example":1,"format":"double","type":"number"},"sync_bytes_sent":{"description":"Transfer Usage for period - Outbound GB from Remote Servers (Sync/Mount)","example":1,"format":"double","type":"number"},"total_billable_transfer_usage":{"description":"Transfer usage for period - Total Billable amount","example":1,"format":"double","type":"number"},"total_billable_usage":{"description":"Storage + Transfer Usage - Total Billable amount","example":1,"format":"double","type":"number"},"usage_by_top_level_dir":{"description":"Storage Usage - map of root folders to their usage as of end date (not necessarily high water mark, which is used for billing)","example":{"key":"example value"},"type":"object","x-object-type":{"key_type":"string","type":"hash","value_type":"string"}}},"type":"object","x-docs":null},"UserCipherUseEntity":{"description":"List User Cipher Uses","properties":{"created_at":{"description":"The earliest recorded use of this combination of interface and protocol and cipher (for this user)","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"id":{"description":"UserCipherUse ID","example":1,"format":"int32","type":"integer"},"interface":{"description":"The interface accessed","enum":["web","ftp","sftp","dav","desktop","restapi","robot","jsapi"],"example":"restapi","type":"string"},"protocol_cipher":{"description":"The protocol and cipher employed","example":"TLSv1.2; ECDHE-RSA-AES256-GCM-SHA384","type":"string"},"updated_at":{"description":"The most recent use of this combination of interface and protocol and cipher (for this user)","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"user_id":{"description":"ID of the user who performed this access","example":1,"format":"int32","type":"integer"}},"type":"object","x-docs":"This object allows you to see the exact set of encryption ciphers and protocols used by a given user.\nThis is most often used to support migrations from one TLS version to the next.  You can query each user and determine who is still using legacy ciphers.\n"},"UserEntity":{"description":"Create User","properties":{"active_2fa":{"description":"Is 2fa active for the user?","example":true,"type":"boolean"},"admin_group_ids":{"description":"List of group IDs of which this user is an administrator","example":[1],"items":{"example":[1],"format":"int32","type":"integer"},"type":"array"},"allowed_ips":{"description":"A list of allowed IPs if applicable.  Newline delimited","example":"127.0.0.1","type":"string"},"api_keys_count":{"description":"Number of api keys associated with this user","example":1,"format":"int32","type":"integer"},"attachments_permission":{"description":"DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.","example":true,"type":"boolean"},"authenticate_until":{"description":"Scheduled Date/Time at which user will be deactivated","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"authentication_method":{"description":"How is this user authenticated?","enum":["password","unused_former_ldap","sso","none","email_signup","password_with_imported_hash"],"example":"password","type":"string"},"avatar_url":{"description":"URL holding the user's avatar","example":"example","type":"string"},"billing_permission":{"description":"Allow this user to perform operations on the account, payments, and invoices?","type":"boolean"},"bypass_inactive_disable":{"description":"Exempt this user from being disabled based on inactivity?","type":"boolean"},"bypass_site_allowed_ips":{"description":"Allow this user to skip site-wide IP blacklists?","type":"boolean"},"company":{"description":"User's company","example":"ACME Corp.","type":"string"},"created_at":{"description":"When this user was created","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"dav_permission":{"description":"Can the user connect with WebDAV?","example":true,"type":"boolean"},"days_remaining_until_password_expire":{"description":"Number of days remaining until password expires","example":1,"format":"int32","type":"integer"},"disabled":{"description":"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.","example":true,"type":"boolean"},"email":{"description":"User email address","example":"example","format":"email","type":"string"},"externally_managed":{"description":"Is this user managed by a SsoStrategy?","example":true,"type":"boolean"},"first_login_at":{"description":"User's first login time","example":"2025-06-15T13:48:58.069Z","format":"date-time","type":"string"},"ftp_permission":{"description":"Can the user access with FTP/FTPS?","example":true,"type":"boolean"},"group_ids":{"description":"Comma-separated list of group IDs of which this user is a member","example":"example","type":"string"},"header_text":{"description":"Text to display to the user in the header of the UI","example":"User-specific message.","type":"string"},"id":{"description":"User ID","example":1,"format":"int32","type":"integer"},"language":{"description":"Preferred language","example":"en","type":"string"},"last_active_at":{"description":"User's most recent activity time, which is the latest of most recent login, most recent API use, enablement, or creation","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"last_api_use_at":{"description":"User's most recent API use time","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"last_dav_login_at":{"description":"User's most recent login time via WebDAV","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"last_desktop_login_at":{"description":"User's most recent login time via Desktop app","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"last_ftp_login_at":{"description":"User's most recent login time via FTP","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"last_login_at":{"description":"User's most recent login time via any protocol","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"last_protocol_cipher":{"description":"The most recent protocol and cipher used","example":"example","type":"string"},"last_restapi_login_at":{"description":"User's most recent login time via Rest API","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"last_sftp_login_at":{"description":"User's most recent login time via SFTP","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"last_web_login_at":{"description":"User's most recent login time via web","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"lockout_expires":{"description":"Time in the future that the user will no longer be locked out if applicable","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"name":{"description":"User's full name","example":"John Doe","type":"string"},"notes":{"description":"Any internal notes on the user","example":"Internal notes on this user.","type":"string"},"notification_daily_send_time":{"description":"Hour of the day at which daily notifications should be sent. Can be in range 0 to 23","example":18,"format":"int32","type":"integer"},"office_integration_enabled":{"description":"Enable integration with Office for the web?","example":true,"type":"boolean"},"password_expire_at":{"description":"Password expiration datetime","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"password_expired":{"description":"Is user's password expired?","example":true,"type":"boolean"},"password_set_at":{"description":"Last time the user's password was set","example":"2025-06-15T13:48:58.070Z","format":"date-time","type":"string"},"password_validity_days":{"description":"Number of days to allow user to use the same password","example":1,"format":"int32","type":"integer"},"public_keys_count":{"description":"Number of public keys associated with this user","example":1,"format":"int32","type":"integer"},"receive_admin_alerts":{"description":"Should the user receive admin alerts such a certificate expiration notifications and overages?","example":true,"type":"boolean"},"require_2fa":{"description":"2FA required setting","enum":["use_system_setting","always_require","never_require"],"example":"always_require","type":"string"},"require_password_change":{"description":"Is a password change required upon next user login?","example":true,"type":"boolean"},"restapi_permission":{"description":"Can this user access the REST API?","example":true,"type":"boolean"},"self_managed":{"description":"Does this user manage it's own credentials or is it a shared/bot user?","example":true,"type":"boolean"},"sftp_permission":{"description":"Can the user access with SFTP?","example":true,"type":"boolean"},"site_admin":{"description":"Is the user an administrator for this site?","example":true,"type":"boolean"},"skip_welcome_screen":{"description":"Skip Welcome page in the UI?","example":true,"type":"boolean"},"ssl_required":{"description":"SSL required setting","enum":["use_system_setting","always_require","never_require"],"example":"always_require","type":"string"},"sso_strategy_id":{"description":"SSO (Single Sign On) strategy ID for the user, if applicable.","example":1,"format":"int32","type":"integer"},"subscribe_to_newsletter":{"description":"Is the user subscribed to the newsletter?","example":true,"type":"boolean"},"time_zone":{"description":"User time zone","example":"Pacific Time (US & Canada)","type":"string"},"type_of_2fa":{"description":"Type(s) of 2FA methods in use.  Will be either `sms`, `totp`, `u2f`, `yubi`, or multiple values sorted alphabetically and joined by an underscore.","example":"yubi","type":"string"},"user_root":{"description":"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.","example":"example","type":"string"},"username":{"description":"User's username","example":"user","type":"string"}},"type":"object","x-docs":null},"UserRequestEntity":{"description":"Create User Request","properties":{"details":{"description":"Details of the user's request","example":"Changed Departments","type":"string"},"email":{"description":"User email address","example":"example","format":"email","type":"string"},"id":{"description":"ID","example":1,"format":"int32","type":"integer"},"name":{"description":"User's full name","example":"John Doe","type":"string"}},"type":"object","x-docs":"User Requests allow anonymous users to place a request for access on the login screen to the site administrator.\n"},"WebhookTestEntity":{"description":"Create Webhook Test","properties":{"code":{"description":"Status HTTP code","example":200,"format":"int32","type":"integer"},"data":{"$ref":"#/components/schemas/AutoEntity"},"message":{"description":"Error message","example":"","type":"string"},"status":{"description":"Status message","example":"","type":"string"},"success":{"description":"The success status of the webhook test","example":true,"type":"boolean"}},"type":"object","x-docs":null},"patchFormFieldSets":{"description":"Update Form Field Set","properties":{"form_fields":{"items":{"properties":{"default_option":{"description":"Default option to be preselected in the dropdown or radio.","type":"string"},"field_type":{"description":"Type of field: text, text_area, dropdown, or radio","type":"string"},"help_text":{"description":"Help text of field","type":"string"},"id":{"description":"Id of existing Form Field","format":"int32","type":"integer"},"label":{"description":"Label of Field","type":"string"},"options_for_select":{"description":"List of options for dropdown or radio","type":"string"},"required":{"description":"Is this a required field? (default true)","type":"boolean"}},"type":"object"},"type":"array"},"skip_company":{"description":"Skip validating company","type":"boolean"},"skip_email":{"description":"Skip validating form email","type":"boolean"},"skip_name":{"description":"Skip validating form name","type":"boolean"},"title":{"description":"Title to be displayed","type":"string"}},"type":"object"},"postFormFieldSets":{"description":"Create Form Field Set","properties":{"form_fields":{"items":{"properties":{"default_option":{"description":"Default option to be preselected in the dropdown or radio.","type":"string"},"field_type":{"description":"Type of field: text, text_area, dropdown, or radio","type":"string"},"help_text":{"description":"Help text of field","type":"string"},"id":{"description":"Id of existing Form Field","format":"int32","type":"integer"},"label":{"description":"Label of Field","type":"string"},"options_for_select":{"description":"List of options for dropdown or radio","type":"string"},"required":{"description":"Is this a required field? (default true)","type":"boolean"}},"type":"object"},"type":"array"},"skip_company":{"description":"Skip validating company","type":"boolean"},"skip_email":{"description":"Skip validating form email","type":"boolean"},"skip_name":{"description":"Skip validating form name","type":"boolean"},"title":{"description":"Title to be displayed","type":"string"},"user_id":{"description":"User ID.  Provide a value of `0` to operate the current session's user.","format":"int32","type":"integer"}},"type":"object"}},"securitySchemes":{"api_key":{"description":"API Key - supports user-based or site-wide API keys","in":"header","name":"X-FilesAPI-Key","type":"apiKey"}}},"x-behaviors":[{"behavior":"webhook","children_can_add":true,"children_can_override":false,"docs":"Sends an HTTP(S) request to a remote server whenever certain actions occur on a folder.\nWebhooks are often used to integrate Files.com with other services.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":false,"value_hash_params":[{"description":"Array of URLs to send the webhook to.","example":["https://mysite.com/url..."],"name":"urls"},{"description":"Default: `GET`.  May also be set to `POST`.","example":"POST","name":"method"},{"description":"Leave blank to send webhooks on any action on this folder.  Or, for specific actions, you may specify an array of action types.  Valid values are: `create`, `read`, `update`, `destroy`, `move`, `copy`.","example":["create","read","update","destroy","move","copy"],"name":"triggers"},{"description":"Leave blank to trigger webhooks on any file in this folder.  Or you may specify an array of filenames (possibly with wildcards) to match for action path.","example":["*.pdf","*so*.jpg"],"name":"triggering_filenames"},{"description":"May be `JSON`, `XML`, `RAW`, `EV1`, or `EV2`.  If set to `RAW` or left blank, we will deliver the webhook using the HTTP GET params or POST body.  If JSON or XML, we will encode the payload accordingly and send a matching `Content-Type` header.  If set to EV1, we will encode the payload to emulate ExaVault's version 1 webhook format.  If set to EV2, we will encode the payload to emulate ExaVault's version 2.0 webhook format.","example":"RAW","name":"encoding"},{"description":"Hash of HTTP Headers to send.","example":{"MY-HEADER":"foo"},"name":"headers"},{"description":"Hash of Body Params to send","example":{"MY_BODY_PARAM":"bar"},"name":"body"},{"description":"If provided, this token will be used to sign webhook messages cryptographically to allow you to verify the webhook authenticity.","example":"tok12345","name":"verification_token"},{"description":"A string specifying the name of a form field containing the contents of the file that triggered this webhook send. If this value is present, the webhook will submit a `multipart/form-data` POST with no request body encoding.","example":"my_form_field","name":"file_form_field"},{"description":"When sending webhook requests, submit the contents of the file that triggered this webhook send as the request body.","example":"my_file_body","name":"file_as_body"}],"visible_to_non_admins":false},{"behavior":"file_expiration","children_can_add":false,"children_can_override":true,"docs":"Files in this folder will expire (be deleted) after a certain number of days.  This is most often used for compliance purposes where different types of data may need different retention settings.  It's also great for managing your costs.  You can retain different data for less time than others.\n\nValue is stored as an Integer (not a hash/array) representing the number of days.\n```\n","requires_attachment":false,"supports_mounted_folders":false,"unique_per_folder":true,"value_hash_params":[{"description":"Number of days to keep files around.","example":30,"name":"all"}],"visible_to_non_admins":true},{"behavior":"auto_encrypt","children_can_add":false,"children_can_override":true,"docs":"Files will be automatically encrypted after uploading using your provided GPG key.\n\nThis Behavior is often used on our HIPAA accounts to convert data into a format unreadable by even us.\nGPG is an asymmetric encryption type (which means it uses public keys and private keys).\nBecause you are only providing us your public key and keeping your private key, we won't be able to read anything once it has been GPG encrypted.\n","requires_attachment":false,"supports_mounted_folders":false,"unique_per_folder":true,"value_hash_params":[{"description":"Must be set to `PGP/GPG`.  If we support other options in the future (like OpenSSL), we will amend this option.","example":"PGP/GPG","name":"algorithm"},{"description":"Suffix to apply to filenames once they've been uploaded.","example":".gpg","name":"suffix"},{"description":"Your GPG public key.  Please be sure not to send your private key here. If that happens, we try to detect it and disable the behavior for your security.","example":"[your GPG public key]","friendly_name":"Public Encryption Key","name":"key"},{"description":"If true, encrypted files are written as ascii text.","example":false,"name":"armor"}],"visible_to_non_admins":true},{"behavior":"lock_subfolders","children_can_add":false,"children_can_override":true,"docs":"The subfolder structure of this folder may not be changed.\nThis is useful in conjunction with workflows and automations to ensure your folder structure stays as you expect.\n\nChildren Recursive: Do not allow Create/Move/Delete on parent folder, child folders and any descendant folders.\nChildren: Do not allow Create/Move/Delete on parent folder or child folders but do allow on any descendant folders.\nSelf: Do not allow Delete or Rename of this(parent) folder. Do allow Create/Move/Delete on child folders and any descendant folders.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":true,"value_hash_params":[{"description":"URL key used for the inbox. Can be `children_recursive` (default), `children`, `self`, or `none`.","example":"children_recursive","name":"level"}],"visible_to_non_admins":true},{"behavior":"storage_region","children_can_add":false,"children_can_override":true,"docs":"Files in this folder are stored in a certain geographical region.\nIf you set this Behavior on an existing folder, we will migrate existing files to the new location automatically.\n`us-east-1` | USA, Virginia\n`ap-southeast-2` | Australia, Sydney\n`ca-central-1` | Canada, Toronto\n`eu-central-1` | EU - Germany, Frankfurt\n`eu-west-2` | UK, London\n`ap-northeast-1` | Japan, Tokyo\n`ap-southeast-1` | Singapore","requires_attachment":false,"supports_mounted_folders":false,"unique_per_folder":true,"value_hash_params":[{"description":"Valid AWS region","example":"us-east-1","name":"all"}],"visible_to_non_admins":true},{"behavior":"serve_publicly","children_can_add":true,"children_can_override":false,"docs":"Files in this folder are served via a public HTTPS URL at `https://SUBDOMAIN.hosted-by-files.com/...`\n\nThis feature works with common static site generators such as Jekyll and Middleman, and allows any static web assets or website to be hosted.\nIt's a great way to get extra mileage out of your Files.com account and avoid having to pay for separate web hosting.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":false,"value_hash_params":[{"description":"URL path for where the stuff is publicly hosted.  It will look like `https://SUBDOMAIN.hosted-by-files.com/{key}/`","example":"public-photos","friendly_name":"URL Path","name":"key"},{"description":"Show an index page listing the folder contents?","example":true,"name":"show_index"}],"visible_to_non_admins":true},{"behavior":"create_user_folders","children_can_add":true,"children_can_override":false,"docs":"Create a folder here for new users when they are added.\nThis Behavior is typically used to implement home folders for users.\nIt's also a good building block for more advanced automations and workflows.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":false,"value_hash_params":[{"description":"What permission level to give the user on his or her new folder?  Takes the same options as the Permissions endpoint.","example":"full","name":"permission"},{"description":"Additional permission level to give the user on his or her new folder.  Used to apply a second permission.  Takes the same options as the Permissions endpoint.","example":"bundle","name":"additional_permission"},{"description":"Apply this behavior to existing users or only newly added users?","example":true,"name":"existing_users"},{"description":"Only apply this behavior to users who are members of this group ID.","example":1,"name":"group_id"},{"description":"What to name the new folder, currently we support 'name' and 'username', name will fall back to username if not present, default value is 'name'","example":"username","name":"new_folder_name"},{"description":"Subfolders to create within the new folder","example":["in","out"],"name":"subfolders"}],"visible_to_non_admins":false},{"behavior":"remote_server_sync","children_can_add":true,"children_can_override":false,"docs":"Sync this folder to a remote server on a regular basis.  Remote servers can be FTP/SFTP servers, Amazon S3/GCP/Azure Blob/Wasabi/Backblaze B2 Buckets, and more.\nSee the RemoteServer object for a full list of the Remote Servers supported.\n\nOne-way and two-way sync options are supported.\n\nWith this behavior, the Sync between Files.com and the RemoteServer occurs on a schedule.  Your plan level determines the frequency of the Sync schedule.\nHigher plans offer faster sync intervals.\n\nIf you want to instead \"mount\" your RemoteServer for real-time operations within Files.com, please see the RemoteServerMount behavior instead.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":false,"value_hash_params":[{"description":"ID of the remote server to sync with.  See the Remote Servers API resource for managing these.","example":"two_way","name":"direction"},{"description":"True if this sync should not run.","example":false,"name":"disabled"},{"description":"If one-way syncing, should we delete or keep files after sync?","example":"keep","name":"keep_after_copy"},{"description":"If `true`, this sync will not run automatically via the built in scheduler used by Syncs.  A common reason to set this to `true` is if you intend to use a different scheduling mechanism such as a Webhook or email via an Automation.","example":false,"name":"manual"},{"description":"Path on remote server to sync with. This should be an absolute path on the remote server. This must be slash-delimited, but it must neither start nor end with a slash.","example":"","name":"remote_path"},{"description":"One way or two way sync?  Valid values: `push_to_server`, `pull_from_server`, `two_way`","example":"1","name":"remote_server_id"}],"visible_to_non_admins":false},{"behavior":"inbox","children_can_add":true,"children_can_override":false,"docs":"This folder operates as an inbox where anonymous users can upload files without logging in.\n\n## Path Templates\n\nAdmins can customize how submission subfolders are created by providing a path_template value. For example, an inbox can be created with the following `path_template` value:\n\n> {{name}}_{ip}\n\nThis will result in submission subfolders that look like `john doe_127.0.0.1`.\n\nPath templates can use any of the following standard fields:\n* name\n* company\n* email\n* ip\n\nThey can also use any fields defined on the inbox's custom form field set. An inbox with a custom form field set with a field called 'My Field'\ncan have a path template that looks like this:\n\n> {{name}}_{{My Field}}\n\nNote: Field names are case-sensitive.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":false,"value_hash_params":[{"description":"URL key used for the inbox.","example":"application-forms","friendly_name":"URL Key","name":"key"},{"description":"Do not create subfolders for files uploaded to this inbox. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required.","example":true,"name":"dont_separate_submissions_by_folder"},{"description":"If set to `true`, will prevent folders from being created inside an inbox submission.  Useful for certain automation use cases where nested folders don't work well.","example":false,"name":"dont_allow_folders_in_uploads"},{"description":"If set to `true`, requires that the inbox be shared with specific recipients rather than being accessed via a URL directly.","example":false,"name":"require_inbox_recipient"},{"description":"Show this inbox on the login page of your website.  Only settable by admins.","example":true,"name":"show_on_login_page"},{"description":"Title of the Inbox","example":"Submit Your Job Applications Here","name":"title"},{"description":"Description of the inbox shown on the actual inbox page.","example":"Thanks for coming to the Files.com Job Application Page","name":"description"},{"description":"Help text shown on the inbox page.","example":"If you have trouble here, please contact your recruiter.","name":"help_text"},{"description":"Show a registration page that captures the uploader's name and email address?","example":true,"name":"require_registration"},{"description":"Password to authenticate to inbox.","example":"foobar","name":"password"},{"description":"Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, and any custom form data.","example":"{{name}}_{{ip}}","name":"path_template"},{"description":"This is only used when creating/updating a behavior. If set to `true`, will generate inbound_email_address to this folder. If set to `false`, will remove inbound_email_address to this folder. Please note that the uploads via email doesn't work if require_registration or password options are set to true.","example":true,"name":"enable_inbound_email_address"},{"description":"Notify senders on successful uploads via email","example":true,"name":"notify_senders_on_successful_uploads_via_email"},{"description":"allow/disallow whitelist","example":true,"name":"allow_whitelisting"},{"description":"Comma-separated string of whitelisted email addresses and domains","example":["john@test.com","mydomain.com"],"name":"whitelist"}],"visible_to_non_admins":false},{"behavior":"append_timestamp","children_can_add":false,"children_can_override":false,"docs":"Append a timestamp to filenames of all files uploaded to this folder.\nThis is often used in conjunction with Automations and remote server sync to ensure file organization.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":true,"value_hash_params":[{"description":"Format for the timestamp.  You may use anything accepted by the standard UNIX `date` command or `strftime`.","example":"-YYYY-MM-DDThh:mm:ssZ","name":"format"},{"description":"Accepts any valid timezone value from the web interface (e.g. \"Eastern Time (US & Canada)\") or a UTC offset (\"-05:00\").  Omit parameter for UTC time.","example":"Eastern Time (US & Canada)","name":"time_zone"}],"visible_to_non_admins":true},{"behavior":"limit_file_extensions","children_can_add":false,"children_can_override":false,"docs":"Limit the allowed extensions of files being uploaded to this folder.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":true,"value_hash_params":[{"description":"Array of whitelisted/blacklisted file extensions, depending on mode","example":["xls","csv"],"name":"extensions"},{"description":"controls whether the behavior acts as a whitelist or as a blacklist. Default is `whitelist`.","example":"whitelist","name":"mode"}],"visible_to_non_admins":true},{"behavior":"limit_file_regex","children_can_add":false,"children_can_override":false,"docs":"Limit the filenames of files in this folder according to a regular expression.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":true,"value_hash_params":[{"description":"a single-element Array (not a hash) containing the regular expression, which must start and end with slashes.","example":["/Document-.*/"],"name":"all"}],"visible_to_non_admins":true},{"behavior":"amazon_sns","children_can_add":true,"children_can_override":false,"docs":"Sends a notification via Amazon SNS whenever certain actions occur on a folder.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":false,"value_hash_params":[{"description":"Array of ARNs to send the notifications to.","example":["ARN"],"name":"arns"},{"description":"Leave blank to send an SNS notification on any action on this folder.  Or, for specific actions, you may specify an array of action types. Valid values are: `create`, `read`, `update`, `destroy`, `move`, `copy`.","example":["create","read","update","destroy","move","copy"],"name":"triggers"},{"description":"AWS IAM Credentials to use for sending SNS requests. Must include `access_key_id`, and `secret_access_key`.","example":{"access_key_id":"ACCESS_KEY_ID","region":"us-east-1","secret_access_key":"SECRET_ACCESS_KEY"},"name":"aws_credentials"}],"visible_to_non_admins":false},{"behavior":"watermark","children_can_add":false,"children_can_override":false,"docs":"Adds a watermark to any image preview generated for an image in this folder.\n","requires_attachment":true,"supports_mounted_folders":true,"unique_per_folder":true,"value_hash_params":[{"description":"Where to locate the watermark?  Valid values: `Center`, `East`, `NorthEast`, `North`, `NorthWest`, `SouthEast`, `South`, `SouthWest`, `West`","example":"SouthWest","name":"gravity"},{"description":"Max width/height as percent of image preview.","example":20,"name":"max_height_or_width"},{"description":"Percentage applied to the watermark.","example":25,"name":"transparency"},{"description":"Watermark text. Use {{user}} to embed a username into the string.","example":"Confidential: For use by {{user}} only.","name":"dynamic_text"}],"visible_to_non_admins":true},{"behavior":"remote_server_mount","children_can_add":false,"children_can_override":false,"docs":"Mount a remote server within this folder.  Remote servers can be FTP/SFTP servers, Amazon S3/GCP/Azure Blob/Wasabi/Backblaze B2 Buckets, and more.\n\nSee the RemoteServer object for a full list of the Remote Servers supported.\n\nWhen this behavior is enabled, files in this folder will never actually be stored on Files.com.  Rather, Files.com will mount the remote server and\nact as a mere conduit from your clients to the remote server.\n\nFiles.com workflow elements such as Permissions, Automations, Webhooks, Notifications, etc., will apply only to transfer activities that occur through\nFiles.com.  We won't send Webhooks or Notifications based on activity that occurs via a direct connetion to the Remote Server other than through Files.com.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":true,"value_hash_params":[{"description":"ID of the remote server to sync with.  See the Remote Servers API resource for managing these.","example":"1","name":"remote_server_id"},{"description":"Path on remote server to treat as the root of this mount. This should be an absolute path on the remote server. This must be slash-delimited, but it must neither start nor end with a slash.","example":"","name":"remote_path"}],"visible_to_non_admins":true},{"behavior":"slack_webhook","children_can_add":true,"children_can_override":false,"docs":"Sends a Webhook call to Slack whenever certain actions occur on a folder.\nYou will need to add the \"Incoming WebHooks\" App to your Slack workspace.\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":false,"value_hash_params":[{"description":"Slack issued URL to send the webhook to.","example":"https://mysite.com/url...","name":"url"},{"description":"Username to display in Slack.","example":"Files.com","name":"username"},{"description":"Channel is send the webhook to.","example":"alerts","name":"channel"},{"description":"Slack emoji to display in Slack, e.g. :robot_face:","example":":robot_face:","name":"icon_emoji"},{"description":"Leave blank to send webhooks on any action on this folder.  Or, for specific actions, you may specify an array of action types.  Valid values are: `create`, `read`, `update`, `destroy`, `move`, `copy`.","example":["create","read","update","destroy","move","copy"],"name":"triggers"}],"visible_to_non_admins":true},{"behavior":"auto_decrypt","children_can_add":false,"children_can_override":true,"docs":"Files will be automatically decrypted after uploading using your provided GPG key.\n","requires_attachment":false,"supports_mounted_folders":false,"unique_per_folder":true,"value_hash_params":[{"description":"Must be set to `PGP/GPG`.  If we support other options in the future (like OpenSSL), we will amend this option.","example":"PGP/GPG","name":"algorithm"},{"description":"Filename suffix that if present will be removed after decryption.","example":".gpg","name":"suffix"},{"description":"Your GPG public key.  Please be sure not to send your private key here. If that happens, we try to detect it and disable the behavior for your security.","example":"[your GPG public key]","friendly_name":"Public Encryption Key","name":"key"},{"description":"Your GPG private key.","example":"[your GPG private key]","friendly_name":"Private Encryption Key","name":"private_key"},{"description":"Your GPG private key password. Only required for password protected keys.","example":"[your GPG private key password]","friendly_name":"Private Encryption Key Password","name":"private_key_password"},{"description":"Set to true if you want to ignore any errors from the MDC (modification detection code) check. MDC is an important security feature of GPG and this flag should not be set to true unless absolutely necessary","example":true,"friendly_name":"Ignore MDC Error","name":"ignore_mdc_error"}],"visible_to_non_admins":true},{"behavior":"override_upload_filename","children_can_add":false,"children_can_override":false,"docs":"Modify filenames of files uploaded to this folder. You can mix flags with regular chars and use anything accepted by the standard UNIX `date` command or `strftime`.\n\nList of available patterns:\n* %Fl - original filename, with extension, converted to lowercase\n* %Ff - original filename, with extension\n* %Fe - original extension\n* %Fb - original basename, without extension\n","requires_attachment":false,"supports_mounted_folders":true,"unique_per_folder":true,"value_hash_params":[{"description":"Format for filename override.  You may use anything from the list `%Fl, %Ff, %Fe, %Fb` as well as any additions you want to modify the name with.","example":"%Fb_addition5%Fe","name":"filename_override_pattern"},{"description":"Accepts any valid timezone value from the web interface (e.g. \"Eastern Time (US & Canada)\") or a UTC offset (\"-05:00\").  Omit parameter for UTC time.","example":"Eastern Time (US & Canada)","name":"time_zone"}],"visible_to_non_admins":true}],"x-errors":[{"http-code":400,"title":"Bad Request","type":"bad-request"},{"http-code":400,"title":"Agent Upgrade Required","type":"bad-request/agent-upgrade-required"},{"http-code":400,"title":"Attachment Too Large","type":"bad-request/attachment-too-large"},{"http-code":400,"title":"Cannot Download Directory","type":"bad-request/cannot-download-directory"},{"http-code":400,"title":"Cant Move With Multiple Locations","type":"bad-request/cant-move-with-multiple-locations"},{"http-code":400,"title":"Datetime Parse","type":"bad-request/datetime-parse"},{"http-code":400,"title":"Destination Same","type":"bad-request/destination-same"},{"http-code":400,"title":"Folder Must Not Be A File","type":"bad-request/folder-must-not-be-a-file"},{"http-code":400,"title":"Invalid Body","type":"bad-request/invalid-body"},{"http-code":400,"title":"Invalid Cursor","type":"bad-request/invalid-cursor"},{"http-code":400,"title":"Invalid Cursor Type For Sort","type":"bad-request/invalid-cursor-type-for-sort"},{"http-code":400,"title":"Invalid Etags","type":"bad-request/invalid-etags"},{"http-code":400,"title":"Invalid Filter Alias Combination","type":"bad-request/invalid-filter-alias-combination"},{"http-code":400,"title":"Invalid Filter Combination","type":"bad-request/invalid-filter-combination"},{"http-code":400,"title":"Invalid Filter Field","type":"bad-request/invalid-filter-field"},{"http-code":400,"title":"Invalid Filter Param","type":"bad-request/invalid-filter-param"},{"http-code":400,"title":"Invalid Input Encoding","type":"bad-request/invalid-input-encoding"},{"http-code":400,"title":"Invalid Interface","type":"bad-request/invalid-interface"},{"http-code":400,"title":"Invalid Oauth Provider","type":"bad-request/invalid-oauth-provider"},{"http-code":400,"title":"Invalid Path","type":"bad-request/invalid-path"},{"http-code":400,"title":"Invalid Return To Url","type":"bad-request/invalid-return-to-url"},{"http-code":400,"title":"Invalid Upload Offset","type":"bad-request/invalid-upload-offset"},{"http-code":400,"title":"Invalid Upload Part Gap","type":"bad-request/invalid-upload-part-gap"},{"http-code":400,"title":"Invalid Upload Part Size","type":"bad-request/invalid-upload-part-size"},{"http-code":400,"title":"Method Not Allowed","type":"bad-request/method-not-allowed"},{"http-code":400,"title":"No Valid Input Params","type":"bad-request/no-valid-input-params"},{"http-code":400,"title":"Operation On Non Scim Resource","type":"bad-request/operation-on-non-scim-resource"},{"http-code":400,"title":"Part Number Too Large","type":"bad-request/part-number-too-large"},{"http-code":400,"title":"Reauthentication Needed Fields","type":"bad-request/reauthentication-needed-fields"},{"http-code":400,"title":"Request Param Path Cannot Have Trailing Whitespace","type":"bad-request/request-param-path-cannot-have-trailing-whitespace"},{"http-code":400,"title":"Request Params Contain Invalid Character","type":"bad-request/request-params-contain-invalid-character"},{"http-code":400,"title":"Request Params Invalid","type":"bad-request/request-params-invalid"},{"http-code":400,"title":"Request Params Required","type":"bad-request/request-params-required"},{"http-code":400,"title":"Search All On Child Path","type":"bad-request/search-all-on-child-path"},{"http-code":400,"title":"Unsupported Currency","type":"bad-request/unsupported-currency"},{"http-code":400,"title":"Unsupported Http Response Format","type":"bad-request/unsupported-http-response-format"},{"http-code":400,"title":"Unsupported Media Type","type":"bad-request/unsupported-media-type"},{"http-code":400,"title":"User Id Invalid","type":"bad-request/user-id-invalid"},{"http-code":400,"title":"User Id On User Endpoint","type":"bad-request/user-id-on-user-endpoint"},{"http-code":400,"title":"User Required","type":"bad-request/user-required"},{"http-code":401,"title":"Authentication Required","type":"not-authenticated/authentication-required"},{"http-code":401,"title":"Bundle Registration Code Failed","type":"not-authenticated/bundle-registration-code-failed"},{"http-code":401,"title":"Files Agent Token Failed","type":"not-authenticated/files-agent-token-failed"},{"http-code":401,"title":"Inbox Registration Code Failed","type":"not-authenticated/inbox-registration-code-failed"},{"http-code":401,"title":"Invalid Credentials","type":"not-authenticated/invalid-credentials"},{"http-code":401,"title":"Invalid Oauth","type":"not-authenticated/invalid-oauth"},{"http-code":401,"title":"Invalid Or Expired Code","type":"not-authenticated/invalid-or-expired-code"},{"http-code":401,"title":"Invalid Username Or Password","type":"not-authenticated/invalid-username-or-password"},{"http-code":401,"title":"Locked Out","type":"not-authenticated/locked-out"},{"http-code":401,"title":"Lockout Region Mismatch","type":"not-authenticated/lockout-region-mismatch"},{"http-code":401,"title":"One Time Password Incorrect","type":"not-authenticated/one-time-password-incorrect"},{"http-code":401,"title":"Two Factor Authentication Error","type":"not-authenticated/two-factor-authentication-error"},{"http-code":401,"title":"Two Factor Authentication Setup Expired","type":"not-authenticated/two-factor-authentication-setup-expired"},{"http-code":403,"title":"Api Key Is Disabled","type":"not-authorized/api-key-is-disabled"},{"http-code":403,"title":"Api Key Is Path Restricted","type":"not-authorized/api-key-is-path-restricted"},{"http-code":403,"title":"Api Key Only For Desktop App","type":"not-authorized/api-key-only-for-desktop-app"},{"http-code":403,"title":"Api Key Only For Mobile App","type":"not-authorized/api-key-only-for-mobile-app"},{"http-code":403,"title":"Api Key Only For Office Integration","type":"not-authorized/api-key-only-for-office-integration"},{"http-code":403,"title":"Billing Permission Required","type":"not-authorized/billing-permission-required"},{"http-code":403,"title":"Bundle Maximum Uses Reached","type":"not-authorized/bundle-maximum-uses-reached"},{"http-code":403,"title":"Cannot Login While Using Key","type":"not-authorized/cannot-login-while-using-key"},{"http-code":403,"title":"Cant Act For Other User","type":"not-authorized/cant-act-for-other-user"},{"http-code":403,"title":"Contact Admin For Password Change Help","type":"not-authorized/contact-admin-for-password-change-help"},{"http-code":403,"title":"Folder Admin Or Billing Permission Required","type":"not-authorized/folder-admin-or-billing-permission-required"},{"http-code":403,"title":"Folder Admin Permission Required","type":"not-authorized/folder-admin-permission-required"},{"http-code":403,"title":"Full Permission Required","type":"not-authorized/full-permission-required"},{"http-code":403,"title":"History Permission Required","type":"not-authorized/history-permission-required"},{"http-code":403,"title":"Insufficient Permission For Params","type":"not-authorized/insufficient-permission-for-params"},{"http-code":403,"title":"Must Authenticate With Api Key","type":"not-authorized/must-authenticate-with-api-key"},{"http-code":403,"title":"Need Admin Permission For Inbox","type":"not-authorized/need-admin-permission-for-inbox"},{"http-code":403,"title":"Non Admins Must Query By Folder Or Path","type":"not-authorized/non-admins-must-query-by-folder-or-path"},{"http-code":403,"title":"Not Allowed To Create Bundle","type":"not-authorized/not-allowed-to-create-bundle"},{"http-code":403,"title":"Password Change Not Required","type":"not-authorized/password-change-not-required"},{"http-code":403,"title":"Password Change Required","type":"not-authorized/password-change-required"},{"http-code":403,"title":"Read Only Session","type":"not-authorized/read-only-session"},{"http-code":403,"title":"Read Permission Required","type":"not-authorized/read-permission-required"},{"http-code":403,"title":"Reauthentication Failed","type":"not-authorized/reauthentication-failed"},{"http-code":403,"title":"Reauthentication Failed Final","type":"not-authorized/reauthentication-failed-final"},{"http-code":403,"title":"Reauthentication Needed Action","type":"not-authorized/reauthentication-needed-action"},{"http-code":403,"title":"Self Managed Required","type":"not-authorized/self-managed-required"},{"http-code":403,"title":"Site Admin Required","type":"not-authorized/site-admin-required"},{"http-code":403,"title":"Site Files Are Immutable","type":"not-authorized/site-files-are-immutable"},{"http-code":403,"title":"Two Factor Authentication Required","type":"not-authorized/two-factor-authentication-required"},{"http-code":403,"title":"User Id Without Site Admin","type":"not-authorized/user-id-without-site-admin"},{"http-code":403,"title":"Write Permission Required","type":"not-authorized/write-permission-required"},{"http-code":403,"title":"Zip Download Ip Mismatch","type":"not-authorized/zip-download-ip-mismatch"},{"http-code":404,"title":"Not Found","type":"not-found"},{"http-code":404,"title":"Api Key Not Found","type":"not-found/api-key-not-found"},{"http-code":404,"title":"Bundle Path Not Found","type":"not-found/bundle-path-not-found"},{"http-code":404,"title":"Bundle Registration Not Found","type":"not-found/bundle-registration-not-found"},{"http-code":404,"title":"Code Not Found","type":"not-found/code-not-found"},{"http-code":404,"title":"File Not Found","type":"not-found/file-not-found"},{"http-code":404,"title":"File Upload Not Found","type":"not-found/file-upload-not-found"},{"http-code":404,"title":"Folder Not Found","type":"not-found/folder-not-found"},{"http-code":404,"title":"Group Not Found","type":"not-found/group-not-found"},{"http-code":404,"title":"Inbox Not Found","type":"not-found/inbox-not-found"},{"http-code":404,"title":"Nested Not Found","type":"not-found/nested-not-found"},{"http-code":404,"title":"Plan Not Found","type":"not-found/plan-not-found"},{"http-code":404,"title":"Site Not Found","type":"not-found/site-not-found"},{"http-code":404,"title":"User Not Found","type":"not-found/user-not-found"},{"http-code":422,"title":"Bundle Only Allows Previews","type":"processing-failure/bundle-only-allows-previews"},{"http-code":422,"title":"Bundle Operation Requires Subfolder","type":"processing-failure/bundle-operation-requires-subfolder"},{"http-code":422,"title":"Could Not Create Parent","type":"processing-failure/could-not-create-parent"},{"http-code":422,"title":"Destination Exists","type":"processing-failure/destination-exists"},{"http-code":422,"title":"Destination Folder Limited","type":"processing-failure/destination-folder-limited"},{"http-code":422,"title":"Destination Parent Conflict","type":"processing-failure/destination-parent-conflict"},{"http-code":409,"title":"Destination Parent Does Not Exist","type":"processing-failure/destination-parent-does-not-exist"},{"http-code":422,"title":"Expired Private Key","type":"processing-failure/expired-private-key"},{"http-code":422,"title":"Expired Public Key","type":"processing-failure/expired-public-key"},{"http-code":422,"title":"Export Failure","type":"processing-failure/export-failure"},{"http-code":422,"title":"Export Not Ready","type":"processing-failure/export-not-ready"},{"http-code":422,"title":"Failed To Change Password","type":"processing-failure/failed-to-change-password"},{"http-code":422,"title":"File Locked","type":"processing-failure/file-locked"},{"http-code":422,"title":"File Not Uploaded","type":"processing-failure/file-not-uploaded"},{"http-code":422,"title":"File Pending Processing","type":"processing-failure/file-pending-processing"},{"http-code":422,"title":"File Too Big To Decrypt","type":"processing-failure/file-too-big-to-decrypt"},{"http-code":422,"title":"File Too Big To Encrypt","type":"processing-failure/file-too-big-to-encrypt"},{"http-code":422,"title":"File Uploaded To Wrong Region","type":"processing-failure/file-uploaded-to-wrong-region"},{"http-code":403,"title":"Folder Locked","type":"processing-failure/folder-locked"},{"http-code":422,"title":"Folder Not Empty","type":"processing-failure/folder-not-empty"},{"http-code":422,"title":"History Unavailable","type":"processing-failure/history-unavailable"},{"http-code":422,"title":"Invalid Bundle Code","type":"processing-failure/invalid-bundle-code"},{"http-code":422,"title":"Invalid File Type","type":"processing-failure/invalid-file-type"},{"http-code":422,"title":"Invalid Filename","type":"processing-failure/invalid-filename"},{"http-code":422,"title":"Invalid Range","type":"processing-failure/invalid-range"},{"http-code":422,"title":"Model Save Error","type":"processing-failure/model-save-error"},{"http-code":422,"title":"Multiple Processing Errors","type":"processing-failure/multiple-processing-errors"},{"http-code":422,"title":"Path Too Long","type":"processing-failure/path-too-long"},{"http-code":422,"title":"Recipient Already Shared","type":"processing-failure/recipient-already-shared"},{"http-code":422,"title":"Remote Server Error","type":"processing-failure/remote-server-error"},{"http-code":422,"title":"Resource Locked","type":"processing-failure/resource-locked"},{"http-code":422,"title":"Subfolder Locked","type":"processing-failure/subfolder-locked"},{"http-code":422,"title":"Two Factor Authentication Code Already Sent","type":"processing-failure/two-factor-authentication-code-already-sent"},{"http-code":422,"title":"Updates Not Allowed For Remotes","type":"processing-failure/updates-not-allowed-for-remotes"},{"http-code":429,"title":"Reauthentication Rate Limited","type":"rate-limited/reauthentication-rate-limited"},{"http-code":429,"title":"Too Many Concurrent Requests","type":"rate-limited/too-many-concurrent-requests"},{"http-code":429,"title":"Too Many Login Attempts","type":"rate-limited/too-many-login-attempts"},{"http-code":429,"title":"Too Many Requests","type":"rate-limited/too-many-requests"},{"http-code":429,"title":"Too Many Shares","type":"rate-limited/too-many-shares"},{"http-code":503,"title":"Uploads Unavailable","type":"service-unavailable/uploads-unavailable"},{"http-code":403,"title":"Account Already Exists","type":"site-configuration/account-already-exists"},{"http-code":403,"title":"Account Overdue","type":"site-configuration/account-overdue"},{"http-code":403,"title":"No Account For Site","type":"site-configuration/no-account-for-site"},{"http-code":403,"title":"Site Was Removed","type":"site-configuration/site-was-removed"},{"http-code":403,"title":"Trial Expired","type":"site-configuration/trial-expired"},{"http-code":403,"title":"Trial Locked","type":"site-configuration/trial-locked"},{"http-code":403,"title":"User Requests Enabled Required","type":"site-configuration/user-requests-enabled-required"}],"x-regions":[{"description":"USA, Virginia","name":"us-east-1"},{"description":"Australia, Sydney","name":"ap-southeast-2"},{"description":"Canada, Toronto","name":"ca-central-1"},{"description":"EU - Germany, Frankfurt","name":"eu-central-1"},{"description":"UK, London","name":"eu-west-2"},{"description":"Japan, Tokyo","name":"ap-northeast-1"},{"description":"Singapore","name":"ap-southeast-1"}],"x-site_attribute_requirements":{"allowed_countries":"feature_bundle_power","bundle_password_required":"feature_bundle_power","bundle_require_share_recipient":"feature_bundle_power","custom_namespace":"feature_bundle_power","disallowed_countries":"feature_bundle_power","domain":"feature_bundle_power","folder_permissions_groups_only":"feature_bundle_power","require_2fa":"feature_bundle_power","sftp_insecure_ciphers":"feature_bundle_power","smtp_address":"feature_bundle_power","smtp_authentication":"feature_bundle_power","smtp_from":"feature_bundle_power","smtp_password":"feature_bundle_power","smtp_port":"feature_bundle_power","smtp_username":"feature_bundle_power","tls_disabled":"feature_bundle_power","user_requests_enabled":"feature_bundle_power"}}