API Data Structures
AddBucketResponseMessage
class AddBucketResponseMessage extends CometAPIResponseMessage, NewBucketDetail { }
AdminAccountPropertiesResponse
class AdminAccountPropertiesResponse { string OrganizationID AdminUserPermissions Permissions AdminSecurityOptions Security // This field is available in Comet 18.9.9 and later. }
AdminEmailOptions
class AdminEmailOptions { string FromEmail string FromName }
AdminResourceResponse
class AdminResourceResponse extends CometAPIResponseMessage { string ResourceHash }
AdminSecurityOptions
class AdminSecurityOptions { int PasswordFormat // One of the PASSWORD_FORMAT_ constants string Password bool AllowPasswordLogin bool AllowPasswordAndTOTPLogin bool AllowPasswordAndU2FLogin // AllowPasswordAndU2FLogin has been deprecated since Comet version 21.12.0 bool AllowPasswordAndWebAuthnLogin // U2FRegistrations has been deprecated since Comet version 21.12.0 // Omission from JSON document implies an empty array List<AdminU2FRegistration> U2FRegistrations List<AdminWebAuthnRegistration> WebAuthnRegistrations // Omission from JSON document implies an empty array // One of the ENCRYPTIONMETHOD_ constants // Omission from JSON document implies 0 int TOTPKeyEncryptionFormat string TOTPKey // Omission from JSON document implies empty string // A regular expression in Go regex syntax, for which IP addresses are allowed to authenticate as this admin account // Omission from JSON document implies empty string string IPWhitelist }
AdminU2FRegistration
This type has been deprecated since Comet version 21.12.0
class AdminU2FRegistration { string Description int RegisterTime // Unix timestamp, in seconds. List<byte> Registration // This field is intended to contain raw binary data. When this field is marshalled as JSON format for the API, the field is expressed as base64. If you are using one of the public SDKs, this may take place automatically. }
AdminUserPermissions
class AdminUserPermissions { bool PreventEditServerSettings // Omission from JSON document implies false bool PreventServerShutdown // Omission from JSON document implies false bool PreventChangePassword // Omission from JSON document implies false bool AllowEditBranding // Omission from JSON document implies false bool AllowEditEmailOptions // Omission from JSON document implies false bool AllowEditRemoteStorage // Omission from JSON document implies false bool AllowEditWebhooks // Omission from JSON document implies false bool AllowEditExternalAuthSources // Omission from JSON document implies false bool DenyConstellationRole // Omission from JSON document implies false // This field is available in Comet 23.6.0 and later. // Omission from JSON document implies false bool DenyViewServerHistory // This field is available in Comet 23.6.0 and later. // Omission from JSON document implies false bool DenyViewServerInfo // This field is available in Comet 24.3.2 and later. // Omission from JSON document implies false bool PreventDeleteStorageVault // This field is available in Comet 23.6.0 and later. // Omission from JSON document implies false bool PreventRequestStorageVault // This field is available in Comet 23.6.0 and later. // Omission from JSON document implies false bool PreventAddCustomStorageVault // This field is available in Comet 23.6.0 and later. // Omission from JSON document implies false bool HideCloudStorageBranding // This field is available in Comet 23.6.0 and later. // Omission from JSON document implies false bool ShouldRestrictProviderList // This field is available in Comet 23.6.0 and later. // Omission from JSON document implies an empty array List<int> AllowedProvidersWhenRestricted // This field is available in Comet 23.9.11 and later. // Omission from JSON document implies an empty array List<string> AllowedUserPolicies // This field is available in Comet 24.6.1 and later. // Omission from JSON document implies false bool DenySoftwareBuildRole }
AdminWebAuthnRegistration
class AdminWebAuthnRegistration { string Description int RegisterTime // Unix timestamp, in seconds. int Type bool IsLegacyU2F // Omission from JSON document implies false // This field is intended to contain raw binary data. When this field is marshalled as JSON format for the API, the field is expressed as base64. If you are using one of the public SDKs, this may take place automatically. // Omission from JSON document implies an empty array List<byte> ID WebAuthnCredential Credential // Omission from JSON document implies zero-initialised WebAuthnCredential class instance }
AllowedAdminUser
class AllowedAdminUser extends AdminSecurityOptions { string Username string OrganizationID string ExternalAuthenticationSource // Omission from JSON document implies empty string AdminUserPermissions Permissions }
AmazonAWSVirtualStorageRoleSettings
class AmazonAWSVirtualStorageRoleSettings extends ObjectLockStorageTemplateSettings { // If set, the Storage Template will generate Storage Vaults pointing to a subdirectory within this bucket. A single dynamic IAM policy will cover all created Storage Vaults. // This is preferable for platforms that have limits on the total number of IAM policies. However, it requires a high level of IAM compatibility. // If left blank, the Storage Template will generate Storage Vaults pointing to new, separate S3 buckets each time. An additional IAM policy is created for each new Storage Vault. // This is preferable for platforms that have a lower level of IAM compatibility. string MasterBucket string AccessKey string SecretKey }
AuthenticationRoleOptions
class AuthenticationRoleOptions { bool RoleEnabled int DatabaseCheckLevel // One of the INTEGRITYCHECK_ constants bool GenerateMissedBackupEvents int NoMissedBackupEventsBefore // Unix timestamp in seconds, before which no Missed jobs are created bool GenerateScheduledEmails int PruneLogsAfterDays List<RemoteStorageOption> RemoteStorage List<ReplicaServer> ReplicateTo GlobalOverrideOptions GlobalOverrides // Omission from JSON document implies zero-initialised GlobalOverrideOptions class instance }
AvailableDownload
class AvailableDownload { string Category string Description bool Recommended }
AzureDestinationLocation
AzureDestinationLocation allows configuring connection settings for storage locations using the Azure Blob Storage API (DESTINATIONTYPE_AZURE).
class AzureDestinationLocation { string AZBAccountName string AZBAccountKey string AZBContainer string AZBRealm // The base URL for the Azure Blob Storage service. Leave blank to use the global default URL. string AZBPrefix }
B2DestinationLocation
B2DestinationLocation allows configuring connection settings for storage locations using the Backblaze B2 native API (DESTINATIONTYPE_B2).
class B2DestinationLocation { // Key ID // Omission from JSON document implies empty string string AccountID // Application Key // Omission from JSON document implies empty string string Key string Bucket // Omission from JSON document implies empty string string Prefix // Omission from JSON document implies empty string // MaxConnections has been deprecated since Comet version 21.9.7 // Omission from JSON document implies 0 int MaxConnections // Hide files instead of deleting them. This can be used for ransomware protection if (A) the B2 credentials have the hideFile permission but not the deleteFile permission, and (B) you use the Backblaze B2 server-side lifecycle policies to clean up old hidden files. // Omission from JSON document implies false bool HideDeletedFiles }
B2StorageExtraInfo
class B2StorageExtraInfo { Dictionary<int, B2TransactionTotals> TotalTransactionsInTimeInterval }
B2TransactionTotals
class B2TransactionTotals { int ClassA int ClassB int ClassC }
B2VirtualStorageRoleSettings
class B2VirtualStorageRoleSettings { string MasterBucket string KeyID string AppKey bool HideDeletedFiles }
BackupJobAdvancedOptions
BackupJobAdvancedOptions control additional advanced options for running a backup job. They can be specified as part of a schedule in the BackupRuleConfig type, or supplied immediately when running a job.
class BackupJobAdvancedOptions { bool SkipAlreadyRunning int StopAfter // If Zero: disabled int LimitVaultSpeedBps // If Zero: disabled bool ReduceDiskConcurrency // Default disabled bool UseOnDiskIndexes // Default disabled bool AllowZeroFilesSuccess // Default disabled int AutoRetentionLevel // If Zero: default Automatic (BACKUPJOBAUTORETENTION_AUTOMATIC) int ConcurrencyCount // Desired concurrency count. If Zero, uses mode defaults string LogLevel // Log verbosity level. LOG_DEBUG has the greatest verbosity }
BackupJobDetail
class BackupJobDetail { string GUID string Username int Classification int Status int StartTime // Unix timestamp in seconds int EndTime // Unix timestamp in seconds. Will be zero if the job is still running. int RetryCount string SourceGUID // The Protected Item that this job is for string DestinationGUID // The Storage Vault that this job is for string DeviceID string SnapshotID // Omission from JSON document implies empty string // The ID of the backup rule that contains the schedule that triggered this job // This field is available in Comet 24.6.6 and later. // Omission from JSON document implies empty string string BackupRuleGUID string ClientVersion int TotalDirectories int TotalFiles int TotalSize int TotalChunks int UploadSize int DownloadSize // For Hyper-V and VMware backup jobs, the total number of virtual machines. // Omission from JSON document implies 0 int TotalVmCount // For Office 365 backup jobs, the total number of mailboxes. // Omission from JSON document implies 0 int TotalMailsCount // For Office 365 backup jobs, the total number of SharePoint sites. // Omission from JSON document implies 0 int TotalSitesCount // For Office 365 backup jobs, the calculated effective number of protected accounts. // Omission from JSON document implies 0 int TotalAccountsCount // For Office 365 backup jobs, the number of licensed mailboxes. // Omission from JSON document implies 0 int TotalLicensedMailsCount // For Office 365 backup jobs, the number of unlicensed mailboxes. // Omission from JSON document implies 0 int TotalUnlicensedMailsCount // If this field is present, this job did not perform some work because the Storage Vault is currently busy. // This field is available in Comet 24.9.2 and later. // Omission from JSON document implies empty string string ConflictingJobID // If this field is present, it is possible to request cancellation of this job via the API. // Omission from JSON document implies empty string string CancellationID // If this backup job is still running, additional partial-progress information may be present in this field. // Omission from JSON document implies zero-initialised BackupJobProgress class instance BackupJobProgress Progress // The size of the Storage Vault, as measured at the start of the job. // Omission from JSON document implies zero-initialised SizeMeasurement class instance SizeMeasurement DestinationSizeStart // The size of the Storage Vault, as measured at the end of the job. // Omission from JSON document implies zero-initialised SizeMeasurement class instance SizeMeasurement DestinationSizeEnd }
BackupJobProgress
class BackupJobProgress { int Counter // This field will always increase monotonically, exactly once, for every change to the BackupJobProgress for a given backup job. int SentTime // Unix timestamp in seconds int RecievedTime // Unix timestamp in seconds. The typo is preserved for backwards-compatibility reasons. int BytesDone int ItemsDone int ItemsTotal }
BackupRuleConfig
A backup rule connects one source Protected Item and one destination Storage Vault, with multiple time schedules or event triggers
class BackupRuleConfig extends BackupJobAdvancedOptions { string Description int CreateTime // Unix timestamp in seconds int ModifyTime // Unix timestamp in seconds. The caller is responsible for updating this themselves. List<string> PreExec // Custom commands to run before the job List<string> ThawExec // Custom commands to run after taking a disk snapshot List<string> PostExec // Custom commands to run after the job string Source // The source Protected Item ID to back up from, during this schedule string Destination // The destination Storage Vault ID to back up to, during this schedule List<ScheduleConfig> Schedules // Scheduled start times BackupRuleEventTriggers EventTriggers // Other events that will cause this scheduled job to start }
BackupRuleEventTriggers
class BackupRuleEventTriggers { // The "When PC Starts" option // Omission from JSON document implies false bool OnPCBoot // The "If the last job was Missed" option. In Comet 23.12.3 and later, this condition is evaluated when the PC starts and/or when the live connection is resumed. // Omission from JSON document implies false bool OnPCBootIfLastJobMissed // The option to enable retrying when a backup job failed. // This field is available in Comet 24.6.6 and later. // Omission from JSON document implies false bool OnLastJobFailDoRetry // The number of retries when the backup job fails. // This field is available in Comet 24.6.6 and later. // Omission from JSON document implies 0 int LastJobFailDoRetryCount // The number of minutes before retrying when the backup job fails. // This field is available in Comet 24.6.6 and later. // Omission from JSON document implies 0 int LastJobFailDoRetryTime }
BrandingOptions
class BrandingOptions extends WebInterfaceBrandingProperties, BrandingProperties { }
BrandingProperties
class BrandingProperties extends PublicBrandingProperties, PrivateBrandingProperties { }
BrowseDiskDrivesResponse
class BrowseDiskDrivesResponse extends CometAPIResponseMessage { List<DiskDrive> Disks }
BrowseEDBResponse
class BrowseEDBResponse extends CometAPIResponseMessage { List<EDBFileInfo> Databases }
BrowseHVResponse
class BrowseHVResponse extends CometAPIResponseMessage { List<HyperVMachineInfo> VirtualMachines }
BrowseOffice365ListVirtualAccountsResponse
class BrowseOffice365ListVirtualAccountsResponse extends CometAPIResponseMessage { List<Office365MixedVirtualAccount> Objects }
BrowseOffice365ObjectsResponse
class BrowseOffice365ObjectsResponse extends CometAPIResponseMessage { List<Office365ObjectInfo> Objects }
BrowseSQLServerResponse
class BrowseSQLServerResponse extends CometAPIResponseMessage { Dictionary<string, string> Objects }
BrowseVMwareResponse
class BrowseVMwareResponse extends CometAPIResponseMessage { List<VMwareMachineInfo> VirtualMachines }
BrowseVSSResponse
class BrowseVSSResponse extends CometAPIResponseMessage { Dictionary<string, VSSWriterInfo> VSSWriters }
BucketProperties
class BucketProperties { string OrganizationID int CreateTime // Unix timestamp, in seconds. int ReadWriteKeyFormat // One of the PASSWORD_FORMAT_ constants string ReadWriteKey SizeMeasurement Size }
BucketUsageInfo
class BucketUsageInfo { string AccessKey List<int> ExistsOnServers // The servers where this bucket was found. The 0-based indexes here correspond to the entries inside ConstellationRoleOptions->Servers. List<UserOnServer> InUseBy }
CometAPIResponseMessage
class CometAPIResponseMessage { int Status // If the operation was successful, the status will be in the 200-299 range. string Message }
CometDestinationLocation
class CometDestinationLocation { string CometServer // The URL for the target Comet Server Storage Role, including http/https and trailing slash string CometBucket string CometBucketKey }
ConstellationCheckReport
class ConstellationCheckReport { int CheckStarted // Unix timestamp in seconds int CheckCompleted // Unix timestamp in seconds Dictionary<string, BucketUsageInfo> Usage }
ConstellationRoleOptions
class ConstellationRoleOptions { bool RoleEnabled bool DeleteUnusedData List<RemoteServerAddress> Servers }
ConstellationStats
class ConstellationStats { int LastCheckStart // Unix timestamp, in seconds. int TotalChecksStarted // The total number of Constellation bucket report scans that have been performed since this Comet Server was last restarted int TotalBucketsDeleted // The total number of buckets that Constellation has successfully deleted since this Comet Server was last restarted int ChecksCurrentlyActive }
ConstellationStatusAPIResponse
class ConstellationStatusAPIResponse { bool DeletionEnabled List<string> Targets // This field is available in Comet 18.6.2 and later. // Omission from JSON document implies an empty array List<string> TargetNames ConstellationStats Stats }
ContentMeasurement
class ContentMeasurement { int MeasureStarted // Unix timestamp in seconds int MeasureCompleted // Unix timestamp in seconds List<ContentMeasurementComponent> Components }
ContentMeasurementComponent
class ContentMeasurementComponent { int Bytes // A list of strings describing which groups of snapshots rely on reaching this component of data. // The strings may take the following formats: // - source_id/CURRENT - this data is required by the most recent backup job snapshot for the listed Protected Item source. // - source_id/HISTORIC - this data is required by an older backup job snapshot for the listed Protected Item source. // - TRUNCATED/* - there are too many separate components to show, and this component represents data that is used by some other combination of components. If present, it will be the only entry in the UsedBy array. // - the empty string - this amount of data is not currently referenced by any backup job snapshots. If that remains the case by the next retention pass, this much data will be deleted to free up space. If present, it will be the only entry in the UsedBy array. List<string> UsedBy }
CountJobsResponse
class CountJobsResponse { int Count }
CreateGroupPolicyResponse
class CreateGroupPolicyResponse extends CometAPIResponseMessage { string PolicyHash }
CustomRemoteBucketSettings
class CustomRemoteBucketSettings { string URL Dictionary<string, string> CustomHeaders // This field is available in Comet 23.12.5 and later. string CustomBody // This field is available in Comet 24.5.0 and later. string CustomBodyType }
DaysOfWeekConfig
class DaysOfWeekConfig { bool Sunday bool Monday bool Tuesday bool Wednesday bool Thursday bool Friday bool Saturday }
DefaultEmailReportPolicy
class DefaultEmailReportPolicy extends UserCustomEmailSettings { // If true, the email reports will use the custom configuration that is defined in UserCustomEmailSettings / Reports fields. // If false, the email reports will use configuration from the policy setting if present, or else from the built-in system default email report configuration. bool ShouldOverrideDefaultReports }
DefaultSourceWithOSRestriction
class DefaultSourceWithOSRestriction { SourceConfig SourceConfig int RestrictOS }
DestinationConfig
class DestinationConfig extends DestinationLocation { string Description int CreateTime // Unix timestamp in seconds int ModifyTime // Unix timestamp in seconds List<string> PreExec // Custom commands to run before the job List<string> ThawExec // Custom commands to run after taking a disk snapshot List<string> PostExec // Custom commands to run after the job int EncryptionKeyEncryptionMethod // One of the ENCRYPTIONMETHOD_ constants string EncryptedEncryptionKey int RepoInitTimestamp // Unix timestamp in seconds. If zero, the Storage Vault has not yet been initialized for the first time. bool StorageLimitEnabled // Storage Vault quota int StorageLimitBytes // Storage Vault quota DestinationStatistics Statistics // Omission from JSON document implies zero-initialised DestinationStatistics class instance RetentionPolicy DefaultRetention // Configure the retention policy for this Storage Vault. The rules will be applied to any snapshot inside this Storage Vault, unless that snapshot belongs to a Protected Item source that has an overriding retention policy. bool RebrandStorage // The "Prevent users from viewing the actual storage type" option string RetentionError // If not empty, an error occured during a retention pass. Describes the error. }
DestinationLocation
This type is available in Comet 17.3.3 and later.
DestinationLocation describes the underlying storage location for a Storage Vault. Prior to Comet 17.3.3 this was an embedded part of the DestinationConfig type.
class DestinationLocation extends CometDestinationLocation, S3DestinationLocation, SFTPDestinationLocation, FTPDestinationLocation, AzureDestinationLocation, LocalDestinationLocation, SpannedDestinationLocation { int DestinationType // One of the DESTINATIONTYPE_ constants SwiftDestinationLocation Swift B2DestinationLocation B2 WebDavDestinationLocation WebDav // This field is available in Comet 23.6.9 and later. StorjDestinationLocation Storj SMBDestinationLocation SMB string Tag }
DestinationStatistics
class DestinationStatistics { SizeMeasurement ClientProvidedSize ContentMeasurement ClientProvidedContent string LastSuccessfulDeepVerify_GUID // Omission from JSON document implies empty string // Unix timestamp in seconds // Omission from JSON document implies 0 int LastSuccessfulDeepVerify_StartTime // Unix timestamp in seconds // Omission from JSON document implies 0 int LastSuccessfulDeepVerify_EndTime }
DeviceConfig
class DeviceConfig { string FriendlyName // Unix timestamp in seconds // Omission from JSON document implies 0 int RegistrationTime // The operating system that the device uses. // Omission from JSON document implies zero-initialised OSInfo class instance OSInfo PlatformVersion // Minimal information about the device's private Protected Items, so that other devices can safely run retention passes on a shared Storage Vault. // Omission from JSON document implies an empty Dictionary Dictionary<string, SourceBasicInfo> Sources // The device's reported timezone in IANA format. // Omission from JSON document implies empty string string DeviceTimezone // This field is available in Comet 23.6.0 and later. // Omission from JSON document implies empty string string ClientVersion // This field is available in Comet 23.9.8 and later. // Omission from JSON document implies empty string string SyncroUUID }
DiskDrive
class DiskDrive { string ID string DeviceName string Caption string Model string SerialNumber int Size // Bytes List<Partition> Partitions // For physical disks, this array will be empty. For virtual disks, RAID devices or Linux DM devices, this array may contain the DeviceName of the parent device. // This field is available in Comet 24.6.x and later. List<string> DeviceParents int Flags // See WINDISKFLAG_ constants int Cylinders // Cylinders has been deprecated since Comet version 24.6.x This value is reported from the disk driver if available. Otherwise emulates a value based on modern LBA addressing. The field value is not used. int Heads // Heads has been deprecated since Comet version 24.6.x This value is reported from the disk driver if available. Otherwise emulates a value based on modern LBA addressing. The field value is not used. int Sectors // Sectors has been deprecated since Comet version 24.6.x This value is reported from the disk driver if available. Otherwise emulates a value based on modern LBA addressing. The field value is not used. int SectorSize }
DispatcherAdminSourcesResponse
class DispatcherAdminSourcesResponse extends CometAPIResponseMessage { Dictionary<string, string> ImportSources }
DispatcherStoredObjectsResponse
class DispatcherStoredObjectsResponse extends CometAPIResponseMessage { List<StoredObject> StoredObjects }
DispatcherVaultSnapshotsResponse
class DispatcherVaultSnapshotsResponse extends CometAPIResponseMessage { List<VaultSnapshot> Snapshots }
DispatcherWindiskSnapshotResponse
class DispatcherWindiskSnapshotResponse extends CometAPIResponseMessage { List<DiskDrive> WindiskSnapshot }
EDBFileInfo
class EDBFileInfo { string Name string Guid string ServerName bool CircularLoggingEnabled }
EmailOptions
class EmailOptions extends AdminEmailOptions { string Mode // One of the EMAIL_DELIVERY_ constants List<EmailReportingOption> EmailReportingOptions // Omission from JSON document implies an empty array string SMTPHost // Omission from JSON document implies empty string int SMTPPort // Omission from JSON document implies 0 string SMTPUsername // Omission from JSON document implies empty string string SMTPPassword // Omission from JSON document implies empty string bool SMTPAllowInvalidCertificate // Omission from JSON document implies false bool SMTPAllowUnencrypted // Omission from JSON document implies false // Override the HELO/EHLO hostname for SMTP or MX Direct modes. If blank, uses system default HELO/EHLO hostname. // Omission from JSON document implies empty string string SMTPCustomEhlo }
EmailReportConfig
class EmailReportConfig { int ReportType // One of the EMAILREPORTTYPE_ constants List<ScheduleConfig> SummaryFrequency // Used as a list of scheduled times to send // Used to the determine the time bounds of a report // Omission from JSON document implies zero-initialised TimeSpan class instance TimeSpan TimeSpan SearchClause Filter }
EmailReportGeneratedPreview
class EmailReportGeneratedPreview extends CometAPIResponseMessage { string From List<string> To string EmailSubject string EmailBodyHTML string EmailBodyPlaintext }
EmailReportingOption
class EmailReportingOption { EmailReportConfig EmailReportConfig string LanguageCode // A supported language code (e.g. "en_US" or the DEFAULT_LANGUAGE constant) string LocalTimezone // The timezone in IANA format (e.g. "Pacific/Auckland" or the DEFAULT_TIMEZONE constant) List<string> Recipients }
ExternalAuthenticationSource
class ExternalAuthenticationSource extends RemoteServerAddress { AdminUserPermissions NewUserPermissions }
ExternalAuthenticationSourceDisplay
class ExternalAuthenticationSourceDisplay { string DisplayName string LoginStartURL }
ExternalAuthenticationSourceResponse
class ExternalAuthenticationSourceResponse { int Status string Message string ID ExternalAuthenticationSource Source }
ExternalLDAPAuthenticationSourceServer
class ExternalLDAPAuthenticationSourceServer { string Hostname int Port string SecurityMethod // One of the LDAPSECURITYMETHOD_ constants (e.g. "plain" / "ldaps" / "starttls") bool AcceptInvalidSSL }
ExternalLDAPAuthenticationSourceSettings
class ExternalLDAPAuthenticationSourceSettings extends ExternalLDAPAuthenticationSourceServer { List<ExternalLDAPAuthenticationSourceServer> FallbackServers string BindUser string BindPassword string SearchDN string SearchFilter }
ExtraFileExclusion
class ExtraFileExclusion { string Exclude // The glob or regular expression to exclude from backup jobs bool Regex // Choose whether the 'Exclude' parameter will be treated as a regular expression (true) or a glob (false) int RestrictOS // Either OS_ANY or one of the OS_ONLY constants }
FTPDestinationLocation
class FTPDestinationLocation { string FTPServer string FTPUsername string FTPPassword bool FTPBaseUseHomeDirectory // If true, store data in the default home directory given by the FTP server. If false, store data in the FTPCustomBaseDirectory path. string FTPCustomBaseDirectory // If FTPBaseUseHomeDirectory is false, this field controls the path where data is stored. int FTPSMode // Control whether this is plaintext FTP or secure FTPS by using one of the FTPS_MODE_ constants. int FTPPort int FTPMaxConnections // If set to zero, uses a system default value that is not unlimited. bool FTPAcceptInvalidSSL }
FileOption
This type is available in Comet 23.3.7 and later.
FileOption defines the configuration for Comet Server to log live events to a file. See the SEVT_ constants for more information.
class FileOption { string Filename // The prefix for the log filename. It will be stored in the same file location as the Comet Server log files // Configure a subset of allowed event types (see SEVT_ constants). If the array is empty, all events will be sent // Omission from JSON document implies an empty array List<int> AllowEventTypes // One of the STREAM_LEVEL_ constants. This controls how much data is logged into the file // Omission from JSON document implies empty string string Level // Enables pruning of log files // Omission from JSON document implies false bool PruningEnabled // Limit in days to keep log files when PruningEnabled is set to true. If not set or 0, uses server's PruneLogsAfterDays // Omission from JSON document implies 0 int PruningLimit }
GetGroupPolicyResponse
class GetGroupPolicyResponse extends CometAPIResponseMessage { GroupPolicy Policy string PolicyHash }
GetProfileAndHashResponseMessage
class GetProfileAndHashResponseMessage extends CometAPIResponseMessage { string ProfileHash // A hash identifier for the current state of the user's profile. If you supply this in the AdminSetUserProfileHash API, the server can safely reject your change if another change has happened concurrently. This allows you to retry the request. UserProfileConfig Profile }
GetProfileHashResponseMessage
class GetProfileHashResponseMessage extends CometAPIResponseMessage { string ProfileHash }
GlobalOverrideOptions
class GlobalOverrideOptions { int RandomDelaySecs // Omission from JSON document implies 0 }
GroupPolicy
class GroupPolicy { string Description string OrganizationID UserPolicy Policy bool DefaultUserPolicy // DefaultUserPolicy marks that this UserPolicy should be applied to all new users. The Comet Server will ensure that only one policy can be set as default. int CreatedDate // Unix timestamp in seconds. May be zero for Policies created prior to Comet 23.3.3. int ModifiedDate // Unix timestamp in seconds. May be zero for Policies created prior to Comet 23.3.3. }
HTTPConnectorOptions
class HTTPConnectorOptions { string ListenAddress string SSLCertPath // Omission from JSON document implies empty string string SSLIntermediate // Omission from JSON document implies empty string string SSLCertKey // Omission from JSON document implies empty string string AutoSSLDomains // Omission from JSON document implies empty string string SSLPfxPath // Omission from JSON document implies empty string string SSLPfxPassword // Omission from JSON document implies empty string }
HourSchedConfig
class HourSchedConfig { int Hour int Minutes }
HyperVMachineInfo
class HyperVMachineInfo { string ID string Name }
ImpossibleCloudIAMTemplateSettings
This type is available in Comet 24.3.1 and later.
class ImpossibleCloudIAMTemplateSettings extends ObjectLockStorageTemplateSettings { string AccessKey string SecretKey string Region // Optional. The region for both IAM communication and for provisioning new buckets. If blank, uses the default region for Impossible Cloud (eu-central-2). }
ImpossibleCloudPartnerTemplateSettings
This type is available in Comet 24.3.1 and later.
class ImpossibleCloudPartnerTemplateSettings extends ObjectLockStorageTemplateSettings { string Region // Optional. The region for your Partner console and for provisioning new buckets. If blank, uses the default region for Impossible Cloud (eu-central-2). string AccessKey }
InstallCreds
class InstallCreds { string Username string Password string TOTPCode string Server bool AutoLogin }
InstallToken
class InstallToken { string Username string Server // The URL of the Comet Server (Auth Role) for the target user to log in to. string Token // The token for use with the "/TOKEN=" silent install flag. int CreateTime // Unix timestamp, in seconds. bool Used // If the token has been used, it cannot be used again. int ExpireTime // Unix timestamp, in seconds. }
InstallTokenResponse
class InstallTokenResponse extends CometAPIResponseMessage { InstallToken InstallToken }
JobEntry
JobEntry is a single entry within a job report.
class JobEntry { int Time // Unix timestamp in seconds string Severity // One of the SEVERITY_ constants. string Message }
LicenseLimits
class LicenseLimits { int deviceCount // Omission from JSON document implies 0 Dictionary<string, int> boosterCount // Omission from JSON document implies an empty Dictionary }
LicenseOptions
class LicenseOptions { string Email // Omission from JSON document implies empty string string SerialNumber }
LiveUserConnection
class LiveUserConnection { string Username string DeviceID string ReportedVersion // The Comet Backup software version that this live-connected device reports that it is running. It takes the format "MAJOR.MINOR.PATCH", such as "23.2.0". See the APPLICATION_VERSION constant for more information. string ReportedPlatform // The operating system of the device. It is one of the PLATFORM_ constants; then a forwardslash (/); then the device's GOARCH. // The operating system of the device, in extended detail. // Omission from JSON document implies zero-initialised OSInfo class instance OSInfo ReportedPlatformVersion // The reported timezone of the device, in IANA format. // Omission from JSON document implies empty string string DeviceTimeZone // The live-connected device's remote IP address, as seen from the Comet Server. // Omission from JSON document implies empty string string IPAddress int ConnectionTime // Unix timestamp, in seconds. bool AllowsFilenames // The current state of the "Allow administrator to view my files" client-side option. If this option is refused, some live-connected actions will be refused by the device. }
LocalDestinationLocation
class LocalDestinationLocation { string LocalcopyPath string LocalcopyWinSMBUsername // If logging in to a Windows network share (SMB/CIFS) is required, enter the username here. string LocalcopyWinSMBPassword // If logging in to a Windows network share (SMB/CIFS) is required, enter the password here. The password may be hashed as per the LocalcopyWinSMBPasswordFormat field. int LocalcopyWinSMBPasswordFormat // One of the PASSWORD_FORMAT_ constants. It controls the hash format of the LocalcopyWinSMBPassword field. }
LocalStorageDirectory
class LocalStorageDirectory { string Path }
MSSQLConnection
class MSSQLConnection { string Type // One of the MSSQL_AUTH_ constants (e.g. "windows" or "native") string Username string Password string Hostname // Hostname has been deprecated since Comet version Unused string InstanceName string Method // One of the MSSQL_METHOD_ constants, to control using x86_32 or x86_64 OLEDB drivers }
MSSQLLoginArgs
class MSSQLLoginArgs { string Instance string AuthMode string Username string Password bool MethodIsOledb32Bit bool RestoreNoRecovery // If this MSSQLLoginArgs structure is used for a restore job (RestoreJobAdvancedOptions) using RESTORETYPE_MSSQL, then, this field controls the RECOVERY / NO RECOVERY option state. }
MacOSCodeSignProperties
class MacOSCodeSignProperties { int Level // One of the MACOSCODESIGN_LEVEL_ constants bool SignLocally SSHConnection SSHServer string CertificateName // "Developer ID Installer" certificate, either a local filepath or a resource:// URI. Used for signing the final flat *.pkg. string AppCertificateName // "Developer ID Application" certificate, either a local filepath or a resource:// URI. Used for signing internal binaries if Notary is enabled string AppleID string AppleIDPass int AppleIDPassFormat // One of the ENCRYPTIONMETHOD_ constants string CertificateFile string AppCertificateFile string PfxFilePassword int PfxFilePasswordFormat // One of the ENCRYPTIONMETHOD_ constants string NotaryAPIIssuerID string NotaryAPIKeyID string NotaryAPIKeyFile }
MongoDBConnection
class MongoDBConnection { string Server int Port string Username string Password string AuthenticationDB // Prior to Comet 22.12.3, must be a filesystem path to `mongo` (n.b. not `mongosh`). In Comet >= 22.12.3, not used. // MongoShellPath has been deprecated since Comet version 22.12.3 string MongoShellPath string MongodumpPath string ReadPreference bool UseReplica string ReplicaName List<string> ReplicaMembers bool UseSSL string ClientSSLPEMPath string ServerSSLPEMPath string SSLClientKeyPassword bool AllowInvalidCertificate bool AllowInvalidHostname bool UseSSH SSHConnection SSHConnection // Omission from JSON document implies zero-initialised SSHConnection class instance }
MySQLConnection
class MySQLConnection { string Host string Port string Username // Optional string Password // Optional bool UseTLS bool TLSSkipVerify string TLSCustomServerCAPath string TLSCustomClientCrtPath string TLSCustomClientKeyPath }
NewBucketDetail
class NewBucketDetail { string NewBucketID string NewBucketKey }
NewsEntry
class NewsEntry { string OrganizationID int DateTime // Unix timestamp, in seconds. string TextContent }
OSInfo
OSInfo represents the common set of version information between all operating systems
class OSInfo { // The primary version number (e.g. on Windows: 1703 / 2009, on Linux: 20.04 / 22.04) // Omission from JSON document implies empty string string version // The primary presentation name (e.g. "Windows 10 Pro", "debian", "Synology DSM") // Omission from JSON document implies empty string string distribution // The detailed build number (e.g. 19043) // Omission from JSON document implies empty string string build // The GOOS value // This field is available in Comet 23.6.0 and later. // Omission from JSON document implies empty string string os // The GOARCH value // This field is available in Comet 23.6.0 and later. // Omission from JSON document implies empty string string arch }
ObjectLockStorageTemplateSettings
class ObjectLockStorageTemplateSettings { bool UseObjectLock // UseObjectLock has been deprecated since Comet version 23.x.x int ObjectLockMode // Control whether the resulting Storage Vaults are configured for Object Lock. One of the OBJECT_LOCK_ constants int ObjectLockDays // Control whether the "Allow removal of deleted files" checkbox is enabled for Storage Vaults generated from this Storage Template. // When configuring a Storage Template from the Comet Server web interface, this field is set automatically for Storage Templates using Object Lock. bool RemoveDeleted }
Office365Connection
class Office365Connection { int Concurrency Office365Credential Credential Office365CustomSetting CustomSetting Office365CustomSettingV2 CustomSettingV2 string FeatureFlag string LogLevel List<string> MailboxUniqueMembers List<string> SiteUniqueMembers }
Office365Credential
class Office365Credential { string AppID string TenantID string Secret string AppCert string Region }
Office365CustomSetting
This type has been deprecated since Comet version 21.9.xx
Office365CustomSetting is used in the EngineProps for an Office 365 Protected Item (see ENGINE_BUILTIN_MSOFFICE). If present, it will be automatically converted to the replacement Office365CustomSettingV2 type.
class Office365CustomSetting { string MailboxStrategy string SiteStrategy List<string> MailboxUserIDs List<string> MailboxGroupIDs List<string> SiteIDs }
Office365CustomSettingV2
This type is available in Comet 21.9.xx and later.
Office365CustomSettingV2 is used in the EngineProps for an Office 365 Protected Item (see ENGINE_BUILTIN_MSOFFICE).
class Office365CustomSettingV2 { bool Organization // If true, then backup the entire Office 365 Tenant except the selected members. If false, backup the selected members only. // Key can be the ID of user, group or SharePoint // Value is a bitset of the SERVICE_ constants, to select which services to back up for this member. // Omission from JSON document implies an empty Dictionary Dictionary<string, int> BackupOptions // Key must be a group ID // Value is a bitset of the SERVICE_ constants, to select which services to back up for this member. // Omission from JSON document implies an empty Dictionary Dictionary<string, int> MemberBackupOptions }
Office365MixedVirtualAccount
class Office365MixedVirtualAccount { string DefaultDriveID // Omission from JSON document implies empty string bool Disabled // Omission from JSON document implies false string DisplayName // Omission from JSON document implies empty string int EnabledServiceOption // Omission from JSON document implies 0 string id string JobTitle // Omission from JSON document implies empty string string Mail // Omission from JSON document implies empty string string SiteID // Omission from JSON document implies empty string int Type // Omission from JSON document implies 0 string UserPrincipalName // Omission from JSON document implies empty string string WebID // Omission from JSON document implies empty string string WebURL // Omission from JSON document implies empty string List<string> Members // Omission from JSON document implies an empty array int ServiceOptions // Omission from JSON document implies 0 int MemberServiceOptions // Omission from JSON document implies 0 bool hasLicense // Omission from JSON document implies false }
Office365ObjectInfo
class Office365ObjectInfo { string GUID string Name string Type string Value // May be an email address or a SharePoint site URL List<string> Members }
OidcClaim
class OidcClaim { string Name string Value // Omission from JSON document implies empty string }
OidcConfig
class OidcConfig { string DisplayName List<string> Hosts // Omission from JSON document implies an empty array string OrganizationID // Omission from JSON document implies empty string string Provider string ClientID string ClientSecret bool SkipMFA List<string> Scopes // Omission from JSON document implies an empty array List<OidcClaim> RequiredClaims // Omission from JSON document implies an empty array string DiscoveryDocumentURL // Omission from JSON document implies empty string string AzureTenantID // Omission from JSON document implies empty string string GoogleHostedDomain // Omission from JSON document implies empty string }
Organization
class Organization { Dictionary<string, FileOption> AuditFileOptions BrandingOptions Branding ConstellationRoleOptions ConstellationRole EmailOptions Email List<string> ExperimentalOptions // Omission from JSON document implies an empty array List<string> Hosts string Name bool IsSuspended List<PSAConfig> PSAConfigs List<RemoteStorageOption> RemoteStorage SoftwareBuildRoleOptions SoftwareBuildRole Dictionary<string, WebhookOption> WebhookOptions }
OrganizationLoginURLResponse
class OrganizationLoginURLResponse { string LoginURL }
OrganizationResponse
class OrganizationResponse { int Status string Message string ID Organization Organization }
PSAConfig
class PSAConfig { bool AlertsDisabled // For PSA_TYPE_GRADIENT. Defaults to enabled // Custom headers to send with each PSA request // Omission from JSON document implies an empty Dictionary Dictionary<string, string> CustomHeaders // Specified API key for the target PSA // Omission from JSON document implies empty string string PartnerKey int Type // One of the PSA_TYPE_ constants string URL // The URL or subdomain for outbound PSA requests PSAGroupedBy GroupedBy }
PSAGroupedBy
class PSAGroupedBy { bool Users bool Tenants bool AccountName }
Partition
class Partition { string DeviceName string Filesystem // The name of the filesystem used on this partition (e.g. "NTFS") string VolumeName string VolumeGuid string VolumeSerial List<string> MountPoints int ReadOffset // Bytes. The partition's offset within the DeviceName. It will be zero if this partition has a direct DeviceName handle. int Size // Bytes int UsedSize // Bytes. Only present for supported filesystems that are currently mounted by the OS int Flags int BytesPerFilesystemCluster }
PrivateBrandingProperties
class PrivateBrandingProperties extends WindowsCodeSignProperties { int BuildMode // One of the CLIENTBRANDINGBUILD_ constants string PathIcoFile string PathIcnsFile string PathMenuBarIcnsFile string PathEulaRtf string PathTilePng string PathHeaderImage string PathAppIconImage string PackageIdentifier MacOSCodeSignProperties MacOSCodeSign }
ProtectedItemEngineTypePolicy
class ProtectedItemEngineTypePolicy { bool ShouldRestrictEngineTypeList List<string> AllowedEngineTypeWhenRestricted }
PublicBrandingProperties
class PublicBrandingProperties { string ProductName string CompanyName string HelpURL bool HelpIsPopup string DefaultLoginServerURL string TileBackgroundColor string AccountRegisterURL bool HideBackgroundLogo }
RatelimitOptions
class RatelimitOptions { List<RatelimitRule> Rules // Omission from JSON document implies an empty array }
RatelimitRule
class RatelimitRule { string MatchRegex int BytesPerSecond }
RegisterOfficeApplicationBeginResponse
class RegisterOfficeApplicationBeginResponse { string Continuation string VerificationURL string UserCode }
RegisterOfficeApplicationCheckResponse
class RegisterOfficeApplicationCheckResponse { string Continuation bool Completed string Error Office365Credential Result // Omission from JSON document implies zero-initialised Office365Credential class instance }
RegistrationLobbyConnection
class RegistrationLobbyConnection { string DeviceID string OrganizationID string FriendlyName string ReportedVersion string ReportedPlatform OSInfo ReportedPlatformVersion // Omission from JSON document implies zero-initialised OSInfo class instance string DeviceTimeZone // Omission from JSON document implies empty string string IPAddress // Omission from JSON document implies empty string int ConnectionTime }
RemoteServerAddress
class RemoteServerAddress { string Type string Description // For use with Comet Server (Storage Role / Auth Role) // Omission from JSON document implies empty string string RemoteAddress // For use with Comet Server (Storage Role / Auth Role) // Omission from JSON document implies empty string string Username // For use with Comet Server (Storage Role / Auth Role) // Omission from JSON document implies empty string string Password ExternalLDAPAuthenticationSourceSettings LDAP // Omission from JSON document implies zero-initialised ExternalLDAPAuthenticationSourceSettings class instance OidcConfig OIDC // Omission from JSON document implies zero-initialised OidcConfig class instance // Backblaze B2 (Storage Template / Constellation) // Omission from JSON document implies zero-initialised B2VirtualStorageRoleSettings class instance B2VirtualStorageRoleSettings B2 // Wasabi, or Comet Storage powered by Wasabi (Storage Template / Constellation) // Omission from JSON document implies zero-initialised WasabiVirtualStorageRoleSettings class instance WasabiVirtualStorageRoleSettings Wasabi // Custom Remote Bucket HTTP protocol (Storage Template) // Omission from JSON document implies zero-initialised CustomRemoteBucketSettings class instance CustomRemoteBucketSettings Custom // IDrive e2, or Custom IAM-compatible (Storage Template / Constellation) // Omission from JSON document implies zero-initialised S3GenericVirtualStorageRole class instance S3GenericVirtualStorageRole S3 // Amazon AWS (Storage Template / Constellation) // Omission from JSON document implies zero-initialised AmazonAWSVirtualStorageRoleSettings class instance AmazonAWSVirtualStorageRoleSettings AWS // Storj (Storage Template / Constellation) // Omission from JSON document implies zero-initialised StorjVirtualStorageRoleSetting class instance StorjVirtualStorageRoleSetting Storj // Impossible Cloud Partner API (Storage Template / Constellation) // Omission from JSON document implies zero-initialised ImpossibleCloudPartnerTemplateSettings class instance ImpossibleCloudPartnerTemplateSettings ImpPartner // Impossible Cloud IAM API (Storage Template / Constellation) // Omission from JSON document implies zero-initialised ImpossibleCloudIAMTemplateSettings class instance ImpossibleCloudIAMTemplateSettings ImpUser }
RemoteStorageOption
class RemoteStorageOption extends RemoteServerAddress { bool StorageLimitEnabled int StorageLimitBytes bool RebrandStorage }
ReplicaServer
class ReplicaServer extends RemoteServerAddress { string ReplicaDeletionStrategy // Omission from JSON document implies empty string }
ReplicatorStateAPIResponse
class ReplicatorStateAPIResponse { string Description string RemoteServerID int DisplayClass int ActiveWorkers int TotalWorkers int State int ItemsQueued int BytesQueued int LastWorkerSubmitTime int CurrentTime int ItemsReplicated int BytesReplicated }
RequestStorageVaultResponseMessage
class RequestStorageVaultResponseMessage extends CometAPIResponseMessage { string DestinationID }
RestoreJobAdvancedOptions
class RestoreJobAdvancedOptions { int Type // One of the RESTORETYPE_ constants bool OverwriteExistingFiles // For RESTORETYPE_FILE bool OverwriteIfNewer // For RESTORETYPE_FILE. If set, OverwriteExistingFiles must be true bool OverwriteIfDifferentContent // For RESTORETYPE_FILE. If set, OverwriteExistingFiles must be true bool OverwriteForcePermissions // For RESTORETYPE_FILE. If set, OverwriteExistingFiles must be true. This can be set in combination with other OverwriteIf options. bool DestIsOriginalLocation // For RESTORETYPE_FILE. If set, DestPath must be blank string DestPath // For RESTORETYPE_FILE or RESTORETYPE_PROCESS_xxx List<string> ExactDestPaths // For RESTORETYPE_WINDISK only. Must have one entry for each selected restore path int ArchiveFormat // For RESTORETYPE_FILE_ARCHIVE or RESTORETYPE_PROCESS_ARCHIVE. Default 0 is *.tar, for backward compatibility // Default disabled. For RESTORETYPE_FILE and RESTORETYPE_WINDISK. Used to continue the restore job when unreadable data chunks are found. // Corresponds to the "Allow partial file restores (zero-out unrecoverable data)" option // This field is available in Comet 23.6.4 and later. bool SkipUnreadableChunks // Default disabled. Used to store the index files on disk instead of in memory. // Corresponds to the "Prefer temporary files instead of RAM (slower)" option // This field is available in Comet 23.6.4 and later. bool OnDiskIndexesKey // For RESTORETYPE_OFFICE365_CLOUD. // Omission from JSON document implies zero-initialised Office365Credential class instance Office365Credential Office365Credential string Username // For RESTORETYPE_MYSQL string Password // For RESTORETYPE_MYSQL string Host // For RESTORETYPE_MYSQL string Port // For RESTORETYPE_MYSQL bool UseSsl // For RESTORETYPE_MYSQL bool SslAllowInvalid // For RESTORETYPE_MYSQL i.e.: Self signed certs string SslCaFile // For RESTORETYPE_MYSQL string SslCrtFile // For RESTORETYPE_MYSQL string SslKeyFile // For RESTORETYPE_MYSQL // For RESTORETYPE_MSSQL. // Omission from JSON document implies zero-initialised MSSQLLoginArgs class instance MSSQLLoginArgs MsSqlConnection }
RetentionPolicy
class RetentionPolicy { int Mode // One of the RETENTIONMODE_ constants List<RetentionRange> Ranges }
RetentionRange
The Type field controls which fields of this data type are used. For additional information, see the notes on the RETENTIONRANGE_ constants.
class RetentionRange { int Type // One of the RETENTIONRANGE_ constants int Timestamp // Unix timestamp, in seconds. Used by RETENTIONRANGE_NEWER_THAN_X. int Jobs int Days int Weeks int Months int WeekOffset // 0: Sunday, 6: Saturday // 1: 1st, 31: 31st // Prior to Comet version 23.6.2, 31 was treated as 30. // For months that do not have a day equal to the specified offset, no backup will be retained. // For example, if the offset is set to 30, no backup will be kept for February. int MonthOffset }
S3DestinationLocation
class S3DestinationLocation { string S3Server bool S3UsesTLS string S3AccessKey string S3SecretKey string S3BucketName string S3Subdir string S3CustomRegion bool S3UsesV2Signing // If true, use legacy v2 signing. If false (default), use modern v4 signing bool S3RemoveDeleted int S3ObjectLockMode int S3ObjectLockDays }
S3GenericVirtualStorageRole
class S3GenericVirtualStorageRole extends AmazonAWSVirtualStorageRoleSettings { string S3Endpoint // The URL for S3 API calls (e.g. "s3.amazonaws.com") string IAMEndpoint // The URL for IAM API calls (e.g. "iam.amazonaws.com") // Optional. The region to be used for new buckets. If blank, uses the default region for the S3-compatible provider (e.g. us-east-1). // This field is available in Comet 24.3.1 and later. string Region // Optional. Prefix to use for bucket paths. // This field is available in Comet 24.6.3 and later. string Prefix }
SFTPDestinationLocation
class SFTPDestinationLocation { string SFTPServer string SFTPUsername string SFTPRemotePath // The directory on the SFTP server in which data is stored. int SFTPAuthMode // One of the DESTINATION_SFTP_AUTHMODE_ constants string SFTPPassword // For use with DESTINATION_SFTP_AUTHMODE_PASSWORD only: the SSH password to connect with string SFTPPrivateKey // For use with DESTINATION_SFTP_AUTHMODE_PRIVATEKEY only: the SSH private key to connect with, in OpenSSH format. bool SFTPCustomAuth_UseKnownHostsFile // If true, then the SFTPCustomAuth_KnownHostsFile will be used to verify the remote SSH server's host key, using Trust On First Use (TOFU). string SFTPCustomAuth_KnownHostsFile // If SFTPCustomAuth_UseKnownHostFile is true, the path to the SSH known_hosts file. }
SMBDestinationLocation
class SMBDestinationLocation { string SMBServer string SMBShare string SMBDirectory string SMBUsername string SMBPassword }
SSHConnection
class SSHConnection { string SSHServer string SSHUsername int SSHAuthMode // One of the SSHCONNECTION_AUTHMODE_ constants string SSHPassword // For use with SSHCONNECTION_AUTHMODE_PASSWORD only: the SSH password to connect with string SSHPrivateKey // For use with SSHCONNECTION_AUTHMODE_PRIVATEKEY only: the SSH private key to connect with, in OpenSSH format. bool SSHCustomAuth_UseKnownHostsFile // If true, then the SSHCustomAuth_KnownHostsFile will be used to verify the remote SSH server's host key, using Trust On First Use (TOFU). string SSHCustomAuth_KnownHostsFile // If SSHCustomAuth_UseKnownHostsFile is true, the path to the SSH known_hosts file. }
ScheduleConfig
class ScheduleConfig { int FrequencyType int SecondsPast int Offset // Omission from JSON document implies 0 bool RestrictRuntime HourSchedConfig FromTime HourSchedConfig ToTime bool RestrictDays DaysOfWeekConfig DaysSelect int RandomDelaySecs // Omission from JSON document implies 0 }
SearchClause
class SearchClause { string ClauseType // One of the SEARCHCLAUSE_ constants (e.g. empty-string if this is a rule, or "and"/"or" if there are ClauseChildren) string RuleField // The field name to search. Check the specific API for more information about which fields are available for searching. For use with ClauseType = SEARCHCLAUSE_RULE. string RuleOperator // One of the SEARCHOPERATOR_ constants. The operator must match the type of the particular field. For use with ClauseType = SEARCHCLAUSE_RULE. // The value to compare the field against. // - If the field is a string, any string is permissable. // - If the field is an integer, the integer should be cast to a base-10 string. There is currently no support for fractional or floating-point numbers. // - If the field is a boolean, the following values can be used for true ("1", "t", "T", "true", "TRUE", "True") and the following values can be used for false ("0", "f", "F", "false", "FALSE", "False"). // For use with ClauseType = SEARCHCLAUSE_RULE. string RuleValue // If ClauseType is not SEARCHCLAUSE_RULE, the child rules will be applied according to the ClauseType (e.g. "and"/"or") // Omission from JSON document implies an empty array List<SearchClause> ClauseChildren }
SearchResultFileInfo
SearchResultFileInfo describes a single result entry when searching for files within a Storage Vault snapshot.
class SearchResultFileInfo { string path // Path to the file within the selected snapshot, using forwardslash (/) separators string name // Filename string type // One of the STOREDOBJECTTYPE_ constants string mode // Omission from JSON document implies empty string // Timestamp in RFC3339 format with subsecond precision and time zone offset. See the Golang time.RFC3339Nano for more information. // Omission from JSON document implies empty string string mtime // Timestamp in RFC3339 format with subsecond precision and time zone offset. See the Golang time.RFC3339Nano for more information. // Omission from JSON document implies empty string string atime // Timestamp in RFC3339 format with subsecond precision and time zone offset. See the Golang time.RFC3339Nano for more information. // Omission from JSON document implies empty string string ctime // Bytes // Omission from JSON document implies 0 int size }
SearchSnapshotsResponse
class SearchSnapshotsResponse extends CometAPIResponseMessage { Dictionary<string, List<SearchResultFileInfo>> SnapshotFiles }
SelfBackupExportOptions
class SelfBackupExportOptions { DestinationLocation Location string EncryptionKey int EncryptionKeyFormat // One of the ENCRYPTIONMETHOD_ constants int Compression // One of the COMPRESS_LVL_ constants bool ExcludeJobsDB // The jobs database is often the largest component of the Server Self-Backup archive. By excluding it, you could run the Server Self-Backup more often. bool IncludeServerLogs string RestrictToSingleOrgID // Omission from JSON document implies empty string int Index }
SelfBackupOptions
class SelfBackupOptions { List<SelfBackupTarget> Targets }
SelfBackupStatistics
class SelfBackupStatistics { int CurrentRunStart int LastRunStart int LastRunEnd bool LastRunSuccess int LastRunSize }
SelfBackupTarget
class SelfBackupTarget extends SelfBackupExportOptions { List<ScheduleConfig> Schedule string ScheduleTimezone // Timezone in IANA format RetentionPolicy RetentionPolicy }
ServerConfigOptions
class ServerConfigOptions { List<AllowedAdminUser> AdminUsers AuthenticationRoleOptions AuthenticationRole BrandingOptions Branding ConstellationRoleOptions ConstellationRole // This field is defined for compatibility with 17.x.x versions of Comet Server. Do not rely on this field. In Comet 23.2.x, if this field is defined, it is imported into the replacement 'ConstellationRole' field under the assumption that you are upgrading this Comet Server from a 17.x.x version. In Comet 23.3.x and later, this field is ignored and will not be respected during the import process. // Omission from JSON document implies zero-initialised ConstellationRoleOptions class instance ConstellationRoleOptions OverseerRole EmailOptions Email // An array of GUIDs that can enable additional early-access functionality // Omission from JSON document implies an empty array List<string> ExperimentalOptions Dictionary<string, ExternalAuthenticationSource> ExternalAdminUserSources RatelimitOptions IPRateLimit // The Comet Server can enforce a bandwidth limit based on the target IP address LicenseOptions License List<HTTPConnectorOptions> ListenAddresses // Configure ip, port, and SSL settings for this self-hosted Comet Server. Dictionary<string, Organization> Organizations // Tenants List<PSAConfig> PSAConfigs SelfBackupOptions SelfBackup // Automatically create backup zip files of this Comet Server's configuration SessionOptions SessionSettings // Control how long admin accounts can remain logged in to the Comet Server web interface SoftwareBuildRoleOptions SoftwareBuildRole StorageRoleOptions StorageRole bool TrustXForwardedFor // If true, the X-Forwarded-For header will be trusted for the purposes of IP allowlisting. This should only be enabled when you explicitly configure Comet Server behind a reverse proxy, otherwise it could allow malicious users to bypass the IP allowlist. Dictionary<string, WebhookOption> WebhookOptions Dictionary<string, FileOption> AuditFileOptions }
ServerConfigOptionsBrandingFragment
class ServerConfigOptionsBrandingFragment { BrandingOptions Branding }
ServerConfigOptionsSoftwareBuildRoleFragment
class ServerConfigOptionsSoftwareBuildRoleFragment { SoftwareBuildRoleOptions SoftwareBuildRole }
ServerMetaBrandingProperties
class ServerMetaBrandingProperties { string BrandName string ProductName bool HasImage // If true, this Comet Server has an image configured for its main logo. You can access it from the /gen/logo.img endpoint. If false, this Comet Server has text configured for its main logo. string ImageEtag // A value that will change if the branding image (/gen/logo.img) changes. You can use this as a cache key. string TopColor // Colour in RGB hex format (e.g. "#FFFFFF") string AccentColor // Colour in RGB hex format (e.g. "#FFFFFF") bool HideNewsArea bool AllowUnauthenticatedDownloads bool AllowAuthenticatedDownloads int PruneLogsAfterDays int ExpiredInSeconds List<ExternalAuthenticationSourceDisplay> ExternalAuthenticationSources // Omission from JSON document implies an empty array }
ServerMetaVersionInfo
class ServerMetaVersionInfo { string Version string VersionCodename bool StorageRole bool AuthenticationRole bool SoftwareBuildRole bool OverseerRole // OverseerRole has been deprecated since Comet version 18.2.0 "Overseer Role" was the old name for the Constellation Role. This field is a duplicate of ConstellationRole for backward compatibility with earlier API consumers. bool ConstellationRole List<string> ExperimentalOptions // Omission from JSON document implies an empty array int ServerStartTime // Unix timestamp, in seconds. string ServerStartHash // A GUID that was randomly generated when this Comet Server started up. You can check this value to see if the Comet Server has restarted. int CurrentTime // The current time on the Comet Server host machine. Unix timestamp, in seconds. You can check this value to see if clock drift is occuring. string ServerLicenseHash // A hash derived from the Comet Server's serial number. You can check this value to see if two Comet Server endpoints point to an identical server. bool ServerLicenseFeaturesAll int ServerLicenseFeatureSet // If non-zero, the maximum numbers of devices and Protected Item types that this server is allowed. // This field is available in Comet 24.6.3 and later. LicenseLimits ServerLicenseLimit // A count of the devices registered on the server that have a configured Protected Item. // This field is available in Comet 24.6.3 and later. int ConfiguredDevices // The current number of Protected Item types configured on the server. // This field is available in Comet 24.6.3 and later. Dictionary<string, int> BoosterLimit int LicenseValidUntil // Unix timestamp, in seconds. int EmailsSentSuccessfully int EmailsSentErrors int EmailsWaitingInQueue int ScheduledEmailThreadCurrentState int ScheduledEmailThreadLastCalculateDurationNanos int ScheduledEmailThreadWaitingUntil int ScheduledEmailThreadLastWakeTime bool ScheduledEmailThreadLastWakeSentEmails List<SelfBackupStatistics> SelfBackup // This field is available in Comet 21.3.2 and later. }
SessionKeyRegeneratedResponse
class SessionKeyRegeneratedResponse extends CometAPIResponseMessage { string SessionKey // e.g. "admin" or "user" // This field is available in Comet 18.12.3 and later. string SessionType }
SessionOptions
class SessionOptions { int ExpiredInSeconds // The number of seconds, after which an administrator should be automatically logged out of the Comet Server web interface. If zero, will be replaced with DEFAULT_SESSIONTIMEOUT. }
SingleFieldSource
class SingleFieldSource { string FieldName string FieldType // One of "bool" / "int" / "string" bool BoolVal int IntVal string StrVal }
SizeMeasurement
class SizeMeasurement { int Size // Bytes int MeasureStarted // Unix timestamp in seconds int MeasureCompleted // Unix timestamp in seconds }
SoftwareBuildRoleOptions
class SoftwareBuildRoleOptions { bool RoleEnabled bool AllowUnauthenticatedDownloads // 0 will default to CPU core count - 2 // This field is available in Comet 24.3.8 and later. int MaxBuilders }
SoftwareUpdateNewsResponse
class SoftwareUpdateNewsResponse { string latest_stable // The latest "Quarterly" release version of Comet known to the account.cometbackup.com system. string latest_prerelease // The latest "Voyager" release version of Comet known to the account.cometbackup.com system. string downloads_url // A URL linking to the Comet Server downloads page. List<string> updates_info // An array of recent news items written by Comet Backup staff. Entries are english plaintext. }
SourceBasicInfo
SourceBasicInfo is the minimal amount of information one device knows about another device's Protected Items, in order to safely perform retention passes on their behalf.
class SourceBasicInfo { string Engine string Description int O365AccountCount int TotalVmCount int Size // Bytes Dictionary<string, RetentionPolicy> OverrideDestinationRetention // Omission from JSON document implies an empty Dictionary }
SourceConfig
class SourceConfig { string Engine // One of the ENGINE_BUILTIN_ constants string Description string OwnerDevice int CreateTime // Unix timestamp in seconds int ModifyTime // Unix timestamp in seconds List<string> PreExec // Custom commands to run before the job List<string> ThawExec // Custom commands to run after taking a disk snapshot List<string> PostExec // Custom commands to run after the job // Configuration for the selected Protected Item type. Each "Engine" supports // different configuration options for the EngineProps values. // // For engine1/file, Comet understands the following EngineProp keys: // // - Any key starting with INCLUDE: A path that is included // - Any key starting with EXCLUDE: An exclusion (glob format) // - Any key starting with REXCLUDE: An exclusion (regular expression format) // - Any key starting with PINCLUDE: A SourceIncludePattern type encoded in JSON format, describing an advanced inclusion in glob format // - Any key starting with RINCLUDE: A SourceIncludePattern type encoded in JSON format, describing an advanced inclusion in regular expression format // - Any key starting with SMBAUTH: A set of Windows network share credentials in WinSMBAuth JSON format // - USE_WIN_VSS: If present, the 'Take filesystem snapshot' checkbox is checked // - CONFIRM_EFS: If present, the 'Dismiss EFS warning' checkbox is checked // - RESCAN_UNCHANGED: If present, the 'Rescan unchanged files' checkbox is checked // - EXTRA_ATTRIBUTES: If present, the 'Back up extra system permissions and attributes' checkbox is checked // // For engine1/mssql, Comet understands the following EngineProp keys: // // - ALL_DATABASES: If present, include all databases with specified exclusions. If not present, only back up the specified inclusions // - Any key starting with DATABASE- : A database that is included. Only valid if ALL_DATABASES is not present. // - Any key starting with EXCEPT-DATABASE- : A database that is excluded. Only valid if ALL_DATABASES is present. // - INSTANCE: The Microsoft SQL Server instance name // - USERNAME: The username to connect to Microsoft SQL Server // - PASSWORD: The password to connect to Microsoft SQL Server // - AUTHMODE: Either "windows" or "native" (corresponding to the declared MSSQL_AUTH_WINDOWS and MSSQL_AUTH_NATIVE constant values). If not present, use native authentication if the USERNAME and/or PASSWORD fields are filled in, use windows authentication if they are blank // - METHOD: Either "OLEDB_NATIVE" or "OLEDB_32" (corresponding to the declared MSSQL_METHOD_OLEDB_NATIVE and MSSQL_METHOD_OLEDB_32 constant values). If not present, defaults to Native // - DIFFBASE: If present, take a "Full (base image)" backup job. Otherwise, take a "Full (copy only)" backup job. // - DIFFERENTIAL: If present, take a "Differential increment" backup job. Otherwise, take a "Full (copy only)" backup job. // - LOGTRUNC: If present, take a "Log (truncating)" backup job. Otherwise, take a "Full (copy only)" backup job. // - LOGNOTRUNC: If present, take a "Log (no truncation)" backup job. Otherwise, take a "Full (copy only)" backup job. // Dictionary<string, string> EngineProps // If set, this SourceConfig was added from a Policy with the specified ID. // This field is available in Comet 23.6.0 and later. string PolicySourceID // For a Policy-defined SourceConfig, this field controls whether the Protected Item will stay linked with the policy. // This field is available in Comet 23.6.0 and later. bool ExistingUserUpdate // By default, backup jobs from this Protected Item will be subject // to the overall retention policy for the Storage Vault. You can override the policy // for specific Storage Vaults by putting their destination ID as a key here. // Omission from JSON document implies an empty Dictionary Dictionary<string, RetentionPolicy> OverrideDestinationRetention SourceStatistics Statistics // Omission from JSON document implies zero-initialised SourceStatistics class instance }
SourceIncludePattern
SourceIncludePattern is used for pattern inclusions for File and Folder Protected Items (ENGINE_BUILTIN_FILE). It should be marshalled as JSON and then stored in the PINCLUDE / RINCLUDE EngineProp keys.
class SourceIncludePattern { string TopDirectory // The filesystem path to search within, for matches string Value // The pattern (glob or regex format) to match }
SourceStatistics
class SourceStatistics { int LastStartTime BackupJobDetail LastBackupJob BackupJobDetail LastSuccessfulBackupJob }
SpannedDestinationLocation
class SpannedDestinationLocation { List<DestinationLocation> SpanTargets // A list of underlying destinations, that will be combined and presented as one. // If true, this Spanned destination will use a consistent hashing scheme // to immediately find specific files on exactly one of the target destinations. // In the Static Slots mode, the span targets cannot be moved or merged, and // the files must always remain in their original location. // // If false, the Spanned destination system will search all targets to find // the requested file. This is slightly slower, but allows you to freely merge, // split, and reorder the underlying destination locations. // // The default option is false. bool SpanUseStaticSlots }
SpannedStorageExtraInfo
class SpannedStorageExtraInfo { List<StorageFreeSpaceInfo> Targets }
StatResult
class StatResult { int Buckets int Users int Devices int Boosters int NetworkDevices }
StorageFreeSpaceInfo
class StorageFreeSpaceInfo { bool Unlimited float32 UsedPercent int AvailableBytes SpannedStorageExtraInfo Spanned // Omission from JSON document implies zero-initialised SpannedStorageExtraInfo class instance B2StorageExtraInfo B2 // Omission from JSON document implies zero-initialised B2StorageExtraInfo class instance }
StorageRoleOptions
class StorageRoleOptions { bool RoleEnabled DestinationLocation Storage // LocalStorage has been deprecated since Comet version 17.3.5 // Omission from JSON document implies an empty array List<LocalStorageDirectory> LocalStorage List<ReplicaServer> ReplicateTo }
StorageVaultProviderPolicy
class StorageVaultProviderPolicy { bool ShouldRestrictProviderList List<int> AllowedProvidersWhenRestricted }
StoredObject
class StoredObject { string name // The name of the stored object. It is unique within this directory tree. int mtime // Unix timestamp in seconds string type // One of the STOREDOBJECTTYPE_... constant values string subtree // If this StoredObject represents a directory, this value can be used to recursively select the directory contents. int size // Bytes string dname // Omission from JSON document implies empty string string itemClass // Omission from JSON document implies empty string string from // Omission from JSON document implies empty string string to // Omission from JSON document implies empty string int rtime // Omission from JSON document implies 0 bool has_attachments // Omission from JSON document implies false // Unix timestamp in seconds // Omission from JSON document implies 0 int stime // Unix timestamp in seconds // Omission from JSON document implies 0 int etime bool r // Omission from JSON document implies false int f // Omission from JSON document implies 0 int b // Omission from JSON document implies 0 int d // Omission from JSON document implies 0 }
StorjDestinationLocation
class StorjDestinationLocation { string SatelliteAddress string APIKey string Passphrase string StorjBucket string StorjBucketPrefix // Omission from JSON document implies empty string }
StorjVirtualStorageRoleSetting
class StorjVirtualStorageRoleSetting { string SatelliteAddress string APIKey string Passphrase string Bucket }
StreamableEvent
class StreamableEvent { string Actor string OwnerOrganizationID string ResourceID // Omission from JSON document implies empty string int Type int Timestamp // Omission from JSON document implies 0 string TypeString // Omission from JSON document implies empty string any Data // Omission from JSON document implies any value }
SwiftDestinationLocation
class SwiftDestinationLocation { // Username or UserID or Application Credential name or Application Credential ID, or blank for token authentication // Omission from JSON document implies empty string string Username // User Password, or Application Credential Key, or token if the Username field is blank // Omission from JSON document implies empty string string APIKey string Region // Omission from JSON document implies empty string // Mandatory // Omission from JSON document implies empty string string AuthURL string Domain // Omission from JSON document implies empty string // Tenant name (v2) or Project name (v3) // Omission from JSON document implies empty string string Tenant // Project domain name (v3) // Omission from JSON document implies empty string string TenantDomain string TenantID // Omission from JSON document implies empty string string TrustID // Omission from JSON document implies empty string // AuthToken has been deprecated since Comet version 17.8.0 // Omission from JSON document implies empty string string AuthToken string Prefix // Omission from JSON document implies empty string string Container // Omission from JSON document implies empty string string DefaultContainerPolicy // Omission from JSON document implies empty string }
TestResponse
class TestResponse extends CometAPIResponseMessage { bool Exists }
TimeSpan
class TimeSpan { int FrequencyType // SCHEDULE_FREQUENCY_int Seconds // Used for Periodic and Once Only }
TotpRegeneratedResponse
class TotpRegeneratedResponse extends CometAPIResponseMessage { string Image // A data URI of an image of a TOTP code (e.g. "data:image/png;base64,AAA...") string URL // This field is available in Comet 18.9.9 and later. string ProfileHash // This field is available in Comet 20.3.2 and later. }
U2FRegisterRequest
This type has been deprecated since Comet version 21.12.0
class U2FRegisterRequest { string Challenge string Version }
U2FRegisteredKey
This type has been deprecated since Comet version 21.12.0
class U2FRegisteredKey { string AppID string KeyHandle string Version }
U2FRegistrationChallengeResponse
This type has been deprecated since Comet version 21.12.0
class U2FRegistrationChallengeResponse extends CometAPIResponseMessage { string ChallengeID string AppID List<U2FRegisteredKey> RegisteredKeys List<U2FRegisterRequest> RegisterRequests }
U2FSignRequest
This type has been deprecated since Comet version 21.12.0
class U2FSignRequest { string ChallengeID string ChallengeData string AppID List<U2FRegisteredKey> RegisteredKeys }
U2FSignResponse
This type has been deprecated since Comet version 21.12.0
class U2FSignResponse { string ChallengeID string KeyHandle string Signature string ClientData }
UninstallConfig
UninstallConfig allows configuring whether the target device will be uninstalled or not.
class UninstallConfig { bool UninstallFlag // If this option is true, the target device will receive a message asking it to uninstall the Comet Backup app. bool RemoveConfigFile // This controls the "Remove all user settings from this device" option. }
UpdateCampaignDeviceStatus
class UpdateCampaignDeviceStatus { int Status // One of the UPDATESTATUS_ constants }
UpdateCampaignOptions
This data structure describes which devices should receive a remote software upgrade. Both the target version criteria (UpgradeOlder/ReinstallCurrentVer/DowngradeNewer) and the target device criteria (ApplyDeviceFilter/DeviceFilter) must be met in order for the remote upgrade to be applied.
class UpdateCampaignOptions { bool Active bool UpgradeOlder bool ReinstallCurrentVer bool DowngradeNewer bool ForceUpgradeRunning // Choose whether this bulk upgrade campaign is allowed to interrupt a running backup job. bool ApplyDeviceFilter // If true, then the UserFilter will be used to restrict which accounts and devices will be eligible for the software update. If false, all users and devices will be eligible for the software update. SearchClause DeviceFilter }
UpdateCampaignProperties
class UpdateCampaignProperties extends UpdateCampaignOptions { int StartTime // Unix timestamp, in seconds string TargetVersion }
UpdateCampaignStatus
class UpdateCampaignStatus extends UpdateCampaignProperties { List<UpdateCampaignStatusDeviceEntry> Devices }
UpdateCampaignStatusDeviceEntry
class UpdateCampaignStatusDeviceEntry extends UpdateCampaignDeviceStatus { string Username string DeviceID }
UserCustomEmailSettings
class UserCustomEmailSettings { List<EmailReportConfig> Reports }
UserOnServer
class UserOnServer { int ServerID // The server where this user was found. The 0-based indexes here correspond to the entries inside ConstellationRoleOptions->Servers. string Username }
UserPolicy
class UserPolicy { bool PreventRequestStorageVault bool PreventAddCustomStorageVault bool PreventEditStorageVault bool HideCloudStorageBranding bool PreventDeleteStorageVault StorageVaultProviderPolicy StorageVaultProviders bool PreventNewProtectedItem bool PreventEditProtectedItem bool PreventDeleteProtectedItem ProtectedItemEngineTypePolicy ProtectedItemEngineTypes List<ExtraFileExclusion> FileAndFolderMandatoryExclusions // Omission from JSON document implies an empty array int ModeScheduleSkipAlreadyRunning // Omission from JSON document implies 0 int ModeScheduleLastJobFailDoRetry // Omission from JSON document implies 0 int ModeLastJobFailDoRetryTime // Omission from JSON document implies 0 int ModeLastJobFailDoRetryCount // Omission from JSON document implies 0 int ModeAdminResetPassword // Omission from JSON document implies 0 int ModeAdminViewFilenames // Omission from JSON document implies 0 int ModeRequireUserResetPassword // Omission from JSON document implies 0 bool PreventDeleteSingleSnapshots bool PreventChangeAccountPassword bool PreventChangeEmailSettings bool PreventChangeAccountName bool PreventOpenAppUI bool RequirePasswordOpenAppUI bool HideAppImport bool HideAppVersion bool PreventOpenWebUI bool PreventViewDeviceNames DefaultEmailReportPolicy DefaultEmailReports RetentionPolicy DefaultStorageVaultRetention bool EnforceStorageVaultRetention bool PreventProtectedItemRetention bool AllowEditObjectLockRetention Dictionary<string, SourceConfig> DefaultSources Dictionary<string, BackupRuleConfig> DefaultSourcesBackupRules Dictionary<string, DefaultSourceWithOSRestriction> DefaultSourcesWithOSRestriction Dictionary<string, BackupRuleConfig> DefaultBackupRules int RandomDelaySecs // Omission from JSON document implies 0 }
UserProfileConfig
This is the main data structure for a user's profile.
class UserProfileConfig { string Username // The name for this account. It uniquely identifies this UserProfileConfig across the entire Comet Server. It cannot be changed directly. string AccountName // A longer descriptive name for this account. It is not necessarily unique to the Comet Server. The end-user might be able to change it inside the Comet Backup desktop app. string LocalTimezone // Timezone in IANA format. Individual devices may declare a more specific timezone in the Devices field. string LanguageCode // One of the supported languages, such as en_US (DEFAULT_LANGUAGE). // Tenant // Omission from JSON document implies empty string string OrganizationID List<string> Emails // A list of email addresses to send reports to. Dictionary<string, UserCustomEmailSettings> OverrideEmailSettings // By default, all the email addresses in the Emails field will receieve the policy-default or server-wide-default style of email report. Add an override for a specific email address in here to allow customizing the email report that will be received. bool SendEmailReports // This option can be used to control whether any email reports are sent. // Storage Vaults // The string keys can be any unique key. Using a GUID is recommended, but optional. Dictionary<string, DestinationConfig> Destinations // Protected Items // The string keys can be any unique key. Using a GUID is recommended, but optional. Dictionary<string, SourceConfig> Sources // Schedules // The string keys can be any unique key. Using a GUID is recommended, but optional. Dictionary<string, BackupRuleConfig> BackupRules // Devices // The string keys are the device's ID. The device ID is generated automatically based on a mix of hardware and software identifiers on the installed PC. // To revoke a device, use the AdminRevokeDevice API instead of accessing these fields directly. This API can also remove associated Protected Items, uninstall the remote device, and disconnect its live connection. Dictionary<string, DeviceConfig> Devices bool IsSuspended // Unix timestamp in seconds. Zero if the device is not suspended. // Omission from JSON document implies 0 int LastSuspended bool AllProtectedItemsQuotaEnabled // A limit on the total Size of all Protected Items in this account. The number of bytes should be configured in AllProtectedItemsQuotaBytes. int AllProtectedItemsQuotaBytes // A limit on the total Size of all Protected Items in this account. It is enforced if AllProtectedItemsQuotaEnabled is true. int MaximumDevices // A limit on the total number of devices registered in this account. Set to zero to allow unlimited devices. int QuotaOffice365ProtectedAccounts // A limit on the total number of Office 365 Protected Accounts across all Office 365 Protected Items in this account. Set to zero to allow unlimited Office 365 Protected Accounts. int QuotaHyperVGuests // A limit on the total number of Hyper-V guests across all Hyper-V Protected Items in this account. Set to zero to allow unlimited Office 365 Protected Accounts. int QuotaVMwareGuests // A limit on the total number of VMware guests across all VMware Protected Items in this account. Set to zero to allow unlimited Office 365 Protected Accounts. string PolicyID // If the PolicyID field is set to a non-empty string, the Comet Server will enforce the contents of the Policy field based on the matching server's policy. Otherwise if the PolicyID field is set to an empty string, the administrator may configure any custom values in the Policy field. UserPolicy Policy // The Policy field contains a read-only copy of the effective Policy that is applied to this user account. // One of the PASSWORD_FORMAT_ constants // To change the user's password, use the AdminResetUserPassword API instead of accessing these fields directly. Otherwise, other encrypted fields in the user profile may become corrupted. int PasswordFormat string PasswordHash // If this field is empty, the "Allow administrator to reset my password" feature is turned off. If this field is filled, it contains a cryptographic root of trust that can decrypt and re-encrypt other secrets in this profile. // Omission from JSON document implies empty string string PasswordRecovery bool AllowPasswordLogin bool AllowPasswordAndTOTPLogin // If true, then TOTP is required to open the desktop app or the Comet Server web interface with this user's credentials. int TOTPKeyEncryptionFormat // One of the ENCRYPTIONMETHOD_ constants string TOTPKey bool RequirePasswordChange // This field is available in Comet 20.3.4 and later. int CreateTime // Unix timestamp in seconds string CreationGUID // A random GUID that is allocated when the user profile is created for the first time. You can use this to help disambiguate users with the same username across multiple Comet Servers. // Additional server-wide settings that are enforced for this user profile // Omission from JSON document implies zero-initialised UserServerConfig class instance UserServerConfig ServerConfig }
UserProfileFragment
This type has been deprecated since Comet version 23.3.5
class UserProfileFragment { string Username }
UserServerConfig
class UserServerConfig { int RandomDelaySecs // Omission from JSON document implies 0 }
VMDKSnapshotViewOptions
class VMDKSnapshotViewOptions { bool Enabled // Request a list of stored objects in vmdk file. It should be always true for restoring single files from vmdk file string PartitionGUID // The vmdk filename inside subdirectory of disk image, should be end with .vmdk string ListPath // Browse objects' paths inside vmdk file string PartitionName }
VMwareConnection
class VMwareConnection { string ConnectionType // One of the VMWARE_CONNECTION_ constants SSHConnection SSH // SSH has been deprecated since Comet version 23.9.11 VSphereConnection VSphere }
VMwareMachineInfo
class VMwareMachineInfo { string Name }
VSSComponent
class VSSComponent { string Path string Name string CType // "VSS_CT_DATABASE" or "VSS_CT_FILEGROUP" bool Selectable }
VSSWriterInfo
class VSSWriterInfo { string DisplayName List<VSSComponent> Components }
VSphereConnection
class VSphereConnection { string Hostname bool Https bool AllowInvalidCertificate string Username string Password string ThumbPrint }
VaultSnapshot
class VaultSnapshot { string Snapshot string EngineType // This field is available in Comet 24.3.x and later. string Source int CreateTime bool HasOriginalPathInfo // This field is available in Comet 20.12.4 and later. }
WasabiVirtualStorageRoleSettings
This is an alias type for AmazonAWSVirtualStorageRoleSettings.
class WasabiVirtualStorageRoleSettings extends AmazonAWSVirtualStorageRoleSettings { }
WebAuthnAuthenticatorSelection
class WebAuthnAuthenticatorSelection { string authenticatorAttachment // Omission from JSON document implies empty string bool requireResidentKey // Omission from JSON document implies false string residentKey // Omission from JSON document implies empty string string userVerification // Omission from JSON document implies empty string }
WebAuthnCredential
class WebAuthnCredential { List<byte> PublicKey // This field is intended to contain raw binary data. When this field is marshalled as JSON format for the API, the field is expressed as base64. If you are using one of the public SDKs, this may take place automatically. string AttestationType List<byte> AAGUID // This field is intended to contain raw binary data. When this field is marshalled as JSON format for the API, the field is expressed as base64. If you are using one of the public SDKs, this may take place automatically. int SignCount bool CloneWarning }
WebAuthnCredentialAssertion
class WebAuthnCredentialAssertion { WebAuthnPublicKeyCredentialRequestOptions publicKey }
WebAuthnCredentialDescriptor
class WebAuthnCredentialDescriptor { string type List<byte> id // This field is intended to contain raw binary data. When this field is marshalled as JSON format for the API, the field is expressed as base64. If you are using one of the public SDKs, this may take place automatically. List<string> transports // Omission from JSON document implies an empty array }
WebAuthnCredentialEntity
class WebAuthnCredentialEntity { string name string icon // Omission from JSON document implies empty string }
WebAuthnCredentialParameter
class WebAuthnCredentialParameter { string type int alg }
WebAuthnPublicKeyCredentialCreationOptions
class WebAuthnPublicKeyCredentialCreationOptions { List<byte> challenge // This field is intended to contain raw binary data. When this field is marshalled as JSON format for the API, the field is expressed as base64. If you are using one of the public SDKs, this may take place automatically. WebAuthnRelyingPartyEntity rp WebAuthnUserEntity user List<WebAuthnCredentialParameter> pubKeyCredParams // Omission from JSON document implies an empty array WebAuthnAuthenticatorSelection authenticatorSelection // Omission from JSON document implies zero-initialised WebAuthnAuthenticatorSelection class instance int timeout // Omission from JSON document implies 0 List<WebAuthnCredentialDescriptor> excludeCredentials // Omission from JSON document implies an empty array Dictionary<string, any> extensions // Omission from JSON document implies an empty Dictionary string attestation // Omission from JSON document implies empty string }
WebAuthnPublicKeyCredentialRequestOptions
class WebAuthnPublicKeyCredentialRequestOptions { List<byte> challenge // This field is intended to contain raw binary data. When this field is marshalled as JSON format for the API, the field is expressed as base64. If you are using one of the public SDKs, this may take place automatically. int timeout // Omission from JSON document implies 0 string rpId // Omission from JSON document implies empty string List<WebAuthnCredentialDescriptor> allowCredentials // Omission from JSON document implies an empty array string userVerification // Omission from JSON document implies empty string Dictionary<string, any> extensions // Omission from JSON document implies an empty Dictionary }
WebAuthnRegistrationChallengeResponse
class WebAuthnRegistrationChallengeResponse extends CometAPIResponseMessage { string ChallengeID WebAuthnPublicKeyCredentialCreationOptions CredentialCreationOptions }
WebAuthnRelyingPartyEntity
class WebAuthnRelyingPartyEntity extends WebAuthnCredentialEntity { string id }
WebAuthnSignRequest
class WebAuthnSignRequest { string ChallengeID WebAuthnCredentialAssertion Assertion }
WebAuthnSignResponse
class WebAuthnSignResponse { string ChallengeID string CredentialJSON }
WebAuthnUserEntity
class WebAuthnUserEntity extends WebAuthnCredentialEntity { string displayName // Omission from JSON document implies empty string List<byte> id // This field is intended to contain raw binary data. When this field is marshalled as JSON format for the API, the field is expressed as base64. If you are using one of the public SDKs, this may take place automatically. }
WebDavDestinationLocation
This type is available in Comet 23.6.9 and later.
class WebDavDestinationLocation { // The URL of the WebDAV server, including http/https and any custom port // Omission from JSON document implies empty string string DavServer // The username for logging in to the WebDAV server // Omission from JSON document implies empty string string UserName // The password for logging in to the WebDAV server // Omission from JSON document implies empty string string AccessKey // The target directory path within the WebDAV server // Omission from JSON document implies empty string string Path }
WebInterfaceBrandingProperties
class WebInterfaceBrandingProperties { // One of the BRANDINGSTYLETYPE_ constants // This field is available in Comet 23.3.3 and later. int BrandingStyleType string BrandName string LogoImage string TopColor string AccentColor string Favicon bool HideNewsArea }
WebhookOption
WebhookOption defines the configuration of a webhook target. The Comet Server will send a live HTTP POST event to the webhook URL when certain events happen.
class WebhookOption { string URL // The target URL to POST the event data to // CustomHeaders allows specifying custom headers which are added to the outgoing POST request // from Comet Server. Custom headers are specified as (header name, header value) pairs. If a // custom header conflicts with a header required by HTTP or the Comet tracing ID header // (`x-Comet-Tracing-Id`), it will be ignored. Dictionary<string, string> CustomHeaders string Level // One of the STREAM_LEVEL_ constants. This controls how much data is sent in the webhook event. List<int> WhiteListedEventTypes // Configure a subset of allowed event types (see SEVT_ constants). If the array is empty, all events will be sent }
WinSMBAuth
class WinSMBAuth { string SharePath // The UNC path for the Windows network share (SMB). string Username // The username to log in to the Windows network share (SMB). string Password // The password might be hashed. To set this in cleartext, set PasswordFormat to 0 (PASSWORD_FORMAT_PLAINTEXT). int PasswordFormat // The hash algorithm that is used for the Password field. It is one of the PASSWORD_FORMAT_ constants. }
WindowsCodeSignProperties
class WindowsCodeSignProperties { int WindowsCodeSignMethod // One of the WINDOWSCODESIGN_METHOD_ constants string WindowsCodeSignPKCS12FilePath int WindowsCodeSignPKCS12PasswordFormat // One of the ENCRYPTIONMETHOD_ constants string WindowsCodeSignPKCS12Password string WindowsCodeSignPKCS11Engine string WindowsCodeSignPKCS11Module string WindowsCodeSignPKCS11Certfile // This field was deprecated between 23.3.0 and 23.6.x, but is now used again. string WindowsCodeSignPKCS11KeyID int WindowsCodeSignPKCS11PasswordFormat // One of the ENCRYPTIONMETHOD_ constants string WindowsCodeSignPKCS11Password string WindowsCodeSignAzureVaultName string WindowsCodeSignAzureCertName string WindowsCodeSignAzureAppID int WindowsCodeSignAzureAppSecretFormat // One of the ENCRYPTIONMETHOD_ constants string WindowsCodeSignAzureAppSecret string WindowsCodeSignAzureTenantID }