Enter your API key here to use it for all test requests. The key will be saved in your browser.
Handler: contacts/GetContacts
Description: Get all contacts of the current user, with optional pagination and sorting. Admins can filter by user. phone_number is a string of national digits (keep leading zeros) and address.country.callingCode is the country calling code. VAT percentages can have decimals. API keys need contacts.view.
Handler: contacts/GetContact
Description: Get a specific contact by ID using the same contact format as GET /contacts. phone_number contains national significant digits as a string, preserving significant leading zeros; combine it with address.country.callingCode when submitting a country-prefixed phone number.
Handler: contacts/CreateContact
Description: Create a new contact for the current user. When using API key authentication, requires "contacts.create" permission.
When field validation fails (error code INPUT_001), the response includes field-specific error details:
{
"status": "error",
"code": "INPUT_001",
"message": "Invalid input data",
"fields": {
"phone_number": [
"phone.constraint.invalid"
],
"address.postal_code": [
"postalCode.constraint.invalid"
],
"address.country_id": [
"country.not.found"
]
}
}Validation Details:
Handler: contacts/UpdateContact
Description: Update contact fields (email, phone, VAT info, address). Country changes are not allowed - create a new contact instead. VAT percentage and type are automatically recalculated when postal_code or vat_number change. Changes are synced with domain registries if applicable. When using API key authentication, requires "contacts.modify" permission.
{
"vat_number": "DE123456789",
"company_name": "New Company GmbH",
"address": {
"country_id": 81
}
}Handler: contacts/UpdateContactRequiredInfo
Description: Add registry-specific required information to a contact. Use GET /tlds/required_info first to see which fields are needed; fields not listed there are filled in automatically. The information is checked at the registry: if that fails, nothing is saved and field errors are returned (INPUT_002). API keys need contacts.required_info.
Handler: contacts/DeleteContactById
Description: Delete a specific contact by ID. When using API key authentication, requires "contacts.delete" permission.
Handler: countries/GetCountries
Description: Get all countries with optional sorting. callingCode is the international country calling code as an integer, without + or 00 (for example, 1 for Antigua and Barbuda and Barbados). For contact phone requests, concatenate callingCode with the national significant digits as strings, preserving significant leading zeros. vatPercentage is a number that may include decimals, such as 25.5.
Handler: countries/GetCountry
Description: Get a specific country by ID
Handler: dns_templates/GetDnsTemplates
Description: Get DNS templates for the authenticated user. Returns templates with integer domain IDs and public DNS records only. When using API key authentication, requires "dns_templates.view" permission.
Handler: dns_templates/GetDnsTemplate
Description: Get a single DNS template by ID. Returns integer domain IDs and public DNS records only. When using API key authentication, requires "dns_templates.view" permission.
Handler: dns_templates/CreateDnsTemplate
Description: Create a DNS template for the authenticated user. Applies application-host default DNS records. domain_names must be an array of integer domain IDs owned by the user. When using API key authentication, requires "dns_templates.modify" permission.
Handler: dns_templates/UpdateDnsTemplate
Description: Update DNS template metadata (name and/or linked domains). domain_names must be an array of integer domain IDs owned by the user. Does not modify dns_records. When using API key authentication, requires "dns_templates.modify" permission.
Handler: dns_templates/UpdateDnsTemplateDnsRecords
Description: Replace DNS records of a DNS template. Uses the same DNS validation/normalization logic as PATCH /domain_names/{id}/dns_records and preserves %domain% placeholders. Returns public records only. When using API key authentication, requires "dns_templates.modify" permission.
Handler: dns_templates/DeleteDnsTemplate
Description: Delete DNS template by ID. Domain links are cleared by database foreign-key constraints. When using API key authentication, requires "dns_templates.modify" permission.
Handler: domain_name_emails/GetDomainNameEmails
Description: Get email addresses, forwarders, and catch-all addresses for owned regular and external domains. API key authentication requires domains.view.
Handler: domain_name_emails/GetSyncProcess
Description: Get the status of a domain email sync process. API key authentication requires domains.email.sync.
Handler: domain_name_emails/CreateDomainNameEmail
Description: Create a mailbox, forwarder, or catch-all address on a regular or external domain. Requires an active plan, active regular domain status, linked mail server, and available plan email quota. API key authentication requires domains.email.manage.
Handler: domain_name_emails/StartSync
Description: Start an async mailbox import from the remote mailbox into the local mailbox. Returns HTTP 202 with sync_direction, local_mailbox, remote_mailbox, and process status details. API key authentication requires domains.email.sync.
Handler: domain_name_emails/ChangeTarget
Description: Change the target for a forwarder or catch-all address. API key authentication requires domains.email.manage.
Handler: domain_name_emails/ChangePassword
Description: Change mailbox password. Forwarders and catch-all addresses are rejected. API key authentication requires domains.email.manage.
Handler: domain_name_emails/DeleteDomainNameEmail
Description: Delete a mailbox, forwarder, or catch-all address. Mailbox deletion also creates a mail-server todo delete task. API key authentication requires domains.email.delete.
Handler: domain_name_orders/GetDomainNameOrders
Description: Get a concise list of domain name orders currently visible in the sidebar pending/problem product or pending domain views. Returns the same base fields as GET /domain_name_orders/{id}, without process attempts or live registry information. Results are ordered by ID descending. Admins can filter by user; other users only see their own orders. When using API key authentication, requires "domains.view" permission.
Handler: domain_name_orders/GetDomainNameOrder
Description: Get a domain name order by ID. Only rows currently visible in the sidebar pending/problem product or pending domain views are returned. Includes generic domain registry process attempt metadata and live registry process information with transfer information when available. When using API key authentication, requires "domains.view" permission.
Handler: domain_name_orders/CancelDomainNameOrder
Description: Cancel a pending domain name order. Supported products: Registration or Transfer. Eligible statuses: awaiting_required_info and transfer_failed. Non-admin users can only cancel their own orders; admin users can cancel any user's order. Positive-price orders are credited to the order owner's wallet through a manual invoice; zero-price orders are cancelled without an invoice. API key authentication requires "domains.order.cancel" permission.
Handler: domain_names/GetIncomingSpamFilter
Description: Get the incoming spam filter setting. Requires domains.email.spam_filter.view. Returns preset, enabled, status (applied, updating, failed, unknown or unavailable), can_change and a message that explains the status. While status is updating, read it again later.
Handler: domain_names/GetDomainNames
Description: Get all domain names of the current user, with owner, extension, status and plan details, and is_premium (true for a premium domain name). Supports searching domain names and extensions (see search). Admins can filter by user. API keys need domains.view.
Handler: domain_names/CheckAvailability
Description: Check domain name availability at the domain registry. The endpoint validates that the TLD is offered by the current application host before calling the registry. Returns available, an optional reason for unavailable domains, and premium=true when the registry identifies a premium domain.
Handler: domain_names/GetDomainName
Description: Get detailed information for a specific domain by ID. Returns the domain with all its details including DNS records (if DNS control is enabled), domain name tags, email blocking status, incoming_spam_filter when email is enabled, and is_premium.
Handler: domain_names/GetDomainNameLogs
Description: Get the log book entries for a domain. Only the domain owner or an admin can view the logs. When using API key authentication, requires "domains.view" permission.
Handler: domain_names/GetDnssec
Description: Get the DNSSEC state for an owned registered domain. The response reports whether DNSSEC is supported and enabled, whether keys are managed automatically or manually, the registrar key data, TLD limits and algorithms, and an optimistic-concurrency hash. API key authentication requires domains.dnssec.view.
Handler: domain_names/ConvertPunycode
Description: Convert a Unicode domain label or full domain name into ASCII punycode (UTS46 non-transitional mode). Example: "münchen" -> "xn--mnchen-3ya". If input contains a dot, TLD is extracted from input (first-pass) for IDN policy checks. language_codes is returned only when the extracted TLD matches domain_top_level and idn_language_codes contains a non-empty list.
Handler: domain_names/ConvertPunycodeToUnicode
Description: Convert an ASCII punycode domain name to Unicode. Input must start with "xn--", contain a dot, and use a TLD that exists in domain_top_level. Example: "xn--mnchen-3ya.com" -> "münchen.com".
Handler: domain_names/UpdateIncomingSpamFilter
Description: Change the incoming spam filter setting. Requires domains.email.spam_filter.manage. Settings can be saved as soon as active email hosting is enabled. The change is applied in the background: the response (HTTP 202) has the same fields as GET with status updating. A non-default preset waits for initial mail routing setup and verification before it is applied. Read GET until the status is applied.
{
"preset": "more_strict"
}Handler: domain_names/AssignToPlan
Description: Link an active registered domain name to an active all-in-one plan. The domain and plan must belong to the authenticated user unless the caller is an admin. The plan domain limit counts both registered and external domains. Returns the same domain payload shape as GET /domain_names/{id}. Requires API key permissions: domains.plan.manage and domains.view.
Handler: domain_names/RemoveFromPlan
Description: Unlink a registered domain name from its all-in-one plan. Email and website builder must be disabled first; active webhosting does not block unlinking. Returns the same domain payload shape as GET /domain_names/{id}. Requires API key permissions: domains.plan.manage and domains.view.
Handler: domain_names/UpdateDnsRecords
Description: Replace all DNS records of the domain name: records that are not in the request are deleted. The domain name must be active with DNS control enabled. Record names must be the domain name or a subdomain of it. NS and CNAME records are not allowed at the root, and a CNAME cannot share its name with other records. API keys need domains.dns.modify.
{
"dns_records": [
{
"name": "www.example.com.",
"type": "A",
"ttl": 3600,
"value": "192.0.2.1"
},
{
"name": "example.com.",
"type": "MX",
"ttl": 3600,
"value": "10 mail.example.com."
}
]
}Handler: domain_names/UpdateDnssecKeys
Description: Replace manually managed DNSSEC keys at the registrar. This is allowed only for an active owned registered domain when DNS management is disabled. TLD record limits and allowed algorithms are enforced. API key authentication requires domains.dnssec.modify.
Handler: domain_names/UpdateDnssecStatus
Description: Enable or disable platform-managed DNSSEC for an active owned registered domain while DNS management is enabled. Enabling creates managed DNSSEC keys with registry-supported algorithm fallback and publishes the KSK. Disabling clears the registrar delegation before removing the authoritative DNSSEC keys. API key authentication requires domains.dnssec.modify.
Handler: domain_names/UpdateDnsControl
Description: Enable or disable DNS control. Enabling recreates the DNS zone with default records and switches the nameservers, with DNSSEC where the extension supports it. Disabling removes DNSSEC, the DNS zone and the domain redirections. Returns the same domain object as GET /domain_names/{id}. API keys need domains.dns.control and domains.view.
Handler: domain_names/UpdateNameServers
Description: Set the nameservers of an active domain name. If DNS control is enabled it is turned off first: the DNS zone and DNSSEC are removed and advanced settings are enabled. Glue records are created when ips are given. Returns the same domain object as GET /domain_names/{id}. API keys need domains.dns.control and domains.view.
{
"domain_name_server_settings": {
"name_servers": [
{
"name": "ns1.example.com",
"ips": ""
},
{
"name": "ns2.example.com",
"ips": ""
}
]
}
}Handler: domain_names/UpdateAdvancedSettings
Description: Enable or disable access to advanced settings for a domain. Only the domain owner can update this setting, and the domain must be active. Disabling also unlinks DNS template sync fields and repairs DNS records for linked services. Returns the same domain payload shape as GET /domain_names/{id}. API key authentication is allowed and requires domains.dns.control and domains.view permissions.
Handler: external_domain_names/GetIncomingSpamFilter
Description: Get the incoming spam filter setting. Requires domains.email.spam_filter.view. Returns preset, enabled, status (applied, updating, failed, unknown or unavailable), can_change and a message that explains the status. While status is updating, read it again later.
Handler: external_domain_names/GetExternalDomainNames
Description: Get all external domain names for the current user. Returns an array of brief external domain objects with linked plan and mail server information where available. Admins can filter by user to view external domains for specific users. When using API key authentication, requires domains.view permission.
Handler: external_domain_names/GetExternalDomainName
Description: Get detailed information for a specific external domain name by ID. Returns the external domain with linked plan, mail server, DNS records, domain redirections, email accounts, DNS record checks, outgoing email block status, and incoming_spam_filter when email is enabled. Only the owner or an admin can view the external domain. API key authentication is allowed and requires domains.view permission.
Handler: external_domain_names/CreateExternalDomainName
Description: Create an external domain name for the current user. This endpoint only creates the external domain record; it does not enable DNS control, create managed DNS zones, attach plans, or update webhosting accounts. When using API key authentication, requires domains.create permission.
Handler: external_domain_names/UpdateIncomingSpamFilter
Description: Change the incoming spam filter setting. Requires domains.email.spam_filter.manage. Settings can be saved as soon as active email hosting is enabled. The change is applied in the background: the response (HTTP 202) has the same fields as GET with status updating. A non-default preset waits for initial mail routing setup and verification before it is applied. Read GET until the status is applied.
{
"preset": "more_strict"
}Handler: external_domain_names/AssignToPlan
Description: Link an external domain name to an active all-in-one plan. The external domain and plan must belong to the authenticated user unless the caller is an admin. External domains do not have a domain status check; the plan domain limit counts both registered and external domains. Returns the same external-domain payload shape as GET /external_domain_names/{id}. Requires API key permissions: domains.plan.manage and domains.view.
Handler: external_domain_names/RemoveFromPlan
Description: Unlink an external domain name from its all-in-one plan. Email and website builder must be disabled first; active webhosting does not block unlinking. Returns the same external-domain payload shape as GET /external_domain_names/{id}. Requires API key permissions: domains.plan.manage and domains.view.
Handler: external_domain_names/UpdateDnsControl
Description: Enable or disable DNS control for an external domain. When enabling, the endpoint recreates the managed DNS zone using application host default nameservers and DNS records. When disabling, it removes the managed DNS zone. Returns the same external-domain payload shape as GET /external_domain_names/{id}. Requires API key permissions: domains.dns.control and domains.view.
Handler: external_domain_names/UpdateAdvancedSettings
Description: Enable or disable access to advanced settings for an external domain. Disabling ensures external DNS control is enabled, repairs DNS records for linked services, and returns the same external-domain payload shape as GET /external_domain_names/{id}. Requires API key permissions: domains.dns.control and domains.view.
Handler: external_domain_names/UpdateDnsRecords
Description: Update DNS records for an external domain. This endpoint performs a complete replacement of all DNS records except system-managed apex NS/SOA records. The external domain must have DNS control enabled. Record validation matches PATCH /domain_names/{id}/dns_records. When using API key authentication, requires domains.dns.modify permission.
Handler: domain_names/GetSenderRules
Description: View domain defaults covering all recipients, including future and catch-all addresses, or effective personal sender rules. The additive has_manage_permission field describes caller permission; gateway contains state (ready, waiting, review), reason, and verified_at. can_manage remains the effective save capability. Requires domains.email.sender_rules.view.
Handler: domain_names/GetQuarantine
Description: List owned-domain quarantine metadata (40 queries, 10 seconds, 5,000 rows). complete=false means partial results; limited=true means a limit was reached. total counts checked matches. filter_recipients includes discovered catch-all addresses; recipients lists configured addresses. Narrow large lists by recipient/reason. sender_gateway reports sender-rule availability. Requires domains.email.quarantine.view.
Handler: domain_names/GetQuarantineMessage
Description: Get a bounded plain-text spam preview. Security holds expose metadata only. Requires domains.email.quarantine.content.
Handler: external_domain_names/GetSenderRules
Description: View domain defaults covering all recipients, including future and catch-all addresses, or effective personal sender rules. The additive has_manage_permission field describes caller permission; gateway contains state (ready, waiting, review), reason, and verified_at. can_manage remains the effective save capability. Requires domains.email.sender_rules.view.
Handler: external_domain_names/GetQuarantine
Description: List owned-domain quarantine metadata (40 queries, 10 seconds, 5,000 rows). complete=false means partial results; limited=true means a limit was reached. total counts checked matches. filter_recipients includes discovered catch-all addresses; recipients lists configured addresses. Narrow large lists by recipient/reason. sender_gateway reports sender-rule availability. Requires domains.email.quarantine.view.
Handler: external_domain_names/GetQuarantineMessage
Description: Get a bounded plain-text spam preview. Security holds expose metadata only. Requires domains.email.quarantine.content.
Handler: domain_names/ChangeSenderRules
Description: Queue one sender-rule change. Address rules override domain defaults for the same sender pattern. Returns updating until PMG verification. Temporary shared gateway waits can queue a change; configurations requiring review reject saves. Existing fields and status values are unchanged. Requires domains.email.sender_rules.manage.
Handler: domain_names/ActOnQuarantine
Description: Act on owned spam messages with per-message results. Unknown delivery outcomes must not be retried under a new key. Requires domains.email.quarantine.release or domains.email.quarantine.delete.
Handler: external_domain_names/ChangeSenderRules
Description: Queue one sender-rule change. Address rules override domain defaults for the same sender pattern. Returns updating until PMG verification. Temporary shared gateway waits can queue a change; configurations requiring review reject saves. Existing fields and status values are unchanged. Requires domains.email.sender_rules.manage.
Handler: external_domain_names/ActOnQuarantine
Description: Act on owned spam messages with per-message results. Unknown delivery outcomes must not be retried under a new key. Requires domains.email.quarantine.release or domains.email.quarantine.delete.
Handler: mcp/ProcessMCPRequest
Description: MCP (Model Context Protocol) endpoint for supplier, domain, invoice, and translation management. Same permission requirements as POST method.
Handler: mcp/ProcessMCPRequest
Description: MCP (Model Context Protocol) endpoint for supplier, domain, invoice, and translation management. API-key authenticated MCP tool calls require the corresponding mcp_tools permission. Direct API endpoint calls use api_endpoints permissions.
getOwnedCompanies: Retrieve list of owned companiesgetSuppliers: Get supplier informationgetSupplierInvoices: View supplier invoicesgetSupplierCategories: Get supplier category listcreateSupplier: Create new suppliergetCountries: Get countries listgetCurrentWallet: Get current walletupdateSupplierInvoice: Update supplier invoice (admin only)deleteSupplierInvoice: Delete supplier invoice (admin only)invoices.read: View and download regular and monthly invoicesmonthly_invoicing.update: Update monthly invoicing preferencegetDomainNames: Get list of registered domain namesgetDomainNameOrders: Get concise list of pending or problem domain name ordersgetExternalDomainNames: Get list of external domain names (legacy alias permission for getDomainNames with domain_kind=external)createExternalDomainName: Create an external domain name recordgetDomainName: Get detailed information for one domain and inspect domain order, request, registration, or transfer statuscancelDomainNameOrder: Cancel an owned eligible domain name order. Supported products: Registration or Transfer. Eligible statuses: awaiting_required_info and transfer_faileddomains.plan.manage: Link or unlink registered and external domains to plans through MCPupdateDomainDnsRecords: Update domain DNS recordsupdateDomainDnsControl: Enable or disable domain DNS controlgetDomainDnssec: View registered-domain DNSSEC state and registrar keysupdateDomainDnssecKeys: Replace manually managed registered-domain DNSSEC keysupdateDomainDnssecStatus: Enable or disable platform-managed DNSSECupdateDomainAdvancedSettings: Enable or disable domain advanced settingsupdateDomainNameServers: Update domain name serversgetDomainNameLogs: Get domain log book entriesdomains.email.manage: Create and update domain email addresses through MCPdomains.email.delete: Delete domain email addresses through MCPdomains.email.sync: Start and view domain email sync tasks through MCPdomains.email.spam_filter.view: Read incoming spam sensitivity using getDomainIncomingSpamFilter; returns preset, enabled, status, can_change and a plain English messagedomains.email.spam_filter.manage: Change incoming spam sensitivity using updateDomainIncomingSpamFilter; poll getDomainIncomingSpamFilter with the view permission while status is updating. Only applied confirms success; unknown needs a later refresh, and failed or unavailable includes an explanationgetTranslationsWithoutAiInstructions: Get translations without AI instructions (admin only)getTranslationsWithoutTranslations: Get translations without translations (admin only)createTranslation: Create translation (admin only)updateTranslation: Update translation (admin only)deleteTranslation: Delete translation (admin only)Handler: mcp/ProcessMCPRequest
Description: MCP (Model Context Protocol) endpoint - HEAD request for connection verification
Handler: mcp/ProcessMCPRequest
Description: MCP (Model Context Protocol) endpoint - CORS preflight support
Handler: plans/GetPlans
Description: Get all all-in-one plans for the current user. Returns an array of plan objects with full details including plan specifications (CPU, RAM, disk, bandwidth), associated domain names, webhosting accounts, and available upgrade options. Admins can filter by user to view plans for specific users. When using API key authentication, requires "domains.view" permission.
Handler: plans/GetPlan
Description: Get one all-in-one plan by ID with its specifications, linked domain names, hosting accounts, upgrade options and usage. Usage covers storage, this month's hosting bandwidth, the number of domain names and the number of email addresses. Each metric has used, limit (null means unlimited), unit, status (ready, partial or unavailable) and observed_at; partial values are lower bounds.
Handler: tlds/GetTlds
Description: Get all top-level domains with pricing information and related TLD recommendations
Handler: tlds/GetTld
Description: Get a specific top-level domain by ID, including related TLD recommendations
Handler: tlds/GetRequiredInfo
Description: Check which extra information a contact needs to register domain names with a given extension. Returns mandatory and optional fields; requirements depend on the extension, the contact type (person or company) and the contact's country. Without parameters, the domain names in the current shopping cart are checked. Fields that are filled in automatically, and domain names that are already complete, are left out.