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
}
AdminOptions
class AdminOptions {
PolicyOptions Policy
}
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
bool RequirePasswordChange // This field is available in Comet 24.12.0 and later.
// 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
// The CRC32 of the billing data for this job.
// Omission from JSON document implies 0
int BillingCrc32
// 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
}
BlockInfo
class BlockInfo {
string DeviceID
string DiskNodeName
}
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 }
BrowseProxmoxNodesResponse
class BrowseProxmoxNodesResponse extends CometAPIResponseMessage { List<string> Nodes }
BrowseProxmoxResponse
class BrowseProxmoxResponse extends CometAPIResponseMessage { List<PVEVM> VMs }
BrowseProxmoxStorageResponse
class BrowseProxmoxStorageResponse extends CometAPIResponseMessage { List<PVEStorageName> Storage }
BrowseSQLServerResponse
class BrowseSQLServerResponse extends CometAPIResponseMessage { Dictionary<string, string> Objects }
BrowseVMwareDatacentersResponse
BrowseVMwareDatacentersResponse contains a list of VMware Datacenters when remotely browsing a VMware vSphere connection.
class BrowseVMwareDatacentersResponse extends CometAPIResponseMessage { List<VMwareDatacenterInfo> Datacenters }
BrowseVMwareDatastoresResponse
BrowseVMwareHostsResponse contains a list of VMware Datastores for a specific VMware Datacenter, when remotely browsing a VMware vSphere connection.
class BrowseVMwareDatastoresResponse extends CometAPIResponseMessage { List<VMwareDatastoreInfo> Datastores }
BrowseVMwareHostsResponse
BrowseVMwareHostsResponse contains a list of VMware Hosts for a specific VMware Datacenter, when remotely browsing a VMware vSphere connection.
class BrowseVMwareHostsResponse extends CometAPIResponseMessage { List<VMwareHostInfo> Hosts }
BrowseVMwareNetworksResponse
BrowseVMwareHostsResponse contains a list of VMware Networks for a specific VMware Datacenter, when remotely browsing a VMware vSphere connection.
class BrowseVMwareNetworksResponse extends CometAPIResponseMessage { List<VMwareNetworkInfo> Networks }
BrowseVMwareResponse
BrowseVMwareResponse contains a list of Virtual Machines when remotely browsing a VMware vSphere connection.
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 }
CreateUserGroupResponse
class CreateUserGroupResponse extends CometAPIResponseMessage { string UserGroupID }
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. List<string> AssociatedDevices }
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
List<PartitionConflict> PartitionConflicts // Used to indicate the partition conflicts on the disk.
}
DispatcherAdminSourcesResponse
class DispatcherAdminSourcesResponse extends CometAPIResponseMessage { Dictionary<string, string> ImportSources }
DispatcherListSnapshotVirtualMachinesResponse
This type is available in Comet 24.12.x and later.
class DispatcherListSnapshotVirtualMachinesResponse extends CometAPIResponseMessage, VMInfoList { }
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 }
GetUserGroupResponse
class GetUserGroupResponse {
UserGroup UserGroup
string UserGroupHash
}
GetUserGroupWithUsersResponse
class GetUserGroupWithUsersResponse {
UserGroup UserGroup
Dictionary<string, UserProfileConfig> Users
}
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
int MemoryLimitMB // This field is available in Comet 24.12.x and later.
int CPUCores // This field is available in Comet 24.12.x and later.
List<string> HardDrives // This field is available in Comet 24.12.x and later.
int Generation // This field is available in Comet 24.12.x and later.
string ConfigFilePath // This field is available in Comet 24.12.x and later.
}
HyperVRestoreTargetOptions
class HyperVRestoreTargetOptions {
string DiskStoragePath
}
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
}
LoginProtectionOptions
class LoginProtectionOptions {
bool Enabled // Enable this feature to block repeated failed login attempts to the Comet Server.
int FailureThreshold // The number of failed attempts before a cooldown is applied. If the feature is enabled, should be at least 1.
int CooldownSeconds // The duration to block requests, in seconds. If the feature is enabled, should be at least 1 second.
}
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 {
// If true, then backup everything except the selected users (group members are still included)
// Organization has been deprecated since Comet version 24.12.2
bool Organization
// If true, exclude all filtered IDs and Members. Backup everything else
// Omission from JSON document implies false
bool FilterMode
// If true, backup everything, ignoring selection and filter options
// Omission from JSON document implies false
bool WholeOrg
// Key is the ID of User, Group, or Site
// Value is a bitset of the SERVICE_ constants, to select which services to backup for accounts
// Omission from JSON document implies an empty Dictionary
Dictionary<string, int> BackupOptions
// Key is the ID of a Group or Team Site
// Value is a bitset of the SERVICE_ constants, to select which services to backup for members
// Omission from JSON document implies an empty Dictionary
Dictionary<string, int> MemberBackupOptions
// Key is the ID of a User, Group, or Site
// Value is a bitset of the SERVICE_ constants, to select which services to not backup for accounts
// Omission from JSON document implies an empty Dictionary
Dictionary<string, int> FilterOptions
// Key is the ID of a Group or Team Site
// Value is a bitset of the SERVICE_ constants, to select which services to not backup for members
// Omission from JSON document implies an empty Dictionary
Dictionary<string, int> FilterMemberOptions
}
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
bool hasLicense // Omission from JSON document implies false
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
}
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
}
PVEBackupDisk
class PVEBackupDisk {
string Device // Omission from JSON document implies empty string
int DeviceNum // Omission from JSON document implies 0
}
PVEBackupNode
class PVEBackupNode {
List<PVEBackupVM> IncludedVMs // Omission from JSON document implies an empty array
string Name // Omission from JSON document implies empty string
bool Selected // Omission from JSON document implies false
}
PVEBackupVM
class PVEBackupVM {
List<PVEBackupDisk> IncludedDisks // Omission from JSON document implies an empty array
string Name // Omission from JSON document implies empty string
bool Selected // Omission from JSON document implies false
string Type // Omission from JSON document implies empty string
string VMID // Omission from JSON document implies empty string
}
PVEDisk
class PVEDisk {
string Device
int DeviceNum
string StorageID // Omission from JSON document implies empty string
string Volume // Omission from JSON document implies empty string
string Size // Omission from JSON document implies empty string
string Format // Omission from JSON document implies empty string
string Options // Omission from JSON document implies empty string
}
PVEParams
class PVEParams {
bool Everything // Omission from JSON document implies false
List<PVEBackupNode> Exclusions // Omission from JSON document implies an empty array
string Method // Omission from JSON document implies empty string
int Quota // Omission from JSON document implies 0
SSHConnection SSHConnection // Omission from JSON document implies zero-initialised SSHConnection class instance
List<PVEBackupNode> Selections // Omission from JSON document implies an empty array
}
PVERestoreSelection
class PVERestoreSelection {
string ID // Omission from JSON document implies empty string
string Name // Omission from JSON document implies empty string
PVEVM TargetVM
}
PVEStorageName
PVEStorageName contains the name and type of storage configured on a Proxmox Cluster
class PVEStorageName {
string Name
string Type
}
PVEVM
class PVEVM {
string CPU
List<PVEDisk> Disks
string Memory
string Name
string Node
string OSType
bool Running
string Type
string VMID
}
Partition
class Partition {
string DeviceName
string PartitionGuid // The partition's MBR or GPT id, if any
int PartitionOffset // The partition's offset within the physical disk
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
}
PartitionConflict
class PartitionConflict {
string PartitionA
string PartitionB
int Size
}
PolicyOptions
class PolicyOptions {
List<string> DeleteSources
}
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
}
ProxmoxConnection
class ProxmoxConnection {
SSHConnection SSH
}
ProxmoxRestoreTargetOptions
class ProxmoxRestoreTargetOptions extends ProxmoxConnection { string Node // The name of the node to restore to in the Proxmox Cluster string Storage // the name of the storage location to restore to }
PublicBrandingProperties
class PublicBrandingProperties {
string ProductName
string CompanyName
string HelpURL
bool HelpIsPopup
string DefaultLoginServerURL
string TileBackgroundColor
string AccountRegisterURL
bool HideBackgroundLogo
string CloudStorageName
bool AdminHidePreBuiltClientOption
bool AdminHideBrandedCloudStorage
}
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
string Host // Omission from JSON document implies empty string
int ConnectionTime
}
RemoteServerAddress
class RemoteServerAddress {
string Type
string Description
// For use with Comet Server (Storage Gateway / Management Console)
// Omission from JSON document implies empty string
string RemoteAddress
// For use with Comet Server (Storage Gateway / Management Console)
// Omission from JSON document implies empty string
string Username
// For use with Comet Server (Storage Gateway / Management Console)
// 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 string ID bool Default }
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 string ProfileHash UserProfileConfig Profile }
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
// For RESTORETYPE_VMHOST
// This field is available in Comet 24.12.x and later.
// Omission from JSON document implies zero-initialised VMwareRestoreTargetOptions class instance
VMwareRestoreTargetOptions VMwareConnection
// For RESTORETYPE_VMHOST
// This field is available in Comet 24.12.x and later.
// Omission from JSON document implies zero-initialised HyperVRestoreTargetOptions class instance
HyperVRestoreTargetOptions HyperVConnection
// For RESTORETYPE_VMHOST
// Omission from JSON document implies zero-initialised ProxmoxRestoreTargetOptions class instance
ProxmoxRestoreTargetOptions ProxmoxConnection
}
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 Years
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
int YearOffset
}
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
int SelectedMonth
int SelectedDay
}
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 System Self-Backup archive. By excluding it, you could run the System 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
LoginProtectionOptions LoginProtection // This field is available in Comet 24.9.x and later.
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
bool ServerIsEmpty // If true, this Comet Server currently has no admins or users.
string CloudStorageName
bool AdminHidePreBuiltClientOption // Will hide the "Pre-built software client" option from the server settings. Only properly enforced when custom branding is enforced via the license.
bool AdminHideBrandedCloudStorage // Will hide Comet Storage from everywhere, including the admin view. Only properly enforced when custom branding is enforced via the license.
}
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 // ServerLicenseFeaturesAll has been deprecated since Comet version 24.9.x
int ServerLicenseFeatureSet // A bitset of feature flags representing functionality available in this Comet Server's plan
// 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
}
UserGroup
class UserGroup {
int CreatedAt // Unix timestamp in seconds
string OrganizationID
string Name
}
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
string DefaultNewStorageVault
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
int RotateStorageVaultKeysHours // Rotate access keys of a conflicting jobs Storage Vault, if no update from the conflicting job for X hours. If value is 0, ROTATE_STORAGE_VAULT_KEYS_DEFAULT is used.
}
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
string GroupID
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 receive 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
bool SupportsDeviceAssociations // Leave as true
// 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 // Allow login using the password alone. Set this to false if the password alone should not be sufficient.
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
string AutoStorageTemplateGUID
}
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
}
VMDiskInfo
This type is available in Comet 24.12.x and later.
class VMDiskInfo {
string Path // Relative path within this backup job snapshot to root disk files
int Size // The virtual size of the virtual disk
int Controller // Controller number where the disk is associated to
int DeviceNum // Device number within the controller
}
VMInfo
This type is available in Comet 24.12.x and later.
class VMInfo {
string ID
string Name
int CPUCores
int RamBytes // Bytes
string FirmwareType // The BIOS mode of this machine e.g. "Legacy"|"UEFI"
string ConfigPath // Relative path to config file or directory, if supported by this Protected Item type
List<VMDiskInfo> Disks
}
VMInfoList
This type is available in Comet 24.12.x and later.
class VMInfoList {
List<VMInfo> VMs
}
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
}
VMwareDatacenterInfo
VMwareDatacenterInfo describes a single VMware datacenter.
class VMwareDatacenterInfo {
string Name
}
VMwareDatastoreInfo
VMwareDatastoreInfo describes a single VMware datastore within a VMware datacenter.
class VMwareDatastoreInfo {
string Name
}
VMwareHostInfo
VMwareHostInfo describes a single VMware host within a VMware datacenter.
class VMwareHostInfo {
string Name
}
VMwareMachineInfo
VMwareMachineInfo describes a single VMware virtual machine.
class VMwareMachineInfo {
string Name
}
VMwareNetworkInfo
VMwareNetworkInfo describes a single VMware network within a VMware datacenter.
class VMwareNetworkInfo {
string Name
}
VMwareRestoreTargetOptions
This type is available in Comet 24.12.x and later.
VMwareRestoreTargetOptions is used when restoring a virtual machine backup job into VMware, using the RESTORETYPE_VMHOST option.
class VMwareRestoreTargetOptions {
string Datacenter // The name of the VMware Datacenter to restore into. If blank and there is only one Datacenter in the vSphere connection, it is chosen.
string Host // The name of the VMware Host within the VMware Datacenter to restore into. If blank and there is only one Datacenter in the vSphere connection, it is chosen.
string DatastorePath // The name of the VMware Datastore on the VMware Host to restore into. If blank and there is only one Datacenter in the vSphere connection, it is chosen.
string Network // The name of the VMware Network on the VMware Host to restore into. If blank and there is only one network on the target vSphere connection, it is chosen.
VMwareConnection Connection
}
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
}