Remote Servers

A RemoteServer is a specific type of Behavior called remote_server_sync.

Remote 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, SharePoint, Google Drive, Azure Blob Storage, or Files.com direct link.

Not every attribute will apply to every remote server.

FTP Servers require that you specify their hostname, port, username, password, and a value for ssl. Optionally, provide server_certificate.

SFTP 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.

S3 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.

S3-Compatible Buckets require that you specify s3_compatible_bucket, s3_compatible_endpoint, s3_compatible_access_key, and s3_compatible_secret_key. Optionally provide s3_compatible_virtual_hosted_style to use virtual-hosted-style URLs instead of path-style URLs.

Google Cloud Storage requires that you specify google_cloud_storage_bucket, and then one of the following sets of authentication credentials, selected by google_cloud_storage_authentication_method (defaults to json):

  • for JSON authentication: google_cloud_storage_project_id, and google_cloud_storage_credentials_json
  • for HMAC (S3-Compatible) authentication: google_cloud_storage_s3_compatible_access_key, and google_cloud_storage_s3_compatible_secret_key
  • for OAuth authentication: google_cloud_storage_oauth_scope, then follow the auth_setup_link and login with Google

Wasabi requires wasabi_bucket, wasabi_region, wasabi_access_key, and wasabi_secret_key.

Backblaze 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

WebDAV Servers require that you specify their hostname, username, and password.

OneDrive follow the auth_setup_link and login with Microsoft.

SharePoint supports delegated authentication through auth_setup_link, or app-only authentication with sharepoint_tenant_id, sharepoint_client_id, and either sharepoint_client_secret or sharepoint_client_certificate. Set sharepoint_site_url to scope the remote server to a site granted through Microsoft Graph Sites.Selected; leave it blank to browse all sites.

Box follow the auth_setup_link and login with Box.

Dropbox specify if dropbox_teams then follow the auth_setup_link and login with Dropbox.

Google Drive follow the auth_setup_link and login with Google.

Azure Blob Storage azure_blob_storage_account, azure_blob_storage_container, azure_blob_storage_access_key, azure_blob_storage_sas_token, azure_blob_storage_dns_suffix

Azure File Storage azure_files_storage_account, azure_files_storage_access_key, azure_files_storage_share_name, azure_files_storage_dns_suffix

Filebase requires filebase_bucket, filebase_access_key, and filebase_secret_key.

Cloudflare requires cloudflare_bucket, cloudflare_access_key, cloudflare_secret_key and cloudflare_endpoint.

Linode requires linode_bucket, linode_access_key, linode_secret_key and linode_region.

List Remote Servers

SDK Method

remoteserver.List()

Return Object

[]*RemoteServer

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

RemoteServerListParams Fields

FieldDescription
UserId
int64
User ID. Provide a value of 0 to operate the current session's user.

Additional Arguments

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    remote_server "github.com/Files-com/files-sdk-go/v3/remoteserver"
)

remoteServerIterator, err := remote_server.List(files_sdk.RemoteServerListParams{UserId: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

for remoteServerIterator.Next() {
    remoteServer := remoteServerIterator.remoteServer()
}
err = remoteServerIterator.Err()
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Show Remote Server

SDK Method

remoteserver.Find()

Return Object

RemoteServer

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

RemoteServerFindParams Fields

FieldDescription
Id
int64
Required
Remote Server ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    remote_server "github.com/Files-com/files-sdk-go/v3/remoteserver"
)

remoteServer, err := remote_server.Find(files_sdk.RemoteServerFindParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Create Remote Server

SDK Method

remoteserver.Create()

Return Object

RemoteServer

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

RemoteServerCreateParams Fields

FieldDefaultDescription
UserId
int64
User ID. Provide a value of 0 to operate the current session's user.
Password
string
Password, if needed.
PrivateKey
string
Private key, if needed.
PrivateKeyPassphrase
string
Passphrase for private key if needed.
ResetAuthentication
boolean
Reset authenticated account?
SharepointClientCertificate
string
SharePoint: PEM-encoded certificate and unencrypted private key for app-only authentication.
SharepointClientSecret
string
SharePoint: Microsoft Entra application client secret for app-only authentication.
SslCertificate
string
SSL client certificate.
AwsSecretKey
string
AWS: secret key.
AzureBlobStorageAccessKey
string
Azure Blob Storage: Access Key
AzureBlobStorageSasToken
string
Azure Blob Storage: Shared Access Signature (SAS) token
AzureFilesStorageAccessKey
string
Azure File Storage: Access Key
AzureFilesStorageSasToken
string
Azure File Storage: Shared Access Signature (SAS) token
BackblazeB2ApplicationKey
string
Backblaze B2 Cloud Storage: applicationKey
BackblazeB2KeyId
string
Backblaze B2 Cloud Storage: keyID
CloudflareSecretKey
string
Cloudflare: Secret Key
FilebaseSecretKey
string
Filebase: Secret Key
GoogleCloudStorageCredentialsJson
string
Google Cloud Storage: JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey
GoogleCloudStorageS3CompatibleSecretKey
string
Google Cloud Storage: S3-compatible secret key
LinodeSecretKey
string
Linode: Secret Key
S3CompatibleSecretKey
string
S3-compatible: Secret Key
WasabiSecretKey
string
Wasabi: Secret Key
AllowRelativePaths
boolean
falseAllow relative paths in SFTP. If true, paths will not be forced to be absolute, allowing operations relative to the user's home directory.
AwsAccessKey
string
AWS Access Key.
AzureBlobStorageAccount
string
Azure Blob Storage: Account name
AzureBlobStorageContainer
string
Azure Blob Storage: Container name
AzureBlobStorageDnsSuffix
string
Azure Blob Storage: Custom DNS suffix
AzureBlobStorageHierarchicalNamespace
boolean
Azure Blob Storage: Does the storage account has hierarchical namespace feature enabled?
AzureFilesStorageAccount
string
Azure Files: Storage Account name
AzureFilesStorageDnsSuffix
string
Azure Files: Custom DNS suffix
AzureFilesStorageShareName
string
Azure Files: Storage Share name
BackblazeB2Bucket
string
Backblaze B2 Cloud Storage: Bucket name
BackblazeB2S3Endpoint
string
Backblaze B2 Cloud Storage: S3 Endpoint
BufferUploads
string
"auto"If set to always, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections. It will cause data to be temporarily stored in Files.com. If set to auto, we will perform this optimization if we believe it to be a benefit in a given situation.
Possible values: auto, always, never
CloudflareAccessKey
string
Cloudflare: Access Key.
CloudflareBucket
string
Cloudflare: Bucket name
CloudflareEndpoint
string
Cloudflare: endpoint
Description
string
Internal description for your reference
DropboxTeams
boolean
falseDropbox: If true, list Team folders in root?
EnableDedicatedIps
boolean
truetrue if remote server only accepts connections from dedicated IPs
FilebaseAccessKey
string
Filebase: Access Key.
FilebaseBucket
string
Filebase: Bucket name
FilesApiKey
string
Files.com direct link: API key used once to pair the remote server.
FilesAgentPermissionSet
string
Local permissions for files agent. read_only, write_only, or read_write
Possible values: read_write, read_only, write_only
FilesAgentRoot
string
Agent local root path
FilesAgentVersion
string
Files Agent version
OutboundAgentId
int64
Route traffic to outbound on a files-agent
GoogleCloudStorageAuthenticationMethod
string
"json"Google Cloud Storage: Authentication method. Can be json, hmac, or oauth.
Possible values: json, hmac, oauth
GoogleCloudStorageBucket
string
Google Cloud Storage: Bucket Name
GoogleCloudStorageOauthScope
string
Google Cloud Storage: OAuth scope. Can be https://www.googleapis.com/auth/devstorage.read_only or https://www.googleapis.com/auth/devstorage.read_write.
GoogleCloudStorageProjectId
string
Google Cloud Storage: Project ID
GoogleCloudStorageS3CompatibleAccessKey
string
Google Cloud Storage: S3-compatible Access Key.
Hostname
string
Hostname or IP address
LinodeAccessKey
string
Linode: Access Key
LinodeBucket
string
Linode: Bucket name
LinodeRegion
string
Linode: region
MaxConnections
int64
10Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
Name
string
Internal name for your reference
OneDriveAccountType
string
OneDrive: Either personal or business_other account types
Possible values: personal, business_other
PinToSiteRegion
boolean
falseIf 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 site-wide setting which will force it to true.
Port
int64
Port for remote server.
UploadStagingPath
string
Upload staging path. Applies to SFTP only. If a path is provided here, files will first be uploaded to this path on the remote folder and the moved into the final correct path via an SFTP move command. This is required by some remote MFT systems to emulate atomic uploads, which are otherwise not supoprted by SFTP.
RemoteServerCredentialId
int64
ID of Remote Server Credential, if applicable.
S3AssumeRoleArn
string
AWS IAM Role ARN for AssumeRole authentication.
S3AssumeRoleDurationSeconds
int64
Session duration in seconds for AssumeRole authentication (900-43200).
S3Bucket
string
S3 bucket name
S3CompatibleAccessKey
string
S3-compatible: Access Key
S3CompatibleBucket
string
S3-compatible: Bucket name
S3CompatibleEndpoint
string
S3-compatible: endpoint
S3CompatibleRegion
string
S3-compatible: region
S3CompatibleVirtualHostedStyle
boolean
falseS3-compatible: If true, use virtual-hosted-style URLs instead of path-style URLs
S3Region
string
S3 region
ServerCertificate
string
"require_match"Remote server certificate
Possible values: require_match, allow_any
ServerHostKey
string
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
ServerType
string
Remote server type.
Possible values: ftp, sftp, s3, google_cloud_storage, webdav, wasabi, backblaze_b2, one_drive, box, dropbox, google_drive, azure, sharepoint, s3_compatible, azure_files, files_agent, filebase, cloudflare, linode, files_com
SharepointClientId
string
SharePoint: Microsoft Entra application client ID for app-only authentication.
SharepointSiteUrl
string
SharePoint: Site URL to scope app-only authentication to a single site. Leave blank to browse all sites.
SharepointTenantId
string
SharePoint: Microsoft Entra tenant ID for app-only authentication.
Ssl
string
"if_available"Should we require SSL?
Possible values: if_available, require, require_implicit, never
Username
string
Remote server username.
WasabiAccessKey
string
Wasabi: Access Key.
WasabiBucket
string
Wasabi: Bucket name
WasabiRegion
string
Wasabi: Region
WorkspaceId
int64
0Workspace ID (0 for default workspace)

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    remote_server "github.com/Files-com/files-sdk-go/v3/remoteserver"
)

remoteServer, err := remote_server.Create(files_sdk.RemoteServerCreateParams{UserId: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Update Remote Server

SDK Method

remoteserver.Update()

Return Object

RemoteServer

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

RemoteServerUpdateParams Fields

FieldDescription
Id
int64
Required
Remote Server ID.
Password
string
Password, if needed.
PrivateKey
string
Private key, if needed.
PrivateKeyPassphrase
string
Passphrase for private key if needed.
ResetAuthentication
boolean
Reset authenticated account?
SharepointClientCertificate
string
SharePoint: PEM-encoded certificate and unencrypted private key for app-only authentication.
SharepointClientSecret
string
SharePoint: Microsoft Entra application client secret for app-only authentication.
SslCertificate
string
SSL client certificate.
AwsSecretKey
string
AWS: secret key.
AzureBlobStorageAccessKey
string
Azure Blob Storage: Access Key
AzureBlobStorageSasToken
string
Azure Blob Storage: Shared Access Signature (SAS) token
AzureFilesStorageAccessKey
string
Azure File Storage: Access Key
AzureFilesStorageSasToken
string
Azure File Storage: Shared Access Signature (SAS) token
BackblazeB2ApplicationKey
string
Backblaze B2 Cloud Storage: applicationKey
BackblazeB2KeyId
string
Backblaze B2 Cloud Storage: keyID
CloudflareSecretKey
string
Cloudflare: Secret Key
FilebaseSecretKey
string
Filebase: Secret Key
GoogleCloudStorageCredentialsJson
string
Google Cloud Storage: JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey
GoogleCloudStorageS3CompatibleSecretKey
string
Google Cloud Storage: S3-compatible secret key
LinodeSecretKey
string
Linode: Secret Key
S3CompatibleSecretKey
string
S3-compatible: Secret Key
WasabiSecretKey
string
Wasabi: Secret Key
AllowRelativePaths
boolean
Allow relative paths in SFTP. If true, paths will not be forced to be absolute, allowing operations relative to the user's home directory.
AwsAccessKey
string
AWS Access Key.
AzureBlobStorageAccount
string
Azure Blob Storage: Account name
AzureBlobStorageContainer
string
Azure Blob Storage: Container name
AzureBlobStorageDnsSuffix
string
Azure Blob Storage: Custom DNS suffix
AzureBlobStorageHierarchicalNamespace
boolean
Azure Blob Storage: Does the storage account has hierarchical namespace feature enabled?
AzureFilesStorageAccount
string
Azure Files: Storage Account name
AzureFilesStorageDnsSuffix
string
Azure Files: Custom DNS suffix
AzureFilesStorageShareName
string
Azure Files: Storage Share name
BackblazeB2Bucket
string
Backblaze B2 Cloud Storage: Bucket name
BackblazeB2S3Endpoint
string
Backblaze B2 Cloud Storage: S3 Endpoint
BufferUploads
string
If set to always, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections. It will cause data to be temporarily stored in Files.com. If set to auto, we will perform this optimization if we believe it to be a benefit in a given situation.
Possible values: auto, always, never
CloudflareAccessKey
string
Cloudflare: Access Key.
CloudflareBucket
string
Cloudflare: Bucket name
CloudflareEndpoint
string
Cloudflare: endpoint
Description
string
Internal description for your reference
DropboxTeams
boolean
Dropbox: If true, list Team folders in root?
EnableDedicatedIps
boolean
true if remote server only accepts connections from dedicated IPs
FilebaseAccessKey
string
Filebase: Access Key.
FilebaseBucket
string
Filebase: Bucket name
FilesApiKey
string
Files.com direct link: API key used once to pair the remote server.
FilesAgentPermissionSet
string
Local permissions for files agent. read_only, write_only, or read_write
Possible values: read_write, read_only, write_only
FilesAgentRoot
string
Agent local root path
FilesAgentVersion
string
Files Agent version
OutboundAgentId
int64
Route traffic to outbound on a files-agent
GoogleCloudStorageAuthenticationMethod
string
Google Cloud Storage: Authentication method. Can be json, hmac, or oauth.
Possible values: json, hmac, oauth
GoogleCloudStorageBucket
string
Google Cloud Storage: Bucket Name
GoogleCloudStorageOauthScope
string
Google Cloud Storage: OAuth scope. Can be https://www.googleapis.com/auth/devstorage.read_only or https://www.googleapis.com/auth/devstorage.read_write.
GoogleCloudStorageProjectId
string
Google Cloud Storage: Project ID
GoogleCloudStorageS3CompatibleAccessKey
string
Google Cloud Storage: S3-compatible Access Key.
Hostname
string
Hostname or IP address
LinodeAccessKey
string
Linode: Access Key
LinodeBucket
string
Linode: Bucket name
LinodeRegion
string
Linode: region
MaxConnections
int64
Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
Name
string
Internal name for your reference
OneDriveAccountType
string
OneDrive: Either personal or business_other account types
Possible values: personal, business_other
PinToSiteRegion
boolean
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 site-wide setting which will force it to true.
Port
int64
Port for remote server.
UploadStagingPath
string
Upload staging path. Applies to SFTP only. If a path is provided here, files will first be uploaded to this path on the remote folder and the moved into the final correct path via an SFTP move command. This is required by some remote MFT systems to emulate atomic uploads, which are otherwise not supoprted by SFTP.
RemoteServerCredentialId
int64
ID of Remote Server Credential, if applicable.
S3AssumeRoleArn
string
AWS IAM Role ARN for AssumeRole authentication.
S3AssumeRoleDurationSeconds
int64
Session duration in seconds for AssumeRole authentication (900-43200).
S3Bucket
string
S3 bucket name
S3CompatibleAccessKey
string
S3-compatible: Access Key
S3CompatibleBucket
string
S3-compatible: Bucket name
S3CompatibleEndpoint
string
S3-compatible: endpoint
S3CompatibleRegion
string
S3-compatible: region
S3CompatibleVirtualHostedStyle
boolean
S3-compatible: If true, use virtual-hosted-style URLs instead of path-style URLs
S3Region
string
S3 region
ServerCertificate
string
Remote server certificate
Possible values: require_match, allow_any
ServerHostKey
string
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
ServerType
string
Remote server type.
Possible values: ftp, sftp, s3, google_cloud_storage, webdav, wasabi, backblaze_b2, one_drive, box, dropbox, google_drive, azure, sharepoint, s3_compatible, azure_files, files_agent, filebase, cloudflare, linode, files_com
SharepointClientId
string
SharePoint: Microsoft Entra application client ID for app-only authentication.
SharepointSiteUrl
string
SharePoint: Site URL to scope app-only authentication to a single site. Leave blank to browse all sites.
SharepointTenantId
string
SharePoint: Microsoft Entra tenant ID for app-only authentication.
Ssl
string
Should we require SSL?
Possible values: if_available, require, require_implicit, never
Username
string
Remote server username.
WasabiAccessKey
string
Wasabi: Access Key.
WasabiBucket
string
Wasabi: Bucket name
WasabiRegion
string
Wasabi: Region

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    remote_server "github.com/Files-com/files-sdk-go/v3/remoteserver"
)

remoteServer, err := remote_server.Update(files_sdk.RemoteServerUpdateParams{
  Id: 1,
  ResetAuthentication: lib.Bool(false)
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

Delete Remote Server

SDK Method

remoteserver.Delete()

Return Object

No return value.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

RemoteServerDeleteParams Fields

FieldDescription
Id
int64
Required
Remote Server ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    remote_server "github.com/Files-com/files-sdk-go/v3/remoteserver"
)

err := remote_server.Delete(files_sdk.RemoteServerDeleteParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

The RemoteServer Object

Some of the methods above return a RemoteServer object. The attributes of this object are listed below.

AttributeDescription
Id
int64
Remote Server ID
Disabled
boolean
If true, this Remote Server has been disabled due to failures. Make any change or set disabled to false to clear this flag.
AuthenticationMethod
string
Type of authentication method to use
Hostname
string
Hostname or IP address
RemoteHomePath
string
Initial home folder on remote server
UploadStagingPath
string
Upload staging path. Applies to SFTP only. If a path is provided here, files will first be uploaded to this path on the remote folder and the moved into the final correct path via an SFTP move command. This is required by some remote MFT systems to emulate atomic uploads, which are otherwise not supoprted by SFTP.
AllowRelativePaths
boolean
Allow relative paths in SFTP. If true, paths will not be forced to be absolute, allowing operations relative to the user's home directory.
Name
string
Internal name for your reference
Description
string
Internal description for your reference
Port
int64
Port for remote server.
BufferUploads
string
If set to always, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections. It will cause data to be temporarily stored in Files.com. If set to auto, we will perform this optimization if we believe it to be a benefit in a given situation.
Possible values: auto, always, never
MaxConnections
int64
Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
PinToSiteRegion
boolean
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 site-wide setting which will force it to true.
PinnedRegion
string
If set, all communications with this remote server are made through the provided region.
RemoteServerCredentialId
int64
ID of Remote Server Credential, if applicable.
S3Bucket
string
S3 bucket name
S3Region
string
S3 region
AwsAccessKey
string
AWS Access Key.
S3AssumeRoleArn
string
AWS IAM Role ARN for AssumeRole authentication.
S3AssumeRoleDurationSeconds
int64
Session duration in seconds for AssumeRole authentication (900-43200).
S3AssumeRoleExternalId
string
External ID for AssumeRole authentication.
ServerCertificate
string
Remote server certificate
Possible values: require_match, allow_any
ServerHostKey
string
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
ServerType
string
Remote server type.
Possible values: ftp, sftp, s3, google_cloud_storage, webdav, wasabi, backblaze_b2, one_drive, box, dropbox, google_drive, azure, sharepoint, s3_compatible, azure_files, files_agent, filebase, cloudflare, linode, files_com
WorkspaceId
int64
Workspace ID (0 for default workspace)
Ssl
string
Should we require SSL?
Possible values: if_available, require, require_implicit, never
Username
string
Remote server username.
GoogleCloudStorageBucket
string
Google Cloud Storage: Bucket Name
GoogleCloudStorageAuthenticationMethod
string
Google Cloud Storage: Authentication method. Can be json, hmac, or oauth.
Possible values: json, hmac, oauth
GoogleCloudStorageOauthScope
string
Google Cloud Storage: OAuth scope. Can be https://www.googleapis.com/auth/devstorage.read_only or https://www.googleapis.com/auth/devstorage.read_write.
GoogleCloudStorageProjectId
string
Google Cloud Storage: Project ID
GoogleCloudStorageS3CompatibleAccessKey
string
Google Cloud Storage: S3-compatible Access Key.
BackblazeB2S3Endpoint
string
Backblaze B2 Cloud Storage: S3 Endpoint
BackblazeB2Bucket
string
Backblaze B2 Cloud Storage: Bucket name
WasabiBucket
string
Wasabi: Bucket name
WasabiRegion
string
Wasabi: Region
WasabiAccessKey
string
Wasabi: Access Key.
AuthStatus
string
Either in_setup or complete
Possible values: not_applicable, in_setup, complete, reauthenticate
AuthAccountName
string
Describes the authorized account
OneDriveAccountType
string
OneDrive: Either personal or business_other account types
Possible values: personal, business_other
SharepointTenantId
string
SharePoint: Microsoft Entra tenant ID for app-only authentication.
SharepointClientId
string
SharePoint: Microsoft Entra application client ID for app-only authentication.
SharepointAppAuthentication
boolean
SharePoint: If true, this remote server uses Microsoft Entra app-only authentication.
SharepointAppCredentialType
string
SharePoint: App-only credential type. Either secret or certificate.
SharepointSiteUrl
string
SharePoint: Site URL to scope app-only authentication to a single site. Leave blank to browse all sites.
AzureBlobStorageAccount
string
Azure Blob Storage: Account name
AzureBlobStorageContainer
string
Azure Blob Storage: Container name
AzureBlobStorageHierarchicalNamespace
boolean
Azure Blob Storage: Does the storage account has hierarchical namespace feature enabled?
AzureBlobStorageDnsSuffix
string
Azure Blob Storage: Custom DNS suffix
AzureFilesStorageAccount
string
Azure Files: Storage Account name
AzureFilesStorageShareName
string
Azure Files: Storage Share name
AzureFilesStorageDnsSuffix
string
Azure Files: Custom DNS suffix
S3CompatibleBucket
string
S3-compatible: Bucket name
S3CompatibleEndpoint
string
S3-compatible: endpoint
S3CompatibleRegion
string
S3-compatible: region
S3CompatibleVirtualHostedStyle
boolean
S3-compatible: If true, use virtual-hosted-style URLs instead of path-style URLs
S3CompatibleAccessKey
string
S3-compatible: Access Key
EnableDedicatedIps
boolean
true if remote server only accepts connections from dedicated IPs
FilesAgentPermissionSet
string
Local permissions for files agent. read_only, write_only, or read_write
Possible values: read_write, read_only, write_only
FilesAgentRoot
string
Agent local root path
FilesAgentApiToken
string
Files Agent API Token
FilesAgentVersion
string
Files Agent version
FilesAgentUpToDate
boolean
If true, the Files Agent is up to date.
FilesAgentLatestVersion
string
Latest available Files Agent version
FilesAgentSupportsPushUpdates
boolean
Files Agent supports receiving push updates
DirectTransferAvailable
boolean
Whether the Files Agent Proxy recently validated a direct transfer connection. true means a direct connection was recently validated (actual availability can vary by client network), false means direct transfers are enabled but not currently available, and null means direct transfers are disabled or unsupported. Only provided for a connected Files Agent when showing a single Remote Server.
OutboundAgentId
int64
Route traffic to outbound on a files-agent
FilebaseBucket
string
Filebase: Bucket name
FilebaseAccessKey
string
Filebase: Access Key.
FilesApiKeyPrefix
string
Files.com direct link: paired API key prefix.
CloudflareBucket
string
Cloudflare: Bucket name
CloudflareAccessKey
string
Cloudflare: Access Key.
CloudflareEndpoint
string
Cloudflare: endpoint
DropboxTeams
boolean
Dropbox: If true, list Team folders in root?
LinodeBucket
string
Linode: Bucket name
LinodeAccessKey
string
Linode: Access Key
LinodeRegion
string
Linode: region
SupportsVersioning
boolean
If true, this remote server supports file versioning. This value is determined automatically by Files.com.