schema { query: Query mutation: Mutation } type Query { "Action log settings" actionLog: ActionLog! "Additional key" additionalKey(id: ID!): AdditionalKey "Additional keys" additionalKeys: [AdditionalKey!]! "Server capabilities" capability: Capability! "App configuration" config: Config! "Database servers" databaseServers: [DatabaseServer!]! "DNS namespace" dns: Dns! "Returns list of available locales" locales: [Locale!]! "Additional content for login page" loginContentInclude: LoginContentInclude! "Master Key processing state." masterKeyProcessingState: String "Mode of Plesk" mode: Mode! @deprecated(reason: "This is not a stable API and will be changed soon.") "Fetches an object given its ID." node( "ID of the object." id: ID! ): Node! "Fetches list object given its IDs." nodes( "IDs of the objects." ids: [ID!]! ): [Node]! "Notifications management info" notification: Notification! "Os info" os: Os! "Mass email management" massEmail: MassEmail! "Estimate password" passwordEstimation(password: String!): PasswordEstimation! "Returns PHP handler" phpHandler( "Php handler ID" id: ID! ): PhpHandler! "Primary key" primaryKey: PrimaryKey "Returns list of promo blocks" promos: [Promo!]! "Server related items" server: Server! "Server information" serverInfo: ServerInfo! "Server wide mail" serverMail: ServerMail! "Returns site object" site( "'domain:...' or 'alias:...' with appropriate id instead of ellipsis" id: ID! ): Site @deprecated(reason: "This is not a stable APi and will be changed soon.") "System date and time settings" systemTime: SystemTime! "Tasks" tasks(page: Int!, itemsPerPage: Int!, search: String, statusFilter: TaskStatusEnum): TaskList "Returns list of active Terminal sessions (Windows only)" tsSessions( "IDs of the sessions." ids: [ID!] ): [TsSession!]! "Returns currently logged-in user" viewer: User! certificates(fromServerRepository: Boolean): [Certificate] "Recent search" recentSearch: [SearchResult!]! "DSN manager" dsnManager: DsnManager! "IIS manager" iisManager: IisManager! "Returns list of available extensions" extensions: [Extension] "Email statistics (Windows-only)" emailStatistics: EmailStatistics! "Mail account autodiscovery and autoconfiguration" mailAccountConfiguration( "Mail account ID" mailId: ID! ): MailAccountConfiguration! } type ActionLog { "List of action log objects" objects: [ActionLogObject!]! "Action log rotate settings" rotate: ActionLogRotate! "The minimum date of log activities" minDate: ActionLogDate! } type ActionLogObject { name: String! displayName: String! enabled: Boolean! actions: [Action!]! } type Action { name: String! displayName: String! enabled: Boolean! } type ActionLogRotate { type: String! records: Int! period: ActionLogRotatePeriod! } type ActionLogRotatePeriod { value: Int! unit: PeriodUnitEnum! } enum PeriodUnitEnum { day week month } type ActionLogDate { day: Int! month: Int! year: Int! } type AdditionalKey { keyNumber: String! keyName: String! keyApp: String! properties: [LicenseKeyProperty!]! revertKey: AdditionalKey errors: [String!]! } type LicenseKeyProperty { name: String! description: String! value: String! } type Capability { mailServer: CapabilityMailServer! packages: CapabilityPackages! web: CapabilityWeb! panel: CapabilityPanel! ftp: CapabilityFtp! systemUser: CapabilitySystemUser! } type CapabilityMailServer { isDomainsBlacklistSupported: Boolean! isMaxLetterSizeChangeable: Boolean! isMessageSubmissionDedicatedIPSupported: Boolean! isMessageSubmissionAllIPSupported: Boolean! isRelayLockTimeSupported: Boolean! isSmtpWhiteListSupported: Boolean! isSmtpWhiteListWithWildcardSupported: Boolean! isSmtpWhiteListWithCIDRSupported: Boolean! isRelayTypeOpenSupported: Boolean! isRelayTypeClosedSupported: Boolean! isRelayTypeAuthSupported: Boolean! isRelayTypeAuthPop3Supported: Boolean! isRelayTypeAuthSmtpSupported: Boolean! isRelayTypeAuthBothSupported: Boolean! shortPop3NamesCompatibility: Int! isUserSettingsSupported: Boolean! isSmarthostAvailable: Boolean isLocal: Boolean! } type CapabilityPackages { isRBLInstalled: Boolean! isSpamAssassinInstalled: Boolean! isGreyListingInstalled: Boolean! isAntiVirusInstalled: Boolean! isQoSStarted: Boolean! isASPdotNetInstalled: Boolean! isPhpInstalled: Boolean! isFail2banInstalled: Boolean! isBackupManagerInstalled: Boolean! webstatPackages: [NameValue]! } type NameValue { name: String! value: String! } type CapabilityWeb { iis: CapabilityWebIis proxyNginx: CapabilityWebProxyNginx } type CapabilityWebIis { isWildcardBindings: Boolean! } type CapabilityWebProxyNginx { isEnabled: Boolean! } type CapabilityPanel { accessDriver: CapabilityAccessDriver! } type CapabilityAccessDriver { isHttpsProxyEnabled: Boolean! isDefaultAccessDomain: Boolean! } type CapabilityFtp { isExplicitSSL: Boolean! } type CapabilitySystemUser { access: CapabilitySystemUserAccess! } type CapabilitySystemUserAccess { shells: [Shell!]! emptyShell: String! } type Shell { name: String! value: String! empty: Boolean chrooted: Boolean isSecure: Boolean! } "The config object." type Config { product: ConfigSectionProduct! webSocket: ConfigSectionWebSocket! feedback: ConfigSectionFeedback! rating: ConfigSectionRating! help: ConfigSectionHelp! updates: ConfigSectionUpdates promos: ConfigSectionPromos! search: ConfigSectionSearch! facebook: ConfigSectionFacebook! twitter: ConfigSectionTwitter! extensions: ConfigSectionExtensions! domainManagement: ConfigSectionDomainManagement! license: ConfigSectionLicense notification: ConfigSectionNotification! gdpr: ConfigSectionGdpr! techDomain: ConfigSectionTechDomain! dns: ConfigSectionDns! login: ConfigSectionLogin! websitesDiagnostic: ConfigSectionWebsitesDiagnostic! setup: ConfigSectionSetup! taskManager: ConfigSectionTaskManager! php: ConfigSectionPhp! branding: ConfigSectionBranding! dynamicList: ConfigSectionDynamicList! extLogBrowser: ConfigSectionExtLogBrowser mail: ConfigSectionMail } type ConfigSectionProduct { name: String! version: String! buyUrl: String! siteUrl: String! blogUrl: String! newsUrl: String! supportUrl: String! trialLicenseUrl: String! privacyPolicyUrl: String! } type ConfigSectionWebSocket { enabled: Boolean! } type ConfigSectionFeedback { enabled: Boolean! userVoice: Boolean! userVoiceUrl: String! forumUrl: String! } type ConfigSectionRating { enabled: Boolean! } type ConfigSectionHelp { helpCenterUrl: String! enableSearchPrefill: Boolean! } type ConfigSectionUpdates { showControls: Boolean! visualNotifications: Boolean! } type ConfigSectionPromos { pleskFooter: Boolean! autoplay: Boolean! enabled: Boolean! } type ConfigSectionSearch { limit: Int! } type ConfigSectionFacebook { showLikeLink: Boolean! pleskPage: String! } type ConfigSectionTwitter { showFollowLink: Boolean! pleskPage: String! } type ConfigSectionExtensions { developerGuideUrl: String! } type ConfigSectionDomainManagement { settings: ConfigSectionDomainManagementSettings! applicationWizard: ConfigSectionApplicationWizard! features: ConfigSectionDomainManagementFeature! } type ConfigSectionDomainManagementSettings { enabled: Boolean! } type ConfigSectionApplicationWizard { enabled: Boolean! blankSite: Boolean! uploadFiles: Boolean! mailHosting: Boolean! } type ConfigSectionDomainManagementFeature { icpPermit: Boolean! icpPermitLearnMore: String! } type ConfigSectionLicense { fileUpload: Boolean! disableOnExpiration: Boolean! } type ConfigSectionNotification { panel: ConfigSectionNotificationPanel htmlEmail: Boolean! } type ConfigSectionNotificationPanel { enabled: Boolean! } type ConfigSectionGdpr { cookieBox: ConfigSectionGdprCookieBox cookieSettings: ConfigSectionGdprCookieSettings cookies(type: [String!]): [ConfigSectionGdprCookie]! } type ConfigSectionGdprCookieBox { enabled: Boolean! } type ConfigSectionGdprCookieSettings { loginFormEntrypointEnabled: Boolean! } type ConfigSectionGdprCookie { name: String! type: String! } type ConfigSectionTechDomain { url: String! vendor: String! subdomain: ConfigSectionTechDomainSubdomain! maxDomainLength: Int! } type ConfigSectionTechDomainSubdomain { enabled: Boolean! default: Boolean! } type ConfigSectionDns { enableResolveChecking: Boolean! } type ConfigSectionLogin { howToLoginArticle: String! } type ConfigSectionWebsitesDiagnostic { enabled: Boolean! } type ConfigSectionSetup { forceAdminPasswordReset: ConfigSectionForceAdminPasswordReset! } type ConfigSectionForceAdminPasswordReset { enabled: Boolean! } type ConfigSectionTaskManager { allowCreate: Boolean! } type ConfigSectionPhp { pecl: ConfigSectionPhpPecl! } type ConfigSectionPhpPecl { enabled: Boolean! minVersion: String! } type ConfigSectionBranding { theme: String! } type ConfigSectionDynamicList { rememberTab: Boolean! enableTakeTour: Boolean! showColumnIcpPermit: Boolean! showColumnDiskUsage: Boolean! showColumnTraffic: Boolean! showColumnHostingLocation: Boolean! feedbackURL: String! getStartedSitejetAiBannerEnabled: Boolean! } type ConfigSectionExtLogBrowser { mailQueue: ConfigSectionExtLogBrowserMailQueue } type ConfigSectionExtLogBrowserMailQueue { serverWide: Boolean } type ConfigSectionMail { showClientConfiguratorLink: Boolean! autoconfig: ConfigSectionMailAutoconfig } type ConfigSectionMailAutoconfig { enabled: Boolean! dnsEnabled: Boolean! showHelperTabWhenEnabled: Boolean! showHelperTextWhenUnavailable: Boolean! } type DatabaseServer implements Node { "ID of the object." id: ID! "Database server name." name: String! "Database server type." type: DatabaseServerTypeEnum! "Database server fork." fork: String "Database server host." host: String! "Database server port." port: Int! "Database server version." serverVersion: String "Database server supports major upgrade." isUpgradeSupported: Boolean! "Path to dumps directory." dumpDirectory: String! "Detect installed MySQL fork properties." detectDatabaseServer: Boolean! "Database server version is LTS." isLTSVersion: Boolean! "Database server is local." isLocal: Boolean! "Database server is used by PSA." isUsedForPsaDb: Boolean! "The database server is the default for its type." isDefaultServer: Boolean! isWebadminInstalled: Boolean! isAdminCredentialsChangeable: Boolean! "The database server is using dynamic port." isDynamicPort: Boolean! externalConnections: Boolean "Database server administrator login." adminLogin: String! "Database server last error." lastError: DatabaseServerLastErrorEnum! "Databases hosted on this server." databases: [Database!]! "Available release for upgrade." availableReleases(filter: DatabaseServerReleaseInput): [DatabaseServerRelease!]! "Count databases hosted on this server." databasesCount: Int! backupSettings: DatabaseServerBackupSettings } "An object with an ID." interface Node { "ID of the object." id: ID! } enum DatabaseServerTypeEnum { MYSQL POSTGRESQL MSSQL } enum DatabaseServerLastErrorEnum { NO_ERROR CONNECTION_FAILED PERMISSION_DENIED CREDENTIALS_NOT_SET OTHER_ERROR } type Database implements Node { "ID of the object." id: ID! name: String! users: [DatabaseUser!]! defaultUser: DatabaseUser domain: Domain! server: DatabaseServer! isWebadminInstalled: Boolean! size: Int! formattedSize: String! tablesCount: Int! allowClone: Boolean! allowCheckAndFix: Boolean! allowDump: Boolean! allowImport: Boolean! allowRecreateDatabase: Boolean! } type DatabaseUser implements Node { "ID of the object." id: ID! "Database user login" login: String! database: Database domain: Domain! } type Domain implements Node { "ID of the object." id: ID! subscription: Subscription! "ASP.NET settings" aspNetSettings( "Virtual dir path" webPath: String = "" ): AspNetSettings "Domain name." name(idn: Boolean = true): String! "Creation date." created: String! guid: String! "Domain hosting type." htype: DomainHostingEnum! "Is changing hosting type allowed" allowToChangeHtype: Boolean! owner: Client! baseDomain: Domain parentDomain: Domain sysUser: SysUser aliases: [DomainAlias!]! databases: [Database!]! applicationDatabases: [Database!]! relatedDatabase: Database ipAddresses: [IpAddress!]! dnsZone: DnsZone isResolvable: Boolean! isActive: Boolean! previewUrl: String siteUrl: String! realSize: String! monthlyTraffic: String! "The last checks for current domain" websitesDiagnosticChecks: [WebsitesDiagnosticCheckReport!]! hosting: Hosting forwarding: Forwarding "Is any application installed on the domain" hasApplication: Boolean! "List of OdbcDsnConnection nodes" odbcDsnConnections(input: OdbcDsnConnectionListInput): OdbcDsnConnectionList! sslSettings: SecuritySettings webScriptingSettings: WebScriptingSettings webstatSettings: WebstatSettings "Is demo domain." isDemo: Boolean! backup: Backup! statistics: DomainStatistics! } type Subscription implements Node { "ID of the object." id: ID! limits: SubscriptionLimits! "Is creation of databases available for current user. Limit is non-zero or overuse is allowed and user is admin or reseller" isDatabasesAvailable: Boolean! permissions: SubscriptionPermissions! mainDomain: Domain! "List of domains for subscription" domains: [Domain!]! isSecureSettingsPresetAllowed: Boolean! "Webspace status" status: String! isCustom: Boolean! } type SubscriptionLimits { "All subscription limits." all( "Overused limits" overused: Boolean = false ): [Limit!]! "ODBC connections limit info." odbc: Limit! "Traffic limit info." traffic: Limit! "Disk Usage limit info." diskUsage: Limit! "Database limit info." database: Limit! "MSSQL limit info. Windows specific." mssql: Limit! } type Limit { name: String! "Max amount of elements. Value -1 means unlimited." value: Float! isUnlimited: Boolean! "Count of used items." used: Float! "Count of remaining items. Value -1 means unlimited. The difference between limit value and used count. It is can't be less than 0 if overuse allowed." remaining: Float! "Check limit availability. Returns true if requested value is available in limit." isLimitAvailable( "Checked value" value: Float = 1 ): Boolean! "Formatted limit value, units included" formattedValue: String! "Formatted limit usage, units included" formattedUsed: String! } type SubscriptionPermissions { "Is it possible to manage aliases." manageDomainAliases: Boolean! "Is it possible to manage websites and domains." manageWebsitesAndDomains: Boolean! "Is it possible to manage subdomains." manageSubdomains: Boolean! "Is it possible to manage domains." manageDomains: Boolean! "Is it possible to manage physical hosting." manageHosting: Boolean! "Is it possible to manage SSL on hosting." manageHostingSsl: Boolean! "Is it possible to manage disk space quota." manageQuota: Boolean! "Is it possible to manage access over SSH" manageShellAccess: Boolean! "Is it possible to manage access to the non-chrooted environment over SSH" manageNotChrootedShell: Boolean! "Is it possible to setup of potentially insecure web scripting options" allowInsecureSites: Boolean! "Is it possible to manage SSI" manageHostingSsi: Boolean! "Is it possible to manage web statistics" manageWebstat: Boolean! "Is it possible to manage error documents" manageErrorDocs: Boolean! "Is it possible to manage additional permissions" manageAdditionPermissions: Boolean! "Is it possible to manage web deploy" manageWebDeploy: Boolean! "Is it possible to create and manage databases" manageDatabases: Boolean! "Is it possible to manage additional FTP accounts" manageFtpAccounts: Boolean! "Is it possible to change PHP version" managePhpVersion: Boolean! "Is it possible to manage protected directories" manageProtectedDirectories: Boolean! } type AspNetSettings { versions: [String]! configs: [AspNetSettingsConfig]! } type AspNetSettingsConfig { version: String! connStrings: [NameValue!]! customErrMode: AspNetSettingsEnum! customErrors: AspNetCustomError! defLanguage: AspNetSettingsEnum! debugMode: Boolean! tempDirectory: String! reqEnc: String! resEnc: String! fileEnc: String! culture: AspNetSettingsEnum! uiCulture: AspNetSettingsEnum! trustLevel: AspNetSettingsEnum! trustLevelAllowOverride: Boolean! authMode: AspNetSettingsEnum! sessTimeout: Int! } type AspNetSettingsEnum { value: String! enumValues: [NameValue!]! } type AspNetCustomError { values: [AspNetCustomErrorValue!]! canDelete: [String!]! } type AspNetCustomErrorValue { statusCode: String! redirectUrl: String! } enum DomainHostingEnum { VIRTUAL STANDARD_FORWARDING FRAME_FORWARDING NONE } "The client object." type Client implements Node { "ID of the object." id: ID! "Creation date." created: String! "Client's personal name (1 to 60 characters long)." name: String! "The company name (0 to 60 characters long)." company: String! "The login name of the client account (1 to 60 characters long)." login: String! "The email address of the client account owner (0 to 255 characters long)." email: String! "The locale used on the client account. Default value: en-US." locale: String! "The global user ID of the client account just added to Plesk." guid: String! "The description for the client account." description: String! "The type of the client account." type: ClientTypeEnum! clients: [Client!]! domains: [Domain!]! "List of Subscription nodes" subscriptions(input: SubscriptionListInput): SubscriptionList! ipAddresses(filter: ClientIpAddressFilter): [IpAddress!]! certificates: [Certificate]! "Traffic History" trafficHistory: [TrafficHistory!]! statistics: ClientStatistics! "List of ResourceUsage nodes" resourceUsage(input: ResourceUsageListInput): ResourceUsageList! backup: Backup! vendor: Client! } enum ClientTypeEnum { ADMIN RESELLER CLIENT } input SubscriptionListInput { pagination: PaginationInput searchFilters: SubscriptionListSearchFilters orderBy: SubscriptionListSort own: Boolean = true } input PaginationInput { page: Int itemsPerPage: Int } input SubscriptionListSearchFilters { overuse: String } input SubscriptionListSort { displayName: SortDirectionEnum lastVisitTime: SortDirectionEnum } enum SortDirectionEnum { ASC DESC } type SubscriptionList { nodes: [Subscription!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type ListPageInfo { current: Int total: Int! pageCount: Int } type ListSortInfo { sortColumn: String sortDirection: SortDirectionEnum! } input ClientIpAddressFilter { "Filter unassigned and available IPs" unassigned: Boolean } type IpAddress implements Node { "ID of the object." id: ID! ipAddress: String! publicIpAddress: String "The type of the IP address." type(clientId: ID): IpAddressTypeEnum! "The allocated type of the IP address." allocatedType(clientId: ID): IpAddressTypeEnum! typeChangeableInClientPool(clientId: ID!): Boolean! isIPv6: Boolean! mask: String! interface: String! defaultDomain: Domain isMain: Boolean! isBroken: Boolean! onRepairMode: Boolean! isMissing: Boolean! resellersCount: Int! subscriptionsCount: Int! isBlacklisted: Boolean! ftpOverSSL: FtpOverSSLEnum! certificate: Certificate! domains(filter: IpAddressDomainFilterInput): [Domain!]! clients(filter: IpAddressClientsFilterInput): [Client!]! } enum IpAddressTypeEnum { SHARED EXCLUSIVE UNASSIGNED } enum FtpOverSSLEnum { DISABLED ENABLED REQUIRED CUSTOM } type Certificate { "ID of the object." id: ID! name: String! repositoryName: String ownerName: String } input IpAddressDomainFilterInput { "Client id. works only for admin role." clientId: ID } input IpAddressClientsFilterInput { type: [IpAddressClientEnum!] "Show clients available to assign to the ip address." unassigned: Boolean } enum IpAddressClientEnum { RESELLER CLIENT } type TrafficHistory { year: Int! month: String! trafficUsage: SafeInt! } """ `SafeInt` scalar type represents non-fractional signed whole numeric values, that can be used by ECMAScript. It represents values in range -(2^53 – 1) and (2^53 – 1). """ scalar SafeInt type ClientStatistics { trafficUsageIntervals: [TrafficUsageInterval!]! "List of ClientTrafficUsageByDomains nodes" trafficUsageByDomains(input: ClientTrafficUsageByDomainsListInput): ClientTrafficUsageByDomainsList! totalTrafficUsageByDomains(intervalKey: String, ownOnly: Boolean = false): ClientTotalTrafficUsageByDomains! "List of ClientTrafficUsageByClients nodes" trafficUsageByClients(input: ClientTrafficUsageByClientsListInput): ClientTrafficUsageByClientsList! "Total traffic usage of user clients" totalClientsTraffic(intervalKey: String, clientType: String): ClientTotalClientsTrafficUsage! } type TrafficUsageInterval { "Interval key. Format: Y-m. E.g. 2000-1" key: String! "Numeric representation of a month, without leading zeros. 1 through 12" month: Int! year: Int! "Formatted total usage by a client and the client's children in MB." formattedTotalUsage: String! } input ClientTrafficUsageByDomainsListInput { pagination: PaginationInput searchFilters: ClientTrafficUsageByDomainsListSearchFilters orderBy: ClientTrafficUsageByDomainsListSort intervalKey: String ownOnly: Boolean = false } input ClientTrafficUsageByDomainsListSearchFilters { domainName: String clientName: String } input ClientTrafficUsageByDomainsListSort { domainName: SortDirectionEnum clientName: SortDirectionEnum totalUsage: SortDirectionEnum subscriptionLimit: SortDirectionEnum subscriptionLimitRemaining: SortDirectionEnum subscriptionLimitUsagePercent: SortDirectionEnum } type ClientTrafficUsageByDomainsList { nodes: [ClientTrafficUsageByDomains!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type ClientTrafficUsageByDomains { domainId: Int! domainName: String! clientId: Int! clientName: String! totalUsageFormatted: String! subscriptionLimitFormatted: String! subscriptionLimitRemainingFormatted: String subscriptionLimitUsagePercent: Float } type ClientTotalTrafficUsageByDomains { totalUsageFormatted: String! isUnlimited: Boolean! limitFormatted: String! limitUsagePercent: Float } input ClientTrafficUsageByClientsListInput { pagination: PaginationInput searchFilters: ClientTrafficUsageByClientsListSearchFilters orderBy: ClientTrafficUsageByClientsListSort intervalKey: String clientTypes: [String!] } input ClientTrafficUsageByClientsListSearchFilters { clientName: String } input ClientTrafficUsageByClientsListSort { clientName: SortDirectionEnum totalUsage: SortDirectionEnum limit: SortDirectionEnum limitRemaining: SortDirectionEnum limitUsagePercent: SortDirectionEnum } type ClientTrafficUsageByClientsList { nodes: [ClientTrafficUsageByClients!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type ClientTrafficUsageByClients { clientId: Int! clientName: String! totalUsageFormatted: String! limitFormatted: String! limitRemainingFormatted: String limitUsagePercent: Float } type ClientTotalClientsTrafficUsage { usageFormatted: String! } input ResourceUsageListInput { pagination: PaginationInput searchFilters: ResourceUsageListSearchFilters orderBy: ResourceUsageListSort } input ResourceUsageListSearchFilters { search: String } input ResourceUsageListSort { domainName: SortDirectionEnum clientName: SortDirectionEnum diskUsage: SortDirectionEnum traffic: SortDirectionEnum subDomainsCount: SortDirectionEnum webUsersCount: SortDirectionEnum databasesCount: SortDirectionEnum mailBoxesCount: SortDirectionEnum autoRepliesCount: SortDirectionEnum mailForwardingsCount: SortDirectionEnum mailListsCount: SortDirectionEnum webUsage: SortDirectionEnum mailUsage: SortDirectionEnum databaseUsage: SortDirectionEnum logsUsage: SortDirectionEnum backupsUsage: SortDirectionEnum configsUsage: SortDirectionEnum anonFtpUsage: SortDirectionEnum } type ResourceUsageList { nodes: [ResourceUsage!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type ResourceUsage { "Domain id." domainId: ID! "Client name." clientName: String! "Domain name." domainName: String! "Web disk space usage, in bytes" webUsage: Float! "Mail disk space usage, in bytes" mailUsage: Float! "Database disk space usag, in bytes" databaseUsage: Float! "Logs disk space usage, in bytes" logsUsage: Float! "Backups disk space usage, in bytes" backupsUsage: Float! "Configs disk space usage, in bytes" configsUsage: Float! "Anonymous FTP disk space usage, in bytes" anonFtpUsage: Float! } type Backup { "List of BackupDump nodes" dumps(input: BackupDumpListInput): BackupDumpList! schedules: [BackupSchedule!]! } input BackupDumpListInput { pagination: PaginationInput orderBy: BackupDumpListSort } input BackupDumpListSort { date: SortDirectionEnum } type BackupDumpList { nodes: [BackupDump!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type BackupDump { id: String! status: String! dateString: String! } type BackupSchedule { type: BackupPeriodEnum! period: BackupPeriodEnum! dateString: String! isEnabled: Boolean! minutes: Int! hours: Int! day: Int! } enum BackupPeriodEnum { PERIOD_HOURLY PERIOD_EVERY_2_HOURS PERIOD_EVERY_3_HOURS PERIOD_EVERY_4_HOURS PERIOD_EVERY_6_HOURS PERIOD_EVERY_8_HOURS PERIOD_EVERY_12_HOURS PERIOD_DAILY PERIOD_WEEKLY PERIOD_MONTHLY PERIOD_YEARLY } type SysUser { login: String! "Disk space amount limit in MB" quota: Int shell: String! isShellForbidden: Boolean! } type DomainAlias implements Node { "ID of the object." id: ID! "Domain alias name." name(idn: Boolean = true): String! domain: Domain dnsZone: DnsZone isResolvable: Boolean! "Is DNS zone synchronized with the primary domain" dns: Boolean! "Is mail service enabled" mail: Boolean! "Is web service enabled" web: Boolean! "Is redirect with the HTTP 301 code enabled" seoRedirect: Boolean! } type DnsZone { isActive: Boolean! type: DnsZoneTypeEnum! name( "Dns zone name" idn: Boolean = true ): String! records(filter: DnsRecordFiler, orderBy: DnsRecordOrderBy): [DnsRecord!]! } enum DnsZoneTypeEnum { MASTER SLAVE } input DnsRecordFiler { type: [DnsRecordTypeEnum!] host: String } enum DnsRecordTypeEnum { NS A AAAA CNAME MX PTR TXT SRV AXFR DS CAA master none } input DnsRecordOrderBy { host: OrderDirectionTypeEnum value: OrderDirectionTypeEnum type: OrderDirectionTypeEnum } enum OrderDirectionTypeEnum { asc desc } type DnsRecord { host: String! value: String! type: DnsRecordTypeEnum! } type WebsitesDiagnosticCheckReport { type: WebsitesDiagnosticTypeEnum! "Execution timestamp" date: String! "Execution period in seconds" depth: Int! "Execution time in seconds" duration: Float! "Problems for domain" problems(filter: WebsitesDiagnosticCheckReportInput): [WebsitesDiagnosticProblem!]! } enum WebsitesDiagnosticTypeEnum { regular manual } input WebsitesDiagnosticCheckReportInput { code: String } type WebsitesDiagnosticProblem { "Symbolic code of the problem" code: String! "Text representation of the problem" name: String! "The root cause text" cause: String! "The description text" description: String! "Possible solutions texts" solutions: [WebsitesDiagnosticSolution!]! "Examples of errors from logs" examples: [WebsitesDiagnosticExample!]! "The data for the plot" plotItems: [WebsitesDiagnosticPlotItem!]! } type WebsitesDiagnosticSolution { title: String! text: String! } type WebsitesDiagnosticExample { "The full path to the log containing problem's line" path: String! "The content of the line" line: String! } type WebsitesDiagnosticPlotItem { "The rounded timestamp value" timestamp: String! "The problem rows count in logs" errorsCount: Int! "The requests count to the domain" requestsCount: Int! } type Hosting { "Returns hotlink protection settings. Windows specific" hotlinkProtection: HotlinkProtection! "Returns bandwidth limits and connection limits settings. Windows specific" performance: HostingPerformance! "Document root for the site" documentRoot: String! "Preferred domain" preferredDomain: String! "Has installed web applications" hasInstalledApplications: Boolean! "List of ProtectedDirectory nodes" protectedDirectories(input: ProtectedDirectoryListInput): ProtectedDirectoryList! "This field reflects the ability to configure isNonSsl and isCgiBin fields of a protected directory" isProtectedDirectoryLocationSupported: Boolean! "Virtual directory. Windows only" virtualDirectory(path: String!): VirtualDirectory! "Is the same directory for the content available over HTTP and HTTPS connections used" isSameSsl: Boolean! } type HotlinkProtection { isEnabled: Boolean! extensions: String! friends: [String!]! } type HostingPerformance { trafficBandwidth: Int! maxConnection: Int! } input ProtectedDirectoryListInput { pagination: PaginationInput searchFilters: ProtectedDirectoryListSearchFilters orderBy: ProtectedDirectoryListSort } input ProtectedDirectoryListSearchFilters { path: String } input ProtectedDirectoryListSort { path: SortDirectionEnum realm: SortDirectionEnum } type ProtectedDirectoryList { nodes: [ProtectedDirectory!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type ProtectedDirectory implements Node { "ID of the object." id: ID! path: String! realm: String! isNonSsl: Boolean! isCgiBin: Boolean! "List of ProtectedDirectoryUser nodes" users(input: ProtectedDirectoryUserListInput): ProtectedDirectoryUserList! } input ProtectedDirectoryUserListInput { pagination: PaginationInput searchFilters: ProtectedDirectoryUserListSearchFilters orderBy: ProtectedDirectoryUserListSort } input ProtectedDirectoryUserListSearchFilters { login: String } input ProtectedDirectoryUserListSort { login: SortDirectionEnum } type ProtectedDirectoryUserList { nodes: [ProtectedDirectoryUser!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type ProtectedDirectoryUser implements Node { "ID of the object." id: ID! login: String! } type VirtualDirectory { key: String! baseName: String! dirName: String webDirName: String! isVirtual: Boolean! doesExist: Boolean! isReadable: Boolean! isWritable: Boolean! isAccessible: Boolean! canManagePermissions: Boolean! phpVersion: PhpVersion! availablePhpVersions: [PhpVersion!]! "List of VirtualDirectoryContent nodes" content(input: VirtualDirectoryContentListInput): VirtualDirectoryContentList! "Directory properties. It is available only for virtual directories" properties: VirtualDirectoryProperties "Protected directory" protectedDirectory: ProtectedDirectory isValidForProtection: Boolean! "List of VirtualDirectoryMimeType nodes" mimeTypes(input: VirtualDirectoryMimeTypeListInput): VirtualDirectoryMimeTypeList! mimeType(extension: String!): VirtualDirectoryMimeType! "List of VirtualDirectoryErrorDoc nodes" errorDocs(input: VirtualDirectoryErrorDocListInput): VirtualDirectoryErrorDocList! errorDoc(code: String!): VirtualDirectoryErrorDoc! "Virtual directory parent. It is NULL for root." parent: VirtualDirectory } type PhpVersion { version: String! fullVersion: String! } input VirtualDirectoryContentListInput { pagination: PaginationInput searchFilters: VirtualDirectoryContentListSearchFilters orderBy: VirtualDirectoryContentListSort } input VirtualDirectoryContentListSearchFilters { name: String } input VirtualDirectoryContentListSort { isProtected: SortDirectionEnum name: SortDirectionEnum } type VirtualDirectoryContentList { nodes: [VirtualDirectoryContent!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type VirtualDirectoryContent { key: String! name: String! type: VirtualDirectoryContentTypeEnum! fileType: String! isReserved: Boolean! isProtected: Boolean! canManagePermissions: Boolean! doesExist: Boolean! baseName: String! dirName: String } enum VirtualDirectoryContentTypeEnum { FILE DIRECTORY VIRTUAL_DIRECTORY } type VirtualDirectoryProperties { isRoot: Boolean! isEditable: Boolean! name: String! path: String! accessSource: Boolean! accessRead: Boolean! accessWrite: Boolean! enableDirBrowsing: Boolean! dontLog: Boolean! appCreate: Boolean! scriptExecute: VirtualDirectoryScriptExecuteEnum! authAnonymous: Boolean! authNTLM: Boolean! requireSSL: Boolean! aspEnableParentPaths: Boolean! aspExecuteInMTA: Boolean! aspBufferingLimit: Int! aspBufferingLimitInherited: Boolean! "Value used if aspBufferingLimitInherited is true." aspBufferingLimitDefault: Int! aspMaxRequestEntityAllowed: Int! aspMaxRequestEntityAllowedInherited: Boolean! "Value used if aspMaxRequestEntityAllowedInherited is true." aspMaxRequestEntityAllowedDefault: Int! aspEnableServerDebug: Boolean! aspEnableServerDebugInherited: Boolean! "Value used if aspEnableServerDebugInherited is true." aspEnableServerDebugDefault: Boolean! aspEnableClientDebug: Boolean! aspEnableClientDebugInherited: Boolean! "Value used if aspEnableClientDebugInherited is true." aspEnableClientDebugDefault: Boolean! enableDefaultDoc: Boolean! defaultDocs: [String!]! } enum VirtualDirectoryScriptExecuteEnum { none script script_execute } input VirtualDirectoryMimeTypeListInput { pagination: PaginationInput searchFilters: VirtualDirectoryMimeTypeListSearchFilters orderBy: VirtualDirectoryMimeTypeListSort } input VirtualDirectoryMimeTypeListSearchFilters { extension: String } input VirtualDirectoryMimeTypeListSort { extension: SortDirectionEnum content: SortDirectionEnum } type VirtualDirectoryMimeTypeList { nodes: [VirtualDirectoryMimeType!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type VirtualDirectoryMimeType { extension: String! content: String! } input VirtualDirectoryErrorDocListInput { pagination: PaginationInput searchFilters: VirtualDirectoryErrorDocListSearchFilters orderBy: VirtualDirectoryErrorDocListSort } input VirtualDirectoryErrorDocListSearchFilters { search: String } input VirtualDirectoryErrorDocListSort { code: SortDirectionEnum name: SortDirectionEnum type: SortDirectionEnum location: SortDirectionEnum } type VirtualDirectoryErrorDocList { nodes: [VirtualDirectoryErrorDoc!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type VirtualDirectoryErrorDoc { code: String! name: String! type: String! location: String! } type Forwarding { "Code of forwarding type" code: String! "Address for forwarding visitor" redirect: String! } input OdbcDsnConnectionListInput { pagination: PaginationInput searchFilters: OdbcDsnConnectionListSearchFilters orderBy: OdbcDsnConnectionListSort } input OdbcDsnConnectionListSearchFilters { name: String } input OdbcDsnConnectionListSort { name: SortDirectionEnum description: SortDirectionEnum driver: SortDirectionEnum configured: SortDirectionEnum domainName: SortDirectionEnum } type OdbcDsnConnectionList { nodes: [OdbcDsnConnection!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type OdbcDsnConnection implements Node { "ID of the object." id: ID! name: String! description: String! driver: String! driverType: String! configured: Boolean isSystem: Boolean! domainName: String parameters: [OdbcDsnConnectionParameter!]! } type OdbcDsnConnectionParameter { key: String! keyHuman: String! isRequired: Boolean! fieldType: String! value: String! values: [String!] } type SecuritySettings { ssl: Boolean! sslRedirect: Boolean! certificateId: Int availableCertificates: [SecurityCertificate!]! } type SecurityCertificate { id: Int! name: String! repository: String } type WebScriptingSettings { ssi: Boolean ssiHtml: Boolean cgi: Boolean cgiMode: CgiModeEnum fastcgi: Boolean perl: Boolean python: Boolean asp: Boolean aspDotNet: Boolean errorDocs: Boolean writeModify: Boolean webDeploy: Boolean php: Boolean } enum CgiModeEnum { WWW_ROOT WEBSPACE OLD_STYLE } type WebstatSettings { webstat: String! webstatProtected: Boolean! } type DomainStatistics { trafficUsageIntervals: [TrafficUsageInterval!]! trafficUsage(intervalKey: String): DomainTrafficUsage! } type DomainTrafficUsage { totalUsageFormatted: String! "Percentage of domain traffic usage relative to subscription limit" limitUsagePercent: Float usageByServices: [DomainTrafficUsageByService!]! } type DomainTrafficUsageByService { serviceName: String! usage: Float! usageFormatted: String! incoming: Float! incomingFormatted: String! outgoing: Float! outgoingFormatted: String! percentOfAll: Float! } input DatabaseServerReleaseInput { "Release ID" releaseId: String } "The database server release object." type DatabaseServerRelease { "Release id." id: String! "Database server's name." name: String! "Database server's version." version: String! "New features of release." features: String! "The link to release notes." releaseNotesLink: String! "Release date." releaseDate: String! "End of life date." endOfLifeDate: String! "Return version compatibility check result" preUpgradeChecker: DatabaseServerPreUpgradeChecker! } "The pre-upgrade database server checker object." type DatabaseServerPreUpgradeChecker { "The removed system variables." removedSystemVariables: [RemovedSystemVariable!]! "The removed config files." removedConfigFiles: [String!]! "Check consistency result." checkConsistency: Boolean! "System package manager configuration check result." checkPackageManager: Boolean! checkSystemCompatibility: Boolean! } type RemovedSystemVariable { variable: String! files: [String!]! } type DatabaseServerBackupSettings { tempDir: String! networkTempDir: String! networkUser: String! networkPassword: String! } type Dns { extensions: [DnsExtension!]! @deprecated(reason: "This is not a stable API and will be changed soon.") registrars: [DnsRegistrar!]! @deprecated(reason: "This is not a stable API and will be changed soon.") supportedRecordTypes: [DnsRecordTypeEnum!]! template: DnsTemplate! } type DnsExtension { name: String! url: String! } type DnsRegistrar { name: String! url: String! } type DnsTemplate { isEnabled: Boolean! records(filter: DnsTemplateRecordFilterInput): [DnsRecordTemplate!]! templateNotSynchronized: Boolean! soaTemplateNotSynchronized: Boolean! isExternalDnsEnabled: Boolean! soaRecord: DnsSoaRecordTemplate! } input DnsTemplateRecordFilterInput { type: [DnsRecordTypeEnum!] } type DnsRecordTemplate implements Node { "ID of the object." id: ID! type: DnsRecordTypeEnum! ttl: Int host: String displayHost: String val: String displayVal: String opt: String domainName: String } type DnsSoaRecordTemplate { mname: String ttl: DnsSoaRecordTemplateValue! refresh: DnsSoaRecordTemplateValue! retry: DnsSoaRecordTemplateValue! expire: DnsSoaRecordTemplateValue! minimum: DnsSoaRecordTemplateValue! serialNumberFormat: DnsZoneSerialNumberFormatEnum! rnameType: DnsZoneRnameTypeEnum rnameDomain: String rnameExternal: String rnameEnforce: Boolean } type DnsSoaRecordTemplateValue { value: Int! unit: DnsSoaUnitEnum! } enum DnsSoaUnitEnum { SECONDS MINUTES HOURS DAYS WEEKS } enum DnsZoneSerialNumberFormatEnum { YYYYMMDDNN UNIXTIMESTAMP } enum DnsZoneRnameTypeEnum { OWNER DOMAIN EXTERNAL } type Locale { code: String! isRtl: Boolean! name: String! } type LoginContentInclude { headContent: String! bodyContent: String! } type Mode { isLicenseLocked: Boolean! isLicenseDefault: Boolean! isLicenseDeveloper: Boolean! isPowerUserPanel: Boolean! isViewSwitcherAllowed: Boolean! isMailBounceHidden: Boolean! isDnsServiceSupported: Boolean! isClassicPanel: Boolean! isSimplePanel: Boolean! isSimplePanelLocked: Boolean! isSimplePanelAllowed: Boolean! isDemo: Boolean! canManageResellers: Boolean! canManageCustomers: Boolean! isPumAllowed: Boolean! isMailServiceSupported: Boolean! isFail2banAllowed: Boolean! } type Notification { expirationWarningTime: Int! emailSettings(code: String): [NotificationEmailSetting!]! panel: NotificationPanel! } type NotificationEmailSetting { code: String! title: String! sendToAdmin: Boolean! sendToReseller: Boolean! sendToClient: Boolean! sendToEmail: Boolean! email: String! emailSubject: String! emailDefaultSubject: String! emailText: String! emailDefaultText: String! } type NotificationPanel { settings: NotificationPanelSettings! templates: [NotificationPanelTemplate!]! } type NotificationPanelSettings { storagePeriod: Int! } type NotificationPanelTemplate { code: String! title: String! context: String! type: String! sendToAdmin: Boolean! } type Os { isWindows: Boolean! isUnix: Boolean! isIPv6Supported: Boolean! name: String! } type MassEmail { "Fetches a mass email template given its ID." template( "ID of the template." id: ID! ): MassEmailTemplate! "Fetches a mass email template resellers given template ID." templateResellers( "ID of the template." templateId: Int! ): MassEmailTemplateContacts! "Fetches a mass email template clients given template ID." templateClients( "ID of the template." templateId: Int! ): MassEmailTemplateContacts! "List of MassEmailTemplate nodes" templates(input: MassEmailTemplateListInput): MassEmailTemplateList! } type MassEmailTemplate { templateId: Int! name: String! fromEmail: String! sendToAdmins: Boolean! sendToResellers: Boolean! sendToResellersMode: MassEmailTemplateSendModeEnum! sendToClients: Boolean! sendToClientsMode: MassEmailTemplateSendModeEnum! subject: String! body: String! created: Int! } enum MassEmailTemplateSendModeEnum { all select except } type MassEmailTemplateContacts { contacts: [Client!]! } input MassEmailTemplateListInput { pagination: PaginationInput searchFilters: MassEmailTemplateListSearchFilters orderBy: MassEmailTemplateListSort } input MassEmailTemplateListSearchFilters { query: String } input MassEmailTemplateListSort { name: SortDirectionEnum subject: SortDirectionEnum created: SortDirectionEnum fromEmail: SortDirectionEnum } type MassEmailTemplateList { nodes: [MassEmailTemplate!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type PasswordEstimation { level: Int! suggestions: [String!]! } "The php handler object." type PhpHandler { "Php handler's id." id: String! "Php handler's version." version: String! "Php handler's name." name: String! "Php handler's CLI path." cliPath: String! "Php handler's CLI path." isOutdated: Boolean! phpExtensions: [PhpExtension!]! installablePhpExtensions: [InstallablePhpExtension!]! "PHP handlers that share the same CLI path or php.ini file." affectedHandlers: [PhpHandler!]! } "The php extension object." type PhpExtension { "Php extensions's name." name: String! "Php extensions's status." enabled: Boolean! } "The php extension object." type InstallablePhpExtension { "Php extensions's name." package: String! "Php extensions's the latest version." latestVersion: String! "Php extensions's installed version." installedVersion: String "Php extensions's description." description: String } type PrimaryKey { pleskKeyId: String editionName: String keyRemoteDb: Boolean! keyDrWeb: Boolean! keyQmailQueue: Boolean! keyShell: Boolean! keyTraffic: Boolean! potentialProblems: [String!] properties: [LicenseKeyProperty!] revertKey: PrimaryKey } type Promo { title: String! buttonUrl: String! buttonText: String! buttonTarget: String! hideUrl: String! hideText: String! text: String! iconUrl: String! } type Server { allowedByKeyDatabaseServerTypes: [DatabaseServerTypeEnum!]! "ASP.NET settings" aspNetSettings: AspNetSettings! "Server components" components: [ServerComponent!]! "Server information" information: ServerInformation "Firewall settings. Windows specific" firewall: Firewall defaultIpAddress: IpAddress "List of IpAddress nodes" ipAddresses(input: IpAddressListInput): IpAddressList! "List of OdbcDsnConnection nodes" odbcDsnConnections(input: OdbcDsnConnectionListInput): OdbcDsnConnectionList! settings: ServerSettings! websitePreviewSettings: WebsitePreviewSettings! websitesDiagnostic: WebsitesDiagnostic! securitySettingsPreset: SecuritySettingsPreset! isSitebuilderAvailable: Boolean! ipBan: IpBan! productVersion: ProductVersion! productUpdates: ProductUpdates! pum: Pum } type ServerComponent { name: String! version: String! depends: String dependsType: String providesType: String configured: Boolean isConfigurable: Boolean allowedByLicense: Boolean description: String state: String isInstalled: Boolean error: String parameters: [ServerComponentParameter] status: String componentTypeInfo: ServerComponentTypeInfo categoryInfo: ServerComponentCategoryInfo } type ServerComponentParameter { name: String! type: String! required: Boolean! label: String! description: String! disabled: Boolean! disableReason: String! value: String! enum: [String] hideGenerateButton: Boolean } type ServerComponentTypeInfo { name: String! required: Boolean! default: String! packagesCount: Int! } type ServerComponentCategoryInfo { name: String! isConfigurable: Boolean! } type ServerInformation { cpu: String! cpuCores: Int "Server uptime, seconds" sysUptime: Int loadAverage: ServerInformationLoadAverage! "Physical memory (RAM), bytes" memory: ServerInformationMemory! "Virtual (Swap) memory, bytes" swap: ServerInformationSwap! sysDiskSpace: [ServerInformationDiskSpace!]! domains: ServerInformationDomains! } type ServerInformationLoadAverage { last1min: String last5min: String last15min: String } type ServerInformationMemory { free: Float total: Float! used: Float! available: Float buffer: Float cached: Float shared: Float hardware: Float } type ServerInformationSwap { free: Float! total: Float! used: Float! } type ServerInformationDiskSpace { directory: String! total: Float! used: Float! available: Float! protectedDirectories: [String!]! } type ServerInformationDomains { active: Int! inactive: Int! problems: Int! } type Firewall { isEnabled: Boolean! interfaces: [FirewallInterface!]! icmpRules: [FirewallIcmpRule!]! rules: [FirewallRule!]! } type FirewallInterface { key: String! name: String! type: String! isEnabled: Boolean! isConnected: Boolean! } type FirewallIcmpRule { key: String! isEnabled: Boolean! } type FirewallRule { key: String! name: String! isEnabled: Boolean! action: FirewallRuleActionEnum! protocol: FirewallRuleProtocolEnum! port: String! profiles: [FirewallRuleProfileEnum!]! remoteAddresses: [String!]! isReadonly: Boolean! } enum FirewallRuleActionEnum { ALLOW BLOCK } enum FirewallRuleProtocolEnum { TCP UDP } enum FirewallRuleProfileEnum { DOMAIN PRIVATE PUBLIC } input IpAddressListInput { pagination: PaginationInput searchFilters: IpAddressListSearchFilters orderBy: IpAddressListSort } input IpAddressListSearchFilters { ipAddress: String type: IpAddressTypeEnum } input IpAddressListSort { ipAddress: SortDirectionEnum publicIpAddress: SortDirectionEnum interface: SortDirectionEnum resellersCount: SortDirectionEnum subscriptionsCount: SortDirectionEnum type: SortDirectionEnum } type IpAddressList { nodes: [IpAddress!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! canReloadPublic: Boolean! hasPublicIp: Boolean! interfaces: [String]! isPoolEditable(clientId: ID): Boolean! } "Data for server settings page" type ServerSettings { forbidSysUserRename: String! disableIpLogging: Boolean forbidCreateDnsSubZone: Boolean forbidSubscriptionRename: Boolean! fullHostName: String! includeAdminDumps: Boolean! includeDatabases: Boolean includeDomainDumps: Boolean! includeLogs: Boolean! includeMailLists: Boolean includeMailboxes: Boolean includeMssqlDatabases: Boolean includePgsqlDatabases: Boolean includeMysqlDatabases: Boolean includeRemoteDatabases: Boolean! logrotateAnonymizeIps: Boolean logrotateForce: Boolean! logrotatePeriod: String! preferredDomain: String! sizeCountType: String trafficAccounting: String! trafficStatisticsPeriod: String! webDeployIncludePassword: Boolean ftpOverSSL: FtpOverSSLEnum! isIPv6Supported: Boolean! forbidFtpUserRename: String! } type WebsitePreviewSettings { domain: Domain type: PreviewDomainTypeEnum! domainName: String protection: Boolean } enum PreviewDomainTypeEnum { QUICK INTERNAL EXTERNAL DISABLED } type WebsitesDiagnostic { "Regular check's settings" settings: WebsitesDiagnosticSettings! "List of all checked domains by both types of checking" domains(filter: WebsitesDiagnosticDomainFilterInput): [Domain!]! } "The regular check's settings" type WebsitesDiagnosticSettings { "The regular's check run time" date: String "The server's timezone offset in hours" timezoneOffset: Int "If the regular check is enabled" isRegularCheckEnabled: Boolean! "If the promo block is visible" isPromoShown: Boolean! "If a new created domain will be checked" isNewDomainsChecked: Boolean! "The list of domains for the check" checkedDomains: [Domain!]! "The list of excluded domains from the check" skippedDomains: [Domain!]! documentationLink: String "The duration of the last regular check in seconds" lastCheckDuration: Float } input WebsitesDiagnosticDomainFilterInput { domainId: ID } type SecuritySettingsPreset { ssl: String! sslRedirect: String! perl: String! python: String! writeModify: String! webDeploy: String! cgi: String! fastcgi: String! ssi: String! asp: String! aspDotNet: String! errorDocs: String! webstat: String! shell: String! } type IpBan { bannedIpsCount: Int! trustedIpsCount: Int! } type ProductVersion { name: String! version: String! build: String! revision: String! patch: String os: String! osVersion: String! } type ProductUpdates { availableVersion: String availablePatch: String lastUpdateDate: String lastCheckDate: String isAutoupdateEnabled: Boolean! installingUpdatesTaskId: Int changeLogUrl: String! changeLogFeed: [ChangeLogFeedItem!]! } type ChangeLogFeedItem { product: String! title: String! date: String! version: String! url: String! isPatch: Boolean! } type Pum { lastCheckDate: String "List of PumPackageUpdate nodes" updates(input: PumPackageUpdateListInput): PumPackageUpdateList! installingUpdatesTaskId: Int } input PumPackageUpdateListInput { pagination: PaginationInput orderBy: PumPackageUpdateListSort } input PumPackageUpdateListSort { name: SortDirectionEnum } type PumPackageUpdateList { nodes: [PumPackageUpdate!]! pageInfo: ListPageInfo! sortInfo: ListSortInfo! } type PumPackageUpdate { name: String! currentVersion: String! availableVersion: String! summary: String! isLocked: Boolean! } "The server info object." type ServerInfo { cloudType: String! isFirstLogin: Boolean! isVirtuozzo: Boolean! } type ServerMail { "Available antivirus options. Unix specific" antivirus: [ServerMailAntivirus!]! "Antivirus policy. Windows specific" antivirusPolicy: ServerMailAntivirusPolicy autodiscover: ServerMailAutodiscover blackList: [ServerMailListItem!]! isMailUiEnabled: Boolean! outgoingMessages: ServerMailOutgoingMessages relay: ServerMailRelay settings: ServerMailSettings spamAssassin: ServerMailSpamAssassin! spamFilter: ServerMailSpamFilter whiteList: [ServerMailListItem!]! "Available premium antivirus extensions" availableAntivirusExtensions: [ServerMailAntivirusExtension!]! queue: MailQueue smarthost: Smarthost! } type ServerMailAntivirus { key: String! name: String! isActive: Boolean! } type ServerMailAntivirusPolicy { policy: String! isAppliedToIncoming: Boolean isAppliedToOutgoing: Boolean } type ServerMailAutodiscover { isEnabled: Boolean! isDnsEnabled: Boolean! customServer: String! } type ServerMailListItem { "ID of the object." id: ID! name: String! action: ServerMailBlackListActionEnum } enum ServerMailBlackListActionEnum { DELETE SPAM } type ServerMailOutgoingMessages { isEnabled: Boolean! isCountRecipientsEnabled: Boolean mailboxLimit: Int domainLimit: Int subscriptionLimit: Int isSendmailEnabled: Boolean reportPeriod: String notificationPeriod: String allowedReportPeriods: [String!]! allowedNotificationPeriods: [String!]! } type ServerMailRelay { type: String! isPopAuthEnabled: Boolean! lockTime: Int! isSmtpAuthEnabled: Boolean! noRelayNetworks: [String!] isOpenRelayAllowed: Boolean! } type ServerMailSettings { mailServerName: String! imapServerName: String! maxMessageSize: Float maxConnections: Float maxConnectionsPerIp: Float isMessageSubmissionEnabled: Boolean messageSubmissionIp: IpAddress outgoingEmailMode: String outgoingEmailModeIps: [IpAddress!] isEmailSubaddressingEnabled: Boolean isMboxQuotaWarningEnabled: Boolean isFixSenderEnabled: Boolean isListSecureLinksEnabled: Boolean hasLocalhostRelayingAddressesIpV4: Boolean hasLocalhostRelayingAddressesIpV6: Boolean autoReplyHeaders: [ServerMailAutoreplyHeader!] isShortPop3NameEnabled: Boolean } type ServerMailAutoreplyHeader { name: String! value: String! } type ServerMailSpamAssassin { settings: ServerMailSpamAssassinSettings blackList: [ServerMailSpamAssassinListItem!]! whiteList: [ServerMailSpamAssassinListItem!]! } type ServerMailSpamAssassinSettings { isEnabled: Boolean isUserSettingsEnabled: Boolean! isUserSettingsAllowed: Boolean isGreylistingProtectionEnabled: Boolean requiredHits: Float maxMailLimit: Int maxThreadsLimit: Int maxChildren: Int maxChildrenLimit: Int tag: String! alarmMessage: String languages: [ServerMailSpamAssassinTrustedItem!]! locales: [ServerMailSpamAssassinTrustedItem!]! } type ServerMailSpamAssassinTrustedItem { key: String! name: String! isTrusted: Boolean! } type ServerMailSpamAssassinListItem { id: String! name: String! level: Int! status: Boolean! } type ServerMailSpamFilter { isDmarcEnabled: Boolean isSigningOutgoingMailEnabled: Boolean isVerifyingIncomingMailEnabled: Boolean isRblEnabled: Boolean rblServer: String isSpfEnabled: Boolean isErrorIgnored: Boolean behavior: Int localRules: String guessRules: String explanationText: String } type ServerMailAntivirusExtension { name: String! isInstalled: Boolean! isRecommended: Boolean! catalogUrl: String! code: String! } type MailQueue { total: Int! deferred: Int! hold: Int! } type Smarthost { smarthostEncryptionOptions: [String!]! isServerEnabled: Boolean! host: String! port: Int! isAuthenticationRequired: Boolean! username: String! encryption: String } type Site { id: ID! displayName: String! card: SiteCard! isActive: Boolean! isSuspended: Boolean! domain: Domain! siteUrl: String! isAlias: Boolean! headerCustomButtons: [CustomButton!]! isRecalculateInProgress: Boolean! isMovable: Boolean! movingError: String descriptions: [SiteDescription!]! icp: SiteIcp } type SiteCard { id: ID! screenshotUrl: String previewUrl: String customTabs: [SiteExtensionTab!]! customTitle: String customSidebar: [SiteExtensionSidebar!]! buttons: [SiteButton!]! showGetStartedByDefault: Boolean! services: [SiteService!]! } type SiteExtensionTab { id: ID! extensionId: ID! title: String! content: String! order: Int default: Boolean } type SiteExtensionSidebar { id: ID! content: String! } type SiteButton { id: ID! icon: String title: String label: String description: String href: String target: String handler: String comment: String additionalComments: [String!] intent: String noEscape: Boolean noEscapeTitle: Boolean section: String order: Int tooltip: [String!] } type SiteService { name: DomainAliasServiceEnum! enabled: Boolean! hasWarning: Boolean! description: String! } enum DomainAliasServiceEnum { DNS MAIL WEB SEO_REDIRECT } type CustomButton { id: ID! title: String! description: String! href: String! image: String! target: String! } type SiteDescription { type: String! description: String! own: Boolean! } type SiteIcp { status: Boolean! permit: String } type SystemTime { year: Int! month: Int! day: Int! hours: Int! minutes: Int! seconds: Int! timezone: String! timezones: [Timezone!]! isDaylightSavingChangeEnabled: Boolean! isSynchronizeSupported: Boolean! isSynchronizeEnabled: Boolean! synchronizedWith: String! } type Timezone { name: String! value: String! daylightEnabled: Boolean! } enum TaskStatusEnum { NEW CLAIMED PROCESSING SUCCESS FAILURE RETRIABLE_FAILURE } type TaskList { list: [Task!]! total: Int! summary: [TaskSummary!]! } type Task { id: ID! requestorId: String! cmd: [String!]! status: TaskStatusEnum! description: String! concurrencyRules: [String!] timeout: Int env: [TaskEnv!]! created: String! updated: String! } type TaskEnv { key: String! value: String! } type TaskSummary { status: TaskStatusEnum! count: Int! } type TsSession { id: ID! name: String! user: String! state: TsSessionStateEnum! info: [NameValue!]! } enum TsSessionStateEnum { Active Connected Disconnected Down Listen ConnectQuery Shadow Idle Reset Init } type User { branding: Branding! "Client object" client: Client "Title of Plesk pages" customTitle: String! "Is user additional administrator account?" isAdminAlias: Boolean! "User login" login: String logo: UserLogo! mobileApplicationPromotion: MobileApplicationPromotion permissions: UserPermissions! "User personal name" pname: String! resolvableHostname: String "User type" type: UserTypeEnum! "Is somebody impersonated" isSmbImpersonated: Boolean! "Summary report layouts" summaryReportLayouts: [SummaryReportLayout!]! statistics: UserStatistics! "Custom background" background: CustomBackground "Home configuration" home: Home! "Pages configuration" navigation: Navigation! "List of customers" customers: [Client!]! "List of resellers" resellers: [Client!]! "Returns virtual host template" virtualHostTemplate: VirtualHostTemplate! } type Branding { customTitle: String logo: Logo customFavicon: Boolean! background: CustomBackground } type Logo { id: ID! name: String fake: String url: String } type CustomBackground { file: String color: String fit: String } type UserLogo { isCustom: Boolean! image: String! imageAlt: String! url: String edition: String } type MobileApplicationPromotion { name: String! icon: String! url: String! } type UserPermissions { manageServerDb: Boolean! manageServerBranding: Boolean! manageServerLanguages: Boolean! manageServerLicense: Boolean! manageServerUi: Boolean! manageServerMail: Boolean! manageServerMailAutodiscover: Boolean! manageServerVirusProtection: Boolean! manageServerSpamFilter: Boolean! manageServerMaillist: Boolean! manageServerMailBlackWhiteLists: Boolean! manageServerFirewall: Boolean! manageServerComponents: Boolean! manageServerDnsTemplate: Boolean! manageServerPhp: Boolean! manageServerNotifications: Boolean! manageServerSessions: Boolean! manageAspNetSettings: Boolean! createDomains: Boolean! manageServerSettings: Boolean! manageServerUpdates: Boolean! manageServerInfo: Boolean! manageServerBackup: Boolean! manageServerTroubleshootingEnable: Boolean! manageServerCustomButtons: Boolean! manageServerSkeleton: Boolean! manageMailSettings: Boolean! manageServerDomainTrafficReport: Boolean! manageServerSummaryReport: Boolean! } enum UserTypeEnum { ADMIN RESELLER CLIENT SERVICE_USER MAIL_USER UNDEFINED } type SummaryReportLayout implements Node { "ID of the object." id: ID! name: String! isDefault: Boolean! general: SummaryReportLayoutVariantEnum! resellers: SummaryReportLayoutVariantEnum clients: SummaryReportLayoutVariantEnum personalClients: SummaryReportLayoutVariantEnum domains: SummaryReportLayoutVariantEnum! personalDomains: SummaryReportLayoutVariantEnum! data: SummaryReportData! schedules: [SummaryReportSchedule!]! } enum SummaryReportLayoutVariantEnum { FULL SUMMARY NONE } type SummaryReportData { general: SummaryReportGeneral resellers: SummaryReportResellers clients: SummaryReportClients personalClients: SummaryReportClients domains: SummaryReportDomains personalDomains: SummaryReportDomains } type SummaryReportGeneral { version: String build: String cname: String pname: String login: String ownerPname: String ownerLogin: String phone: String fax: String email: String addr: String city: String state: String pcode: String country: String creationDate: String description: String } type SummaryReportResellers { resellers: Int activeResellers: Int resellersList: [SummaryReportReseller!]! } type SummaryReportReseller { id: String resProblem: Boolean resStatus: String resPname: String resCrDate: SafeInt resActiveClients: Int resClients: Int resDiskSpace: SafeInt resTraffic: SafeInt resActiveDomains: Int resDomains: Int resSubdomains: Int resPostboxes: Int resMailGroups: Int resMailResps: Int resMailLists: Int resWebUsers: Int resDataBases: Int resMssqlDataBases: Int resPgsqlDataBases: Int } type SummaryReportClients { clients: Int activeClients: Int clientsList: [SummaryReportClient!]! } type SummaryReportClient { id: String clProblem: Boolean clStatus: String clPname: String clOwner: String clCrDate: SafeInt clDiskSpace: SafeInt clTraffic: SafeInt clActiveDomains: Int clDomains: Int clSubdomains: Int clPostboxes: Int clMailGroups: Int clMailResps: Int clMailLists: Int clWebUsers: Int clDataBases: Int clMssqlDataBases: Int clPgsqlDataBases: Int } type SummaryReportDomains { diskSpace: SafeInt traffic: SafeInt activeDomains: Int domains: Int subdomains: Int postboxes: Int mailGroups: Int mailResps: Int mailLists: Int webUsers: Int dataBases: Int mssqlDataBases: Int pgsqlDataBases: Int sitebuilderSites: Int domainsList: [SummaryReportDomain] } type SummaryReportDomain { id: String domStatus: String domHtype: String domName: String domOwner: String domCrDate: SafeInt domDiskSpace: SafeInt domTraffic: SafeInt domSubdomains: Int domPostboxes: Int domMailGroups: Int domMailResps: Int domMailLists: Int domWebUsers: Int domDataBases: Int domMssqlDataBases: Int domPgsqlDataBases: Int } type SummaryReportSchedule implements Node { "ID of the object." id: ID! isEnabled: Boolean! period: PeriodUnitEnum lastSentDate: String email: String } type UserStatistics { customers: Int resellers: Int domains: Int! subscriptions: Int! servicePlans: Int } type Home { layout: [[String!]!]! extensions: [HomeBlock!]! extensionBlockContent(filter: HomeBlockFilterInput!): AsyncHomeBlockContent! sections: [HomeSection!]! locked: Boolean! showPuvPromo: Boolean! customButtons: [CustomButton!]! systemMessages: [SystemMessage!]! feedbackURL: String } type HomeBlock { name: ID! title: String! icon: String! content: String footer: String async: Boolean! skeletonSize: Int! } input HomeBlockFilterInput { name: ID! } type AsyncHomeBlockContent { content: String! footer: String! } type HomeSection { name: String! blocks: [HomeSectionBlock!]! } type HomeSectionBlock { name: ID! enabled: Boolean! title: String icon: String } type SystemMessage { key: SystemMessageKeyEnum! type: SystemMessageTypeEnum! content: String isHideable: Boolean! component: String params: String } enum SystemMessageKeyEnum { upgradeFailureNotification webserverConfigurationFailure activeStateComponentsMessage backEncryptionRequiredMessage dnsSyncSkipMessage firewallRulesUpdatedMessage passwordIsNotSecureMessage ruleSetUpdateFailedMessage siteIsolationConfigMessage } enum SystemMessageTypeEnum { ERROR WARNING } type Navigation { sitesListConfig: SitesListConfig! } type SitesListConfig { initContent: String customColumns: [ExtensionColumn!]! showFavicons: Boolean! isExpandable: Boolean! tourStep: String } type ExtensionColumn { key: ID! extensionId: ID! title: String order: String sortable: Boolean sort: String className: String } type VirtualHostTemplate { supportedArchiveTypes: [String!]! files(path: String): [VirtualHostTemplateFile!] } type VirtualHostTemplateFile { name: String! type: String! sizeInBytes: Int permissions: String modified: Int user: String group: String } type SearchResult { title: String! link: String! details: String icon: String target: String } type DsnManager { "The list of drivers which are available for ODBC DSN connection creation." drivers: [String!]! } type IisManager { "The list of known MIME content types." mimeContentTypes: [String!]! } type Extension implements Node { "ID of the object." id: ID! name: String isActive: Boolean } type EmailStatistics { spamSummary(from: String!, to: String!): EmailStatisticsSummary! virusSummary(from: String!, to: String!): EmailStatisticsSummary! spamRecipients(from: String!, to: String!, pagination: PaginationInput!, orderBy: EmailStatisticsRecipientsSortingInput!): EmailStatisticsRecipients! virusRecipients(from: String!, to: String!, pagination: PaginationInput!, orderBy: EmailStatisticsRecipientsSortingInput!): EmailStatisticsRecipients! viruses(from: String!, to: String!, pagination: PaginationInput!, orderBy: EmailStatisticsVirusesSortingInput!): EmailStatisticsViruses! } type EmailStatisticsSummary { clean: Int! infected: Int! protected: Int! skipped: Int! } input EmailStatisticsRecipientsSortingInput { email: SortDirectionEnum count: SortDirectionEnum } type EmailStatisticsRecipients { rows: [EmailStatisticsRecipient!]! totalRows: Int! } type EmailStatisticsRecipient { email: String! count: Int! ratio: Float! } input EmailStatisticsVirusesSortingInput { name: SortDirectionEnum count: SortDirectionEnum } type EmailStatisticsViruses { rows: [EmailStatisticsVirus!]! totalRows: Int! } type EmailStatisticsVirus { name: String! count: Int! ratio: Float! } type MailAccountConfiguration { "Domain ID" domainId: Int! "Mail user name." userName: String! "FQDN of the mail server." incomingServer: String! "FQDN of the mail server." outgoingServer: String! "List of the supported retrieval protocols." incomingProtocols: String! "List of the supported submission protocols." outgoingProtocols: String! "Shows whether the warning about SSL certificate errors should be displayed." hideSslNote: Boolean! "Shows whether the mail server requires authentication." smtpAuth: Boolean! "Shows whether the certificate on the mail server is valid." isValidCertificate: Boolean! "Shows whether the domain's zone has all required SRV records. This is an expensive call." hasSrvRecords: Boolean! "Shows whether the mail autodiscovery is enabled or reason why it cannot be enabled." autodiscovery: AutodiscoveryStatusEnum! "Link for the iOS clients configuration." iosLink: String! "Link for configuration mail clients for end user." clientsConfiguratorLink: String! "Shows whether the mail server has a certificate assigned." hasCertificate: Boolean! "Recommended POP3 port based on the SSL support status." pop3Port: Int! "Recommended IMAP port based on the SSL support status." imapPort: Int! "Recommended SMTP port based on the SSL support status." smtpPort: Int! "Forms rendered by extension hooks." form: EmbeddedForms! "Custom instructions defined in the email_client_configuration_instructions.md" customInstructions: String } enum AutodiscoveryStatusEnum { ENABLED DISABLED DISABLED_GLOBALLY DISABLED_NO_HOSTING DISABLED_IN_SERVICE_PLAN } type EmbeddedForms { id: ID! embeddedForms: [EmbeddedForm!]! } type EmbeddedForm { ext: ID! name: String! title: String! icon: String description: String! content: String } type Mutation { "Add black listed domain" addBlackListedDomain(input: AddBlackListedDomainInput!): AddBlackListedDomainPayload! "Add ODBC DSN connection" addOdbcDsnConnection(input: AddOdbcDsnConnectionInput!): AddOdbcDsnConnectionPayload! "Add protected directory" addProtectedDirectory(domainId: ID!, input: ProtectedDirectoryInput!): AddProtectedDirectoryPayload! "Add protected directory user" addProtectedDirectoryUser(input: AddProtectedDirectoryUserInput!): AddProtectedDirectoryUserPayload! "Add white listed network" addWhiteListedNetwork(input: AddWhiteListedNetworkInput!): AddWhiteListedNetworkPayload! "Change database server administrator's password" changeDatabaseServerPassword(input: ChangeDatabaseServerPasswordInput!): ChangeDatabaseServerPasswordPayload! "Reassigning subscriptions to new owner" changeSubscriptionsOwner(input: ChangeSubscriptionsOwnerInput!): ChangeSubscriptionsOwnerPayload! "Test the DNS zone on the name server." checkDnsZone(id: ID!, recordId: ID!): CheckDnsZonePayload! "Clear action log" clearActionLog(input: ClearActionLogInput!): ClearActionLogPayload! "Clears nginx cache of domain" clearDomainCache(id: ID!): Boolean "Use default settings for DNS Zone." createDnsZoneDefaultSoaRecord(id: ID!): CreateDnsZoneDefaultSoaRecordPayload! "Create virtual directory MIME type" createVirtualDirectoryMimeType(domainId: ID!, path: String!, input: CreateVirtualDirectoryMimeTypeInput!): CreateVirtualDirectoryMimeTypePayload! "Create virtual directory" createVirtualDirectory(domainId: ID!, path: String!, input: CreateVirtualDirectoryInput!): CreateVirtualDirectoryPayload! "Delete additional key" deleteAdditionalKey(input: DeleteAdditionalKeyInput!): DeleteAdditionalKeyPayload! "Delete black listed domain" deleteBlackListedDomain(input: DeleteBlackListedDomainInput!): DeleteBlackListedDomainPayload! "Delete database" deleteDatabase(input: DeleteDatabaseInput!): DeleteDatabasePayload! "Delete database server" deleteDatabaseServer(input: DeleteDatabaseServerInput!): DeleteDatabaseServerPayload! "Delete DNS template record" deleteDnsTemplateRecord(input: DeleteDnsTemplateRecordInput!): DeleteDnsTemplateRecordPayload! "Delete firewall rule. Windows specific" deleteFirewallRule(input: DeleteFirewallRuleInput!): DeleteFirewallRulePayload! "Delete ODBC DSN connections" deleteOdbcDsn(input: DeleteOdbcDsnInput!): DeleteOdbcDsnPayload! "Delete protected directories" deleteProtectedDirectory(input: DeleteProtectedDirectoryInput!): DeleteProtectedDirectoryPayload! "Delete protected directory users" deleteProtectedDirectoryUser(input: DeleteProtectedDirectoryUserInput!): DeleteProtectedDirectoryUserPayload! "Delete selected summary report layouts" deleteSummaryReportLayout(input: DeleteSummaryReportLayoutInput!): DeleteSummaryReportLayoutPayload! "Delete selected summary report schedules" deleteSummaryReportSchedule(input: DeleteSummaryReportScheduleInput!): DeleteSummaryReportSchedulePayload! "Delete white listed network" deleteWhiteListedNetwork(input: DeleteWhiteListedNetworkInput!): DeleteWhiteListedNetworkPayload! "Edit branding" editBranding(input: EditBrandingInput!): EditBrandingPayload! "Edit interface view" editInterfaceView(input: EditInterfaceViewInput!): EditInterfaceViewPayload! "Hide DNS Soa sync warning" hideDnsSoaTemplateWarning: HideDnsSoaTemplateWarningPayload! "Hide DNS sync warning" hideDnsTemplateWarning: HideDnsTemplateWarningPayload! "Install additional key" installAdditionalKey(input: InstallAdditionalKeyInput!): InstallAdditionalKeyPayload! "Install php extension" installPhpExtension(input: InstallPhpExtensionInput!): LongTask! "Upgrade database server" upgradeDatabaseServer(input: UpgradeDatabaseServerInput!): LongTask! "Reboots the server" rebootServer: Boolean "Logoff a TS sessions" logoffTsSessions(input: LogoffTsSessionsInput!): LogoffTsSessionsPayload! "Disconnect a TS sessions" disconnectTsSessions(input: DisconnectTsSessionsInput!): DisconnectTsSessionsPayload! "Rename domain" renameDomain(input: RenameDomainInput!): RenameDomainPayload! "Rename domain alias" renameDomainAlias(input: RenameDomainAliasInput!): RenameDomainAliasPayload! "Reset php installable extension cache" resetPhpExtensionCache: ResetPhpExtensionCachePayload! "Restore DNS SOA template record to defaults" restoreDnsSoaTemplate: RestoreDnsSoaTemplatePayload! "Restore DNS template zone to defaults" restoreDnsTemplateZone: RestoreDnsTemplateZonePayload! "Restore ASP.NET settings" restoreAspNetSettings(input: RestoreAspNetSettingsInput!): RestoreAspNetSettingsPayload! "Revert additional key" revertAdditionalKey(input: RevertAdditionalKeyInput!): RevertAdditionalKeyPayload! "Revert primary key" revertPrimaryKey: RevertPrimaryKeyPayload! "Starts background websites diagnostic task" runWebsitesDiagnostic(input: RunWebsitesDiagnosticInput!): LongTask! "Send summary report by email" sendSummaryReportByEmail(input: SendSummaryReportByEmailInput!): SendSummaryReportByEmailPayload! "Set firewall mode. Windows specific" setFirewallMode(input: SetFirewallModeInput!): SetFirewallModePayload! "Set Service action" setServiceAction(input: ServiceActionInput!): Boolean "Shuts the server down" shutdownServer: Boolean "Sync DNS SOA zone" syncDnsSoaZone: SyncDnsZonePayload! "Sync DNS zone" syncDnsZone(input: SyncDnsZoneInput!): SyncDnsZonePayload! "Toggle DNS template zone" toggleDnsTemplateZone(input: ToggleDnsTemplateZoneInput!): ToggleDnsTemplateZonePayload! "Toggle firewall protection status. Windows specific" toggleFirewall(input: ToggleFirewallInput!): ToggleFirewallPayload! "Toggle status of firewall rule for ICMP protocol. Windows specific" toggleFirewallIcmpRule(input: ToggleFirewallIcmpRuleInput!): ToggleFirewallIcmpRulePayload! "Toggle firewall rule status. Windows specific" toggleFirewallRule(input: ToggleFirewallRuleInput!): ToggleFirewallRulePayload! "Toggle php extension" togglePhpExtension(input: TogglePhpExtensionInput!): TogglePhpExtensionPayload! "Uninstall php extension" uninstallPhpExtension(input: UninstallPhpExtensionInput!): LongTask! "Update action log settings" updateActionLogSettings(input: UpdateActionLogSettingsInput!): UpdateActionLogSettingsPayload! "Update additional key" updateAdditionalKey(input: UpdateAdditionalKeyInput!): UpdateAdditionalKeyPayload! "Update ASP.NET settings" updateAspNetSettings(input: UpdateAspNetSettingsInput!): UpdateAspNetSettingsPayload! "Save component parameters" updateComponentParameters(input: UpdateComponentParametersInput!): UpdateComponentParametersPayload! "Starts background update task" updateComponents: LongTask! "Update database server" updateDatabaseServer(input: UpdateDatabaseServerInput!): UpdateDatabaseServerPayload! "Update default components data" updateDefaultComponents(input: [UpdateDefaultComponentsInput]!): UpdateDefaultComponentsPayload! "Update DNS SOA template record" updateDnsSoaTemplate(input: UpdateDnsTemplateSoaRecordInput!): UpdateDnsTemplateSoaRecordPayload! "Update dns template record" updateDnsTemplate(input: UpdateDnsTemplateRecordInput!): UpdateDnsTemplateRecordPayload! "Update firewall rule. Windows specific" updateFirewallRule(input: UpdateFirewallRuleInput!): UpdateFirewallRulePayload! "Update bandwidth limits and connection limits settings. Windows specific" updateHostingPerformance(input: UpdateHostingPerformanceInput!): UpdateHostingPerformancePayload! "Update hotlink protection. Windows specific" updateHotlinkProtection(input: UpdateHotlinkProtectionInput!): UpdateHotlinkProtectionPayload! "Update notification email settings" updateNotificationEmailSettings(input: UpdateNotificationEmailSettingsInput!): UpdateNotificationEmailSettingsPayload! "Update notification text" updateNotificationText(input: UpdateNotificationTextInput!): UpdateNotificationTextPayload! "Update ODBC DSN connection parameters" updateOdbcDsnConnectionParameters( "This parameter specify whether mutation should save changes or just check connection" shouldSaveChanges: Boolean! input: UpdateOdbcDsnConnectionParametersInput! ): UpdateOdbcDsnConnectionParametersPayload! "Update preview domain" updatePreviewDomain(input: UpdatePreviewDomainInput!): UpdatePreviewDomainPayload! "Update primary key" updatePrimaryKey: UpdatePrimaryKeyPayload! "Update protected directory" updateProtectedDirectory(id: ID!, input: ProtectedDirectoryInput!): UpdateProtectedDirectoryPayload! "Update protected directory user" updateProtectedDirectoryUser(input: UpdateProtectedDirectoryUserInput!): UpdateProtectedDirectoryUserPayload! "Refresh list of server components" updateServerComponents: UpdateServerComponentsPayload! "Update server mail" updateServerMail(input: UpdateServerMailInput!): UpdateServerMailPayload! "Update server mail antivirus" updateServerMailAntivirus(input: UpdateServerMailAntivirusInput!): UpdateServerMailAntivirusPayload! "Update user settings" updateServerSettings(input: UpdateServerSettingsInput!): UpdateServerSettingsPayload! "Update SpamAssassin settings. Windows specific" updateSpamAssassin(input: UpdateSpamAssassinInput!): UpdateSpamAssassinPayload! "Update summary report layout" updateSummaryReportLayout(id: ID, input: SummaryReportLayoutInput!): UpdateSummaryReportLayoutPayload! "Update summary report schedule" updateSummaryReportSchedule(id: ID, layoutId: ID, input: SummaryReportScheduleInput!): UpdateSummaryReportSchedulePayload! "Update system time settings" updateSystemTimeSettings(input: UpdateSystemTimeSettingsInput!): UpdateSystemTimeSettingsPayload! "Update user settings" updateUserSettings(input: UpdateUserSettingsInput!): UpdateUserSettingsPayload! "Update Websites diagnostic settings" updateWebsitesDiagnosticSettings(input: UpdateWebsitesDiagnosticSettingsInput!): UpdateWebsitesDiagnosticSettingsPayload! "Upload additional key" uploadAdditionalKey(input: UploadAdditionalKeyInput!): UploadAdditionalKeyPayload! "Upload primary key" uploadPrimaryKey(input: UploadPrimaryKeyInput!): UploadPrimaryKeyPayload! updateNotificationPanelTemplate(input: UpdateNotificationPanelTemplateInput!): UpdateNotificationPanelTemplatesPayload! updateNotificationPanelSettings(input: UpdateNotificationPanelSettingsInput!): UpdateNotificationPanelSettingsPayload! "Update ip address" updateIpAddress(input: UpdateIpAddressInput!): UpdateIpAddressPayload! "Reread ip addresses" rereadIpAddresses: RereadIpAddressesPayload! "Reload public ip addresses" reloadPublicIpAddresses: ReloadPublicIpAddressesPayload! "Delete ip address" deleteIpAddress(input: DeleteIpAddressInput!): DeleteIpAddressPayload! "Repair ip addresses" repairIpAddress(input: RepairIpAddressInput!): RepairIpAddressPayload! "Toggle websites dynamic list expandability" toggleDynamicListExpandability(input: ToggleDynamicListExpandabilityInput!): ToggleDynamicListExpandabilityPayload! "Add client ip address" addClientIpAddress(input: AddClientIpAddressInput!): AddClientIpAddressPayload! "Remove client ip address" removeClientIpAddress(input: RemoveClientIpAddressInput!): RemoveClientIpAddressPayload! "Update client ip address" updateClientIpAddress(input: UpdateClientIpAddressInput!): UpdateClientIpAddressPayload! "Update default domain for ip address" updateIpAddressDefaultDomain(input: UpdateIpAddressDefaultDomainInput!): UpdateIpAddressDefaultDomainPayload! "Delete item of recent search" deleteRecentSearchResult(input: DeleteRecentSearchResultInput!): DeleteRecentSearchResultPayload! "Delete ip address from resellers" deleteIpAddressFormResellers(input: DeleteIpAddressFromResellersInput!): DeleteIpAddressFromResellersPayload! "Add ip address to reseller pools" addIpAddressToReseller(input: AddIpAddressToResellerInput!): AddIpAddressToResellerPayload! "Set \"application\" property for domain according chosen extension" setApplication(input: SetApplicationInput!): Boolean! "Update hosting settings for domain" updateHostingSettings(input: UpdateHostingSettingsInput!): UpdateHostingSettingsPayload! "Add email addresses to black\/white list" addAddressesToSpamFilterList(input: AddAddressesToSpamFilterListInput!): AddAddressesToSpamFilterListPayload! "Remove email addresses from black\/white list" deleteAddressesFromSpamFilterList(input: DeleteAddressesFromSpamFilterListInput!): DeleteAddressesFromSpamFilterListPayload! "Delete virtual directory MIME types" deleteVirtualDirectoryMimeType(input: DeleteVirtualDirectoryMimeTypeInput!): DeleteVirtualDirectoryMimeTypePayload! "Delete virtual directories" deleteVirtualDirectory(input: DeleteVirtualDirectoryInput!): DeleteVirtualDirectoryPayload! "Create physical directory" createDirectory(domainId: ID!, path: String!, input: DirectoryInput!): CreateDirectoryPayload! "Change ASP.NET version" changeAspNetVersion(input: ChangeAspNetVersionInput!): ChangeAspNetVersionPayload! "Update virtual directory error document" updateVirtualDirectoryErrorDoc( domainId: ID! path: String! "Error code" code: String! input: UpdateVirtualDirectoryErrorDocInput! ): UpdateVirtualDirectoryErrorDocPayload! "Update virtual directory MIME type" updateVirtualDirectoryMimeType( domainId: ID! path: String! "Current extension of the MIME type which is being edited" extension: String! input: UpdateVirtualDirectoryMimeTypeInput! ): UpdateVirtualDirectoryMimeTypePayload! "Create virtual directory" updateVirtualDirectory(domainId: ID!, path: String!, input: UpdateVirtualDirectoryInput!): UpdateVirtualDirectoryPayload! "Update PHP version on virtual directory" updateVirtualDirectoryPhp(domainId: ID!, path: String!, input: PhpVersionInput!): UpdateVirtualDirectoryPhpPayload! "Check if product updates are available" checkProductUpdates: CheckProductUpdatesPayload! "Send resource usage report by email" sendResourceUsageReportByEmail(input: SendResourceUsageReportByEmailInput!): SendResourceUsageReportByEmailPayload! "Update home page layout" updateHomeLayout(layout: [[String!]!]!): UpdateHomeLayoutPayload! "Enable\/disable home page block" toggleHomeBlock(name: ID!, enable: Boolean!): ToggleHomeBlockPayload! "Clear mail queue" mailQueueClean: MailQueueCleanPayload! "Switch between old and new Home page views" switchHomeView(enableNewView: Boolean!): SwitchHomeViewPayload! "Hide new Home page view promo" hideHomeViewPromo: HideHomeViewPromoPayload! "Hide system message" hideSystemMessage(input: HideSystemMessageInput!): HideSystemMessagePayload! "Close Get Started tab" closeGetStartedTab(id: ID!): Boolean! "Toggle domain alias service" toggleDomainAliasService(input: ToggleDomainAliasServiceInput!): ToggleDomainAliasServicePayload! "Add mass email template" addMassEmailTemplate(input: AddMassEmailTemplateInput!): AddMassEmailTemplatePayload! "Delete mass email template" deleteMassEmailTemplate(input: DeleteMassEmailTemplateInput!): DeleteMassEmailTemplatePayload! "Update mass email template" updateMassEmailTemplate(input: UpdateMassEmailTemplateInput!): UpdateMassEmailTemplatePayload! "Send mass email" sendMassEmail(input: SendMassEmailInput!): SendMassEmailPayload! "Upload virtual template" uploadVirtualHostTemplate(input: UploadVirtualHostTemplateInput!): UploadVirtualHostTemplatePayload! "Update smarthost configuration" updateSmarthost(input: UpdateSmarthostInput!): UpdateSmarthostPayload! "Reset virtual template" resetVirtualHostTemplate: ResetVirtualHostTemplatePayload! "Reload email statistics" reloadEmailStatistics: ReloadEmailStatisticsPayload! } input AddBlackListedDomainInput { name: [String!]! action: ServerMailBlackListActionEnum } type AddBlackListedDomainPayload { errors: [[String!]!] query: Query! } input AddOdbcDsnConnectionInput { domainId: ID name: String! description: String! driver: String! } type AddOdbcDsnConnectionPayload { "This is domain that the created connection belongs to." domain: Domain "This is created connection." connection: OdbcDsnConnection query: Query! } input ProtectedDirectoryInput { path: String! realm: String! isNonSsl: Boolean isCgiBin: Boolean } type AddProtectedDirectoryPayload { "Created protected directory" protectedDirectory: ProtectedDirectory! query: Query! } input AddProtectedDirectoryUserInput { directoryId: ID! login: String! password: String! } type AddProtectedDirectoryUserPayload { "Created protected directory user" protectedDirectoryUser: ProtectedDirectoryUser! query: Query! } input AddWhiteListedNetworkInput { name: [String!]! } type AddWhiteListedNetworkPayload { errors: [[String!]!] query: Query! } input ChangeDatabaseServerPasswordInput { id: ID! password: String! } type ChangeDatabaseServerPasswordPayload { databaseServer: DatabaseServer! query: Query! } input ChangeSubscriptionsOwnerInput { clientId: ID domainIds: [ID!]! ipMap: [IpMapInput!]! } input IpMapInput { domainId: ID! ipv4: ID ipv6: ID } type ChangeSubscriptionsOwnerPayload { warnings: [String!]! query: Query! } type CheckDnsZonePayload { query: Query! output: [String!]! } input ClearActionLogInput { fromDate: ClearActionLogDate! toDate: ClearActionLogDate! } input ClearActionLogDate { day: Int! month: Int! year: Int! } type ClearActionLogPayload { result: Boolean query: Query! } type CreateDnsZoneDefaultSoaRecordPayload { dnsZone: DnsZone! query: Query! } input CreateVirtualDirectoryMimeTypeInput { extension: String! content: String! } type CreateVirtualDirectoryMimeTypePayload { query: Query! } input CreateVirtualDirectoryInput { autoPath: Boolean! appCreate: Boolean! name: String path: String accessSource: Boolean! accessRead: Boolean! accessWrite: Boolean! enableDirBrowsing: Boolean! dontLog: Boolean! scriptExecute: VirtualDirectoryScriptExecuteEnum! aspBufferingLimit: SafeInt aspBufferingLimitInherited: Boolean = true aspMaxRequestEntityAllowed: SafeInt aspMaxRequestEntityAllowedInherited: Boolean = true aspEnableServerDebug: Boolean aspEnableServerDebugInherited: Boolean = true aspEnableClientDebug: Boolean aspEnableClientDebugInherited: Boolean = true } type CreateVirtualDirectoryPayload { query: Query! } input DeleteAdditionalKeyInput { ids: [ID!]! } type DeleteAdditionalKeyPayload { ids: [ID!]! query: Query! } input DeleteBlackListedDomainInput { ids: [ID!]! } type DeleteBlackListedDomainPayload { ids: [ID!]! query: Query! } input DeleteDatabaseInput { ids: [ID!]! } type DeleteDatabasePayload { ids: [ID!]! query: Query! } input DeleteDatabaseServerInput { ids: [ID!]! } type DeleteDatabaseServerPayload { ids: [ID!]! query: Query! } input DeleteDnsTemplateRecordInput { ids: [ID!]! } type DeleteDnsTemplateRecordPayload { ids: [ID!]! query: Query! } input DeleteFirewallRuleInput { keys: [String!]! } type DeleteFirewallRulePayload { keys: [String!]! query: Query! } input DeleteOdbcDsnInput { ids: [ID!]! } type DeleteOdbcDsnPayload { ids: [ID!]! "These are domains which deleted connections belong to." domains: [Domain!]! query: Query! } input DeleteProtectedDirectoryInput { ids: [ID!]! } type DeleteProtectedDirectoryPayload { ids: [ID!]! query: Query! } input DeleteProtectedDirectoryUserInput { ids: [ID!]! } type DeleteProtectedDirectoryUserPayload { ids: [ID!]! query: Query! } input DeleteSummaryReportLayoutInput { ids: [ID!]! } type DeleteSummaryReportLayoutPayload { ids: [ID!]! query: Query! } input DeleteSummaryReportScheduleInput { ids: [ID!]! } type DeleteSummaryReportSchedulePayload { ids: [ID!]! query: Query! } input DeleteWhiteListedNetworkInput { ids: [ID!]! } type DeleteWhiteListedNetworkPayload { ids: [ID!]! query: Query! } input EditBrandingInput { customTitle: String! customLogoEnabled: Boolean! logoUrlEnabled: Boolean! logoUrl: String logoFile: Upload customFaviconEnabled: Boolean faviconFileSvg: Upload faviconFileIco: Upload enabledBackground: Boolean backgroundFile: Upload backgroundColor: String backgroundFit: CustomBackgroundFitEnum } """ The `Upload` special type represents a file to be uploaded in the same HTTP request as specified by [graphql-multipart-request-spec](https://github.com/jaydenseric/graphql-multipart-request-spec). """ scalar Upload enum CustomBackgroundFitEnum { fill fit center tile } type EditBrandingPayload { query: Query! warnings: [String!] } input EditInterfaceViewInput { uiMode: String! customView: Boolean! visibilityMailBounce: Boolean! } type EditInterfaceViewPayload { query: Query! } type HideDnsSoaTemplateWarningPayload { query: Query! } type HideDnsTemplateWarningPayload { query: Query! } input InstallAdditionalKeyInput { ids: [ID!]! } type InstallAdditionalKeyPayload { ids: [ID!]! query: Query! } input InstallPhpExtensionInput { phpHandlerId: ID! extensionName: String! } type LongTask { id: ID! type: String! status: LongTaskStatusEnum! progressValue: String! progressTitleHtml: String progressTitle: String steps: [LongTaskStep!]! hideErrors: Boolean! isRefreshAllowed: Boolean! canCancel: Boolean! referrer: String! redirect: String additionalData: String output: [String!]! errors: [String!]! } enum LongTaskStatusEnum { STATUS_NOT_STARTED STATUS_STARTED STATUS_RUNNING STATUS_DONE STATUS_CANCELED STATUS_ERROR } type LongTaskStep { id: ID! icon: String! title: String! progressStatus: String! progress: Int! status: LongTaskStatusEnum! output: [String!]! errors: [String!]! } input UpgradeDatabaseServerInput { dbServerId: Int! releaseId: String! withDump: Boolean! } input LogoffTsSessionsInput { ids: [ID!]! } type LogoffTsSessionsPayload { ids: [ID!]! query: Query! } input DisconnectTsSessionsInput { ids: [ID!]! } type DisconnectTsSessionsPayload { ids: [ID!]! query: Query! } input RenameDomainInput { id: ID! name: String! } type RenameDomainPayload { domain: Domain! query: Query! } input RenameDomainAliasInput { id: ID! name: String! } type RenameDomainAliasPayload { domainAlias: DomainAlias! query: Query! } type ResetPhpExtensionCachePayload { query: Query! } type RestoreDnsSoaTemplatePayload { query: Query! } type RestoreDnsTemplateZonePayload { query: Query! } input RestoreAspNetSettingsInput { domainId: ID! webPath: String! } type RestoreAspNetSettingsPayload { version: String! query: Query! } input RevertAdditionalKeyInput { keyNumber: ID! } type RevertAdditionalKeyPayload { newKey: AdditionalKey! query: Query! } type RevertPrimaryKeyPayload { newKey: PrimaryKey! query: Query! } input RunWebsitesDiagnosticInput { "Deviation from the current timestamp in minutes" period: Int! domainIds: [ID!]! } input SendSummaryReportByEmailInput { id: ID! email: String! } type SendSummaryReportByEmailPayload { id: ID! query: Query! } input SetFirewallModeInput { mode: FirewallModeEnum! } enum FirewallModeEnum { DEFAULT PANIC } type SetFirewallModePayload { query: Query! } input ServiceActionInput { serviceId: String! actionType: ServiceActionEnum! } enum ServiceActionEnum { DISABLED MANUAL AUTO START STOP RESTART } type SyncDnsZonePayload { task: LongTask query: Query! } input SyncDnsZoneInput { forced: Boolean } input ToggleDnsTemplateZoneInput { enable: Boolean! } type ToggleDnsTemplateZonePayload { query: Query! } input ToggleFirewallInput { enable: Boolean! } type ToggleFirewallPayload { query: Query! } input ToggleFirewallIcmpRuleInput { key: String! enable: Boolean! } type ToggleFirewallIcmpRulePayload { key: String! query: Query! } input ToggleFirewallRuleInput { key: String! enable: Boolean! } type ToggleFirewallRulePayload { key: String! query: Query! } input TogglePhpExtensionInput { phpHandlerId: ID! extensionName: String! action: TogglePhpExtensionEnum! } enum TogglePhpExtensionEnum { enable disable } type TogglePhpExtensionPayload { query: Query! } input UninstallPhpExtensionInput { phpHandlerId: ID! extensionName: String! } input UpdateActionLogSettingsInput { objects: [String]! rotate: UpdateActionLogSettingsRotate! } input UpdateActionLogSettingsRotate { period: UpdateActionLogSettingsRotatePeriod! records: Int! type: String! } input UpdateActionLogSettingsRotatePeriod { value: Int! unit: PeriodUnitEnum! } type UpdateActionLogSettingsPayload { result: Boolean query: Query! } input UpdateAdditionalKeyInput { keyNumber: ID! } type UpdateAdditionalKeyPayload { description: String! newKey: AdditionalKey query: Query! } input UpdateAspNetSettingsInput { version: String! domainId: ID webPath: String connStrings: [NameValueInput!]! customErrors: [AspNetCustomErrorInput!]! customErrMode: String! debugMode: Boolean! defLanguage: String! tempDirectory: String! reqEnc: String! resEnc: String! fileEnc: String! culture: String! uiCulture: String! trustLevel: String! trustLevelAllowOverride: Boolean! authMode: String! sessTimeout: Int! } input NameValueInput { name: String! value: String! } input AspNetCustomErrorInput { redirectUrl: String! statusCode: String! } type UpdateAspNetSettingsPayload { version: String! query: Query! } input UpdateComponentParametersInput { packageName: String! parameters: [ServerComponentParameterInput]! } input ServerComponentParameterInput { name: String! value: String! } type UpdateComponentParametersPayload { query: Query! } input UpdateDatabaseServerInput { id: ID type: DatabaseServerTypeEnum! host: String! port: String! default: Boolean! adminLogin: String! adminPassword: String! externalConnections: Boolean backupTempDir: String backupNetworkTempDir: String backupNetworkUser: String backupNetworkPassword: String } type UpdateDatabaseServerPayload { error: String databaseServer: DatabaseServer query: Query! } input UpdateDefaultComponentsInput { componentType: String! defaultComponent: String! parameters: [ServerComponentParameterInput] } type UpdateDefaultComponentsPayload { query: Query! } input UpdateDnsTemplateSoaRecordInput { mname: String ttl: DnsSoaRecordTemplateValueInput! refresh: DnsSoaRecordTemplateValueInput! retry: DnsSoaRecordTemplateValueInput! expire: DnsSoaRecordTemplateValueInput! minimum: DnsSoaRecordTemplateValueInput! serialNumberFormat: DnsZoneSerialNumberFormatEnum! rnameType: DnsZoneRnameTypeEnum rnameDomain: String rnameExternal: String rnameEnforce: Boolean } input DnsSoaRecordTemplateValueInput { value: Int! unit: DnsSoaUnitEnum! } type UpdateDnsTemplateSoaRecordPayload { query: Query! } input UpdateDnsTemplateRecordInput { id: ID type: DnsRecordTypeEnum! ttl: Int host: String displayHost: String displayVal: String val: String opt: String domainName: String protocol: String serviceName: String } type UpdateDnsTemplateRecordPayload { dnsRecordTemplate: DnsRecordTemplate! query: Query! } input UpdateFirewallRuleInput { key: String name: String! isEnabled: Boolean! action: FirewallRuleActionEnum! protocol: FirewallRuleProtocolEnum! port: String! profiles: [FirewallRuleProfileEnum!]! remoteAddresses: [String]! } type UpdateFirewallRulePayload { key: String! query: Query! } input UpdateHostingPerformanceInput { id: ID! trafficBandwidth: Int maxConnection: Float } type UpdateHostingPerformancePayload { domain: Domain! } input UpdateHotlinkProtectionInput { id: ID! isEnabled: Boolean! extensions: String! friends: [String!]! } type UpdateHotlinkProtectionPayload { domain: Domain! query: Query! } input UpdateNotificationEmailSettingsInput { notifications: [UpdateNotificationEmailSettingsNoteInput] expirationWarningTime: Int } input UpdateNotificationEmailSettingsNoteInput { code: String! email: String sendToEmail: Boolean sendToAdmin: Boolean sendToReseller: Boolean sendToClient: Boolean } type UpdateNotificationEmailSettingsPayload { query: Query! } input UpdateNotificationTextInput { code: String! subject: String text: String } type UpdateNotificationTextPayload { code: String emailSubject: String emailDefaultSubject: String emailText: String emailDefaultText: String } input UpdateOdbcDsnConnectionParametersInput { id: ID! parameters: [OdbcDsnConnectionParameterInput]! } input OdbcDsnConnectionParameterInput { key: String! value: String! } type UpdateOdbcDsnConnectionParametersPayload { validationErrors: [ValidationError!] connectionError: String connection: OdbcDsnConnection! query: Query! } type ValidationError { path: String! type: String! message: String! } input UpdatePreviewDomainInput { type: PreviewDomainTypeEnum! protection: Boolean domainId: String domainName: String } type UpdatePreviewDomainPayload { result: Boolean } type UpdatePrimaryKeyPayload { description: String! newKey: PrimaryKey additionalKeysErrors: [AdditionalKeyUpdateError!]! additionalKeys: [AdditionalKey!]! query: Query! } type AdditionalKeyUpdateError { name: String! description: String! } type UpdateProtectedDirectoryPayload { "Updated protected directory" protectedDirectory: ProtectedDirectory! query: Query! } input UpdateProtectedDirectoryUserInput { id: ID! password: String! } type UpdateProtectedDirectoryUserPayload { "Updated protected directory user" protectedDirectoryUser: ProtectedDirectoryUser! query: Query! } type UpdateServerComponentsPayload { query: Query! } input UpdateServerMailInput { settings: UpdateServerMailSettingsInput autodiscover: UpdateServerMailAutodiscoverInput relay: UpdateServerMailRelayInput outgoingMessages: UpdateServerMailOutgoingMessagesInput spamFilter: UpdateServerMailSpamFilterInput } input UpdateServerMailSettingsInput { isMailUiEnabled: Boolean! maxMessageSize: Float maxConnections: Float maxConnectionsPerIp: Float isMessageSubmissionEnabled: Boolean messageSubmissionIp: String outgoingEmailMode: String outgoingEmailModeIpV4: String outgoingEmailModeIpV6: String isEmailSubaddressingEnabled: Boolean isMboxQuotaWarningEnabled: Boolean isFixSenderEnabled: Boolean isListSecureLinksEnabled: Boolean autoReplyHeaders: [UpdateServerMailAutoreplyHeaderInput] isShortPop3NameEnabled: Boolean } input UpdateServerMailAutoreplyHeaderInput { name: String! value: String! } input UpdateServerMailAutodiscoverInput { isEnabled: Boolean! customServer: String! reconfigureDns: Boolean } input UpdateServerMailRelayInput { type: String! isPopAuthEnabled: Boolean! lockTime: Float isSmtpAuthEnabled: Boolean! noRelayNetworks: [String] } input UpdateServerMailOutgoingMessagesInput { isEnabled: Boolean! isCountRecipientsEnabled: Boolean mailboxLimit: Float domainLimit: Float subscriptionLimit: Float isSendmailEnabled: Boolean reportPeriod: String notificationPeriod: String } input UpdateServerMailSpamFilterInput { isDmarcEnabled: Boolean isSigningOutgoingMailEnabled: Boolean isVerifyingIncomingMailEnabled: Boolean isRblEnabled: Boolean rblServer: String isSpfEnabled: Boolean isErrorIgnored: Boolean behavior: Int localRules: String guessRules: String explanationText: String } type UpdateServerMailPayload { warnings: [String!]! query: Query! } input UpdateServerMailAntivirusInput { antivirus: String policy: String isAppliedToIncoming: Boolean isAppliedToOutgoing: Boolean } type UpdateServerMailAntivirusPayload { query: Query! } input UpdateServerSettingsInput { forbidSysUserRename: String! disableIpLogging: Boolean forbidCreateDnsSubZone: Boolean forbidSubscriptionRename: Boolean! fullHostName: String! includeAdminDumps: Boolean! includeDatabases: Boolean includeDomainDumps: Boolean! includeLogs: Boolean! includeMailLists: Boolean includeMailboxes: Boolean includeMssqlDatabases: Boolean includePgsqlDatabases: Boolean includeMysqlDatabases: Boolean includeRemoteDatabases: Boolean! logrotateAnonymizeIps: Boolean logrotateForce: Boolean! logrotatePeriod: String! preferredDomain: String! sizeCountType: String trafficAccounting: String! trafficStatisticsPeriod: String! webDeployIncludePassword: Boolean } type UpdateServerSettingsPayload { result: Boolean } input UpdateSpamAssassinInput { isEnabled: Boolean isUserSettingsEnabled: Boolean! isGreylistingProtectionEnabled: Boolean requiredHits: String maxMailLimit: String maxThreadsLimit: Int maxChildren: Int tag: String alarmMessage: String languages: [String!]! locales: [String!]! } type UpdateSpamAssassinPayload { query: Query! result: Boolean! } input SummaryReportLayoutInput { name: String! isDefault: Boolean! general: SummaryReportLayoutVariantEnum! resellers: SummaryReportLayoutVariantEnum clients: SummaryReportLayoutVariantEnum personalClients: SummaryReportLayoutVariantEnum domains: SummaryReportLayoutVariantEnum! personalDomains: SummaryReportLayoutVariantEnum! } type UpdateSummaryReportLayoutPayload { "Updated summary report layout" summaryReportLayout: SummaryReportLayout! query: Query! } input SummaryReportScheduleInput { period: PeriodUnitEnum email: String } type UpdateSummaryReportSchedulePayload { "Updated summary report schedule" summaryReportSchedule: SummaryReportSchedule! query: Query! } input UpdateSystemTimeSettingsInput { year: Int! month: Int! day: Int! hours: Int! minutes: Int! seconds: Int! isDaylightSavingChangeEnabled: Boolean! isSynchronizeEnabled: Boolean! isSystemTimeUpdateEnabled: Boolean! synchronizedWith: String! timezone: String! } type UpdateSystemTimeSettingsPayload { query: Query! } input UpdateUserSettingsInput { collapsedDomainSettings: Boolean! } type UpdateUserSettingsPayload { result: Boolean } input UpdateWebsitesDiagnosticSettingsInput { isRegularCheckEnabled: Boolean isPromoShown: Boolean isNewDomainsChecked: Boolean domains: [UpdateWebsitesDiagnosticSettingsDomainsInput!] } input UpdateWebsitesDiagnosticSettingsDomainsInput { id: ID! isChecked: Boolean! } type UpdateWebsitesDiagnosticSettingsPayload { query: Query! } input UploadAdditionalKeyInput { type: String! code: String file: Upload } type UploadAdditionalKeyPayload { isAdditionalKey: Boolean! query: Query! } input UploadPrimaryKeyInput { type: String! code: String file: Upload } type UploadPrimaryKeyPayload { isFirstLicense: Boolean! forcedPowerUserPanel: Boolean! isPrimaryKey: Boolean! query: Query! } input UpdateNotificationPanelTemplateInput { code: String! sendToAdmin: Boolean } type UpdateNotificationPanelTemplatesPayload { query: Query! } input UpdateNotificationPanelSettingsInput { storagePeriod: Int } type UpdateNotificationPanelSettingsPayload { query: Query! } input UpdateIpAddressInput { id: ID ftpOverSSL: FtpOverSSLEnum ipAddress: String publicIpAddress: String type: IpAddressTypeEnum! interface: String certificateId: ID! defaultDomainId: ID } type UpdateIpAddressPayload { ipAddress: IpAddress! task: LongTask query: Query! } type RereadIpAddressesPayload { result: Boolean! query: Query! } type ReloadPublicIpAddressesPayload { task: LongTask! query: Query! } input DeleteIpAddressInput { ids: [ID!]! } type DeleteIpAddressPayload { ids: [ID!]! query: Query! } input RepairIpAddressInput { id: ID! } type RepairIpAddressPayload { ipAddress: IpAddress! query: Query! } input ToggleDynamicListExpandabilityInput { expandable: Boolean! } type ToggleDynamicListExpandabilityPayload { query: Query! result: Boolean! } input AddClientIpAddressInput { ids: [ID!]! clientId: ID! } type AddClientIpAddressPayload { ids: [ID!]! query: Query! } input RemoveClientIpAddressInput { ids: [ID!]! clientId: ID! } type RemoveClientIpAddressPayload { ids: [ID!]! query: Query! } input UpdateClientIpAddressInput { id: ID! clientId: ID! domainId: ID type: IpAddressTypeEnum! certificateId: ID! ftpOverSSL: FtpOverSSLEnum } type UpdateClientIpAddressPayload { id: ID! query: Query! } input UpdateIpAddressDefaultDomainInput { ipAddressId: ID! domainId: ID! } type UpdateIpAddressDefaultDomainPayload { ipAddress: IpAddress! query: Query! } input DeleteRecentSearchResultInput { link: String! } type DeleteRecentSearchResultPayload { query: Query! } input DeleteIpAddressFromResellersInput { ipAddressId: ID! clientIds: [ID!]! } type DeleteIpAddressFromResellersPayload { ipAddress: IpAddress! removedClients: [Client!]! query: Query! } input AddIpAddressToResellerInput { ipAddressId: ID! clientIds: [ID!]! } type AddIpAddressToResellerPayload { ipAddress: IpAddress! addedClients: [Client!]! query: Query! } input SetApplicationInput { id: ID! extName: String! } input UpdateHostingSettingsInput { domainId: ID! domainName: String! hostingType: DomainHostingEnum! hostingSettings: UpdateHostingSettingsHostingInput forwardingSettings: UpdateHostingSettingsForwardingInput sslSettings: UpdateHostingSettingsSslInput webstatSettings: UpdateHostingSettingsWebstatSettingsInput webspaceSettings: UpdateHostingSettingsWebspaceInput webScripting: UpdateHostingSettingsWebScriptingInput } input UpdateHostingSettingsHostingInput { preferredDomain: String! documentRoot: String sameSslCompatibility: Boolean! } input UpdateHostingSettingsForwardingInput { type: String! forwardTo: String! } input UpdateHostingSettingsSslInput { ssl: Boolean! sslRedirect: Boolean! certificateId: Int } input UpdateHostingSettingsWebstatSettingsInput { webstat: String! webstatProtected: Boolean! } input UpdateHostingSettingsWebspaceInput { ipv4: ID ipv6: ID sysUserLogin: String sysUserPassword: String quota: String shell: String } input UpdateHostingSettingsWebScriptingInput { ssi: Boolean ssiHtml: Boolean cgi: Boolean fastcgi: Boolean cgiMode: CgiModeEnum asp: Boolean aspDotNet: Boolean aspDotNetVersion: String perl: Boolean python: Boolean webstat: String webstatProtected: Boolean errorDocs: Boolean writeModify: Boolean webDeploy: Boolean } type UpdateHostingSettingsPayload { domain: Domain! query: Query! } input AddAddressesToSpamFilterListInput { listType: SpamFilterListTypeEnum! dataType: SpamFilterAddressesFormatEnum! file: Upload addresses: String } enum SpamFilterListTypeEnum { blacklist_from whitelist_from } enum SpamFilterAddressesFormatEnum { file string } type AddAddressesToSpamFilterListPayload { warnings: [String!] query: Query! } input DeleteAddressesFromSpamFilterListInput { ids: [String!]! } type DeleteAddressesFromSpamFilterListPayload { query: Query! } input DeleteVirtualDirectoryMimeTypeInput { domainId: ID! path: String! extensions: [String!]! } type DeleteVirtualDirectoryMimeTypePayload { extensions: [String!]! query: Query! } input DeleteVirtualDirectoryInput { domainId: ID! path: String! names: [String!]! } type DeleteVirtualDirectoryPayload { names: [String!]! query: Query! } input DirectoryInput { name: String! } type CreateDirectoryPayload { name: String! query: Query! } input ChangeAspNetVersionInput { domainId: ID! webPath: String! version: String! } type ChangeAspNetVersionPayload { version: String! query: Query! } input UpdateVirtualDirectoryErrorDocInput { type: VirtualDirectoryTypeEnum! location: String! } enum VirtualDirectoryTypeEnum { Default File Url } type UpdateVirtualDirectoryErrorDocPayload { query: Query! } input UpdateVirtualDirectoryMimeTypeInput { extension: String! content: String! } type UpdateVirtualDirectoryMimeTypePayload { query: Query! } input UpdateVirtualDirectoryInput { appCreate: Boolean = true aspEnableParentPaths: Boolean! aspExecuteInMTA: Boolean! authAnonymous: Boolean! authNTLM: Boolean! requireSSL: Boolean! enableDefaultDoc: Boolean! defaultDocs: [String!]! name: String path: String accessSource: Boolean! accessRead: Boolean! accessWrite: Boolean! enableDirBrowsing: Boolean! dontLog: Boolean! scriptExecute: VirtualDirectoryScriptExecuteEnum! aspBufferingLimit: SafeInt aspBufferingLimitInherited: Boolean = true aspMaxRequestEntityAllowed: SafeInt aspMaxRequestEntityAllowedInherited: Boolean = true aspEnableServerDebug: Boolean aspEnableServerDebugInherited: Boolean = true aspEnableClientDebug: Boolean aspEnableClientDebugInherited: Boolean = true } type UpdateVirtualDirectoryPayload { query: Query! } input PhpVersionInput { version: String! } type UpdateVirtualDirectoryPhpPayload { version: String! query: Query! } type CheckProductUpdatesPayload { productUpdates: ProductUpdates! query: Query! } input SendResourceUsageReportByEmailInput { email: String! filters: ResourceUsageListInput! } type SendResourceUsageReportByEmailPayload { query: Query! } type UpdateHomeLayoutPayload { layout: [[String!]!]! query: Query! } type ToggleHomeBlockPayload { name: ID! enable: Boolean! query: Query! } type MailQueueCleanPayload { query: Query! } type SwitchHomeViewPayload { enableNewView: Boolean! query: Query! } type HideHomeViewPromoPayload { query: Query! } input HideSystemMessageInput { key: SystemMessageKeyEnum! } type HideSystemMessagePayload { query: Query! } input ToggleDomainAliasServiceInput { id: ID! service: DomainAliasServiceEnum! enable: Boolean! } type ToggleDomainAliasServicePayload { domainAlias: DomainAlias! query: Query! } input AddMassEmailTemplateInput { name: String subject: String body: String fromEmail: String sendToAdmins: Boolean! sendToResellers: Boolean! sendToResellersMode: MassEmailTemplateSendModeEnum! resellers: [Int!] sendToClients: Boolean! sendToClientsMode: MassEmailTemplateSendModeEnum! clients: [Int!] } type AddMassEmailTemplatePayload { errors: [[String!]!] query: Query! } input DeleteMassEmailTemplateInput { ids: [ID!]! } type DeleteMassEmailTemplatePayload { ids: [ID!]! query: Query! } input UpdateMassEmailTemplateInput { id: ID! name: String subject: String body: String fromEmail: String sendToAdmins: Boolean! sendToResellers: Boolean! sendToResellersMode: MassEmailTemplateSendModeEnum! resellers: [Int!] sendToClients: Boolean! sendToClientsMode: MassEmailTemplateSendModeEnum! clients: [Int!] } type UpdateMassEmailTemplatePayload { errors: [[String!]!] query: Query! } input SendMassEmailInput { subject: String body: String fromEmail: String sendToAdmins: Boolean! sendToResellers: Boolean! sendToResellersMode: MassEmailTemplateSendModeEnum! resellers: [Int!] sendToClients: Boolean! sendToClientsMode: MassEmailTemplateSendModeEnum! clients: [Int!] } type SendMassEmailPayload { errors: [SendMassEmailError!] query: Query! } type SendMassEmailError { email: String! error: String! } input UploadVirtualHostTemplateInput { file: Upload } type UploadVirtualHostTemplatePayload { query: Query! } input UpdateSmarthostInput { settings: UpdateSmarthostSettingsInput! configuration: UpdateSmarthostConfigurationInput! checkConnection: Boolean } input UpdateSmarthostSettingsInput { isServerEnabled: Boolean! } input UpdateSmarthostConfigurationInput { host: String! port: String! isAuthenticationRequired: Boolean! username: String! password: String! encryption: String } type UpdateSmarthostPayload { success: Boolean! message: String query: Query! } type ResetVirtualHostTemplatePayload { query: Query! } type ReloadEmailStatisticsPayload { success: Boolean! message: String query: Query! }