API Documentation - V2

Authentication: This API supports two authentication methods:

API Key Configuration

Enter your API key here to use it for all test requests. The key will be saved in your browser.

/contacts

GET/contacts

Handler: contacts/GetContacts

Description: Get all contacts for the current user with optional pagination and sorting. Admins can filter by user to view contacts for specific users. When using API key authentication, requires "contacts.view" permission.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
pageIntegerPage number for paginationMin: 1
itemsPerPageIntegerNumber of items per pageMin: 1, Max: 100
paginationBooleanEnable or disable pagination-
sort_byStringField to sort by. Currently only supports "id". Default is "id"One of: id
sort_orderStringSort order - accepts "ASC" or "DESC" (case-insensitive). Default is "ASC"One of: ASC, DESC, asc, desc
userIntegerFilter by user ID (admin only)Min: 1
searchStringSearch contacts by first name, last name, company name, or full name combinationsMin: 1, Max: 255

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: contacts.view
DB_001Database error occurred while fetching contacts

GET/contacts/{id}

Handler: contacts/GetContact

Description: Get a specific contact by ID

Try It Out:

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
CONTACT_NOT_FOUNDContact not found
DB_001Database error occurred while fetching contact

POST/contacts

Handler: contacts/CreateContact

Description: Create a new contact for the current user. When using API key authentication, requires "contacts.create" permission.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
first_name *StringContact first nameMin: 1, Max: 100
last_name *StringContact last nameMin: 1, Max: 100
company_nameStringCompany name (optional)Max: 200
email *EmailContact email addressMax: 255
phone_number *StringPhone number (validated against country format)Custom: phoneCountryValidation
vat_numberStringVAT number (validated via VIES for EU countries)Max: 50
is_defaultBooleanSet as default contact-
address.address_line_first *StringPrimary address lineMin: 1, Max: 255
address.address_line_secondStringSecondary address line (optional)Max: 255
address.address_line_thirdStringThird address line (optional)Max: 255
address.city *StringCity nameMin: 1, Max: 100
address.postal_codeStringPostal/ZIP code (required only when country has postal codes; validated against country format when applicable)Max: 20
address.stateStringState or province (optional)Max: 100
address.country_id *IntegerCountry ID from countries tableMin: 1

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: contacts.create
DB_001Database error occurred while creating contact
FIELD_COUNTRY_001Country ID not found in database
FIELD_PHONE_001Phone number format invalid for the specified country
FIELD_POSTAL_001Postal code format invalid for the specified country
FIELD_VAT_001VAT number validation failed via VIES API (EU countries only)
INPUT_001Invalid input data - returns field-specific errors in response body
Field Validation Error Response Format:

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:

PATCH/contacts/{id}

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.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
id *
(Path Parameter)
IntegerID of the contactRequired Integer
emailEmailUpdate email addressMax: 255
phone_numberStringUpdate phone number (validated in handler)Max: 20
vat_numberStringUpdate VAT numberMax: 50
is_defaultBooleanSet as default contact-
address.address_line_firstStringUpdate primary address lineMin: 1, Max: 255
address.address_line_secondStringUpdate secondary address lineMax: 255
address.address_line_thirdStringUpdate third address lineMax: 255
address.cityStringUpdate cityMin: 1, Max: 100
address.postal_codeStringUpdate postal/ZIP code (required only for countries with postal codes)Max: 20
address.stateStringUpdate state or provinceMax: 100

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: contacts.modify
CONTACT_NOT_FOUNDContact not found
CONTACT_NOT_OWNEDYou do not have permission to update this contact
DB_001Database error occurred while updating contact
FIELD_POSTAL_001Postal code format invalid for the specified country
INPUT_001Invalid input data - invalid country_id or phone number not valid for new country
REG_001Domain registry API error occurred
REG_002Failed to update contact at domain registry
REG_004Contact data does not meet domain registry requirements
Automatic Behaviors:
Example Request:
{
    "vat_number": "DE123456789",
    "company_name": "New Company GmbH",
    "address": {
        "country_id": 81
    }
}

PATCH/contacts/{id}/required_info

Handler: contacts/UpdateContactRequiredInfo

Description: Add registry-specific required information to a contact. This endpoint uses database-driven organizationAllowed fields to determine when to use clone contacts. For .it domains, requirements are handled through raw_additional_required_info instead of registry files. The endpoint performs comprehensive validation including registry quote checks, and if validation fails, all changes are rolled back. Returns structured field validation errors with INPUT_002 (INVALID_PARAMETERS) error code when field-level issues occur. Use GET /tlds/required_info first to determine what fields are needed - fields not listed there may be auto-generated. When using API key authentication, requires "contacts.required_info" permission.

Request Body & Try It Out:

ParameterTypeDescriptionValidationTest Value
id *
(Path Parameter)
IntegerID of the contactRequired Integer
registry *
(Request Body)
StringRegistry name (e.g., "Esnic", "Tci", "IisSe")Required String
tld *
(Request Body)
StringTop-level domain (e.g., ".es", ".tk", ".se")Required String
properties
(Request Body)
ObjectRegistry-specific fields as key-value pairs. The required fields vary by registry and TLD. Some fields may be auto-generated based on contact country and type. Use GET /tlds/required_info to check what fields are required for your specific case. Leave empty if all fields are auto-generated.
Example: {"RegistryName.fieldName":"value"}
Object

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: contacts.required_info
CONTACT_NOT_FOUNDContact not found
DB_001Database error occurred while updating required info
INPUT_001Invalid contact ID or JSON format
INPUT_002Missing required fields, field validation errors, or invalid registry/TLD combination. Returns structured field errors in response body
REG_001Failed to update contact at registry or registry validation failed
REG_003Contact is not synchronized with registry
REG_004Field validation failed - invalid format
REG_005Contact already has all required properties for this registry
REG_006Contact type (individual/organization) does not meet domain requirements

DELETE/contacts/{id}

Handler: contacts/DeleteContactById

Description: Delete a specific contact by ID. When using API key authentication, requires "contacts.delete" permission.

Try It Out:

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: contacts.delete
CONTACT_DEFAULTCannot delete default contact
CONTACT_HAS_DOMAINSCannot delete contact with active domain names
CONTACT_NOT_FOUNDContact not found
CONTACT_NOT_OWNEDYou do not have permission to delete this contact
DB_001Database error occurred while deleting contact
INPUT_001Invalid contact ID

/countries

GET/countries

Handler: countries/GetCountries

Description: Get all countries with optional sorting

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
pageIntegerPage number for paginationMin: 1
itemsPerPageIntegerNumber of items per pageMin: 1, Max: 100
paginationBooleanEnable or disable pagination-
sort_byStringField to sort by. Options: "id", "countryCode". Default is "countryCode"One of: id, countryCode
sort_orderStringSort order - accepts "ASC" or "DESC" (case-insensitive). Default is "ASC"One of: ASC, DESC, asc, desc
searchStringSearch for exact country code match (e.g., "NL", "SG", "US"). Must be exactly 2 characters. Case-insensitive.-

Possible Errors:

DB_001Database error occurred while fetching countries

GET/countries/{id}

Handler: countries/GetCountry

Description: Get a specific country by ID

Try It Out:

Possible Errors:

COUNTRY_001Country not found
DB_001Database error occurred while fetching country

/dns_templates

GET/dns_templates

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.

Try It Out:

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: dns_templates.view
DB_001Database error occurred while fetching DNS templates

GET/dns_templates/{id}

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.

Try It Out:

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: dns_templates.view
DNS_TEMPLATE_001DNS template not found

POST/dns_templates

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.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
nameStringName field-
domain_namesStringParameter value-

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: dns_templates.modify
DNS_TEMPLATE_003A DNS template with this name already exists
DNS_TEMPLATE_004One or more domains are invalid or not owned by the user
DNS_TEMPLATE_005DNS template validation failed
INPUT_001Invalid payload shape or data types

PATCH/dns_templates/{id}

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.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
id *
(Path Parameter)
IntegerID of the dns_templateRequired Integer
nameStringName field-
domain_namesStringParameter value-

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: dns_templates.modify
DNS_TEMPLATE_001DNS template not found
DNS_TEMPLATE_003A DNS template with this name already exists
DNS_TEMPLATE_004One or more domains are invalid or not owned by the user
DNS_TEMPLATE_005DNS template validation failed
INPUT_001Invalid payload shape or data types

PATCH/dns_templates/{id}/update_dns_records

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.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
id *
(Path Parameter)
IntegerID of the dns_templateRequired Integer
dns_recordsStringParameter value-

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: dns_templates.modify
DNS_001DNS record validation failed. Check error.fields for indexed field details.
DNS_TEMPLATE_001DNS template not found
DNS_TEMPLATE_005DNS template validation failed
INPUT_001Invalid payload shape or data types

DELETE/dns_templates/{id}

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.

Try It Out:

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: dns_templates.modify
DNS_TEMPLATE_001DNS template not found

/domain_names

GET/domain_names

Handler: domain_names/GetDomainNames

Description: Get all domain names for the current user. Returns an array of domain objects with full details including owner information, TLD properties, status, and associated plans. Supports searching through domain names and TLDs (e.g., "site", "eu", "ite.e", ".nl"). Admins can filter by user to view domains for specific users. When using API key authentication, requires "domains.view" permission.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
pageIntegerPage number for paginationMin: 1
itemsPerPageIntegerNumber of items per pageMin: 1, Max: 100
paginationBooleanEnable or disable pagination-
statusStringFilter by domain statusMax: 32
searchStringSearch domain names and TLDs. Examples: "site" finds site.eu, "eu" finds all domains with "eu" in name or TLD, "ite.e" finds site.eu and site.es, ".nl" finds all .nl domains-
userIntegerFilter by user ID (admin only)Min: 1
sort_byStringField to sort by. Valid options: id, registration_date, expiration_date, order_date, statusOne of: id, registration_date, expiration_date, order_date, status
sort_orderStringSort order. Valid options: asc (ascending) or desc (descending). Default: ascOne of: asc, desc, ASC, DESC

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: domains.view
DB_001Database error occurred while fetching domain names
INPUT_001Invalid input parameters

GET/domain_names/{id}

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, and email blocking status.

Try It Out:

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: domains.view
DB_001Database error occurred while fetching domain
DOMAIN_NOT_FOUNDDomain not found
INPUT_001Invalid domain ID

POST/domain_names/punycode

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.

Request Body & Try It Out:

ParameterTypeDescriptionValidationTest Value
input *
(Request Body)
StringUnicode domain label or full domain name to convert. When input contains a dot, TLD is extracted from input and must exist in domain_top_level; unknown TLDs, non-IDN TLDs, and unsupported IDN characters for that TLD are rejected. On such errors, response may include error.supported_tlds for frontend suggestions.Required String

Possible Errors:

INPUT_002Missing or invalid input, unknown TLD, unsupported IDN characters for TLD, or TLD does not support IDN (may include error.supported_tlds suggestions)

POST/domain_names/unicode

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

Request Body & Try It Out:

ParameterTypeDescriptionValidationTest Value
input *
(Request Body)
StringASCII punycode domain name to convert. Must start with "xn--" and include a known TLD (for example: xn--mnchen-3ya.com).Required String

Possible Errors:

INPUT_002Missing or invalid input, input does not start with xn--, missing dot/tld, unknown tld, or punycode conversion failed

PATCH/domain_names/{id}/dns_records

Handler: domain_names/UpdateDnsRecords

Description: Update DNS records for a domain. This endpoint performs a complete replacement of all DNS records - any records not included in the request will be deleted. The domain must have DNS control enabled and be in active status. Record names must be subdomains of the domain (e.g., "www.example.com." or "example.com."). NS records cannot be set at the root level. CNAME records cannot be set at the root level and cannot coexist with other record types at the same subdomain. Duplicate records (same name, type, and value) are not allowed. When using API key authentication, requires "domains.dns.modify" permission. Example request: {"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."}]}

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
id *
(Path Parameter)
IntegerID of the domain_nameRequired Integer
dns_records *StringArray of DNS records to set for the domain. Each record must have: name (FQDN with trailing dot), type (A, AAAA, CNAME, MX, TXT, NS, SRV, etc.), ttl (60, 300, 3600, 7200, 14400, 28800, or 86400), and value (record content). This completely replaces all existing DNS records for the domain.-

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006User does not own this domain OR API key lacks required permission: domains.dns.modify
DNS_001DNS record validation failed. Check the fields array for specific validation errors with array indices (e.g., dns_records[2].name)
DNS_002DNS control is not enabled for this domain
DOMAIN_NOT_FOUNDDomain not found
EXT_001Failed to update DNS records

PATCH/domain_names/{id}/update_dns_control

Handler: domain_names/UpdateDnsControl

Description: Enable or disable DNS control for a domain. When enabling, the endpoint updates registry nameservers to the application host defaults, recreates the DNS zone using default records, and enables DNSSEC when supported by the TLD. When disabling, it removes the DNS zone, clears registry key data for DNSSEC TLDs, and removes domain redirections. Returns the same domain payload shape as GET /domain_names/{id}. Requires API key permissions: domains.dns.control and domains.view.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
id *
(Path Parameter)
IntegerID of the domain_nameRequired Integer
dns_control_enabled *BooleanEnable or disable DNS control.-

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: domains.dns.control or domains.view
DNS_001DNS control state validation failed (already enabled/disabled, processing, or inactive domain)
DOMAIN_NOT_FOUNDDomain not found
EXT_001Failed to synchronize DNS control with external providers
INPUT_001Invalid domain ID or payload

PATCH/domain_names/{id}/advanced_settings

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.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
id *
(Path Parameter)
IntegerID of the domain_nameRequired Integer
access_to_advanced_settings *BooleanEnable or disable access to advanced settings.-

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: domains.dns.control or domains.view
DB_001Database error occurred while updating advanced settings
DNS_001Domain advanced settings validation failed (domain must be active)
DOMAIN_NOT_FOUNDDomain not found
EXT_001Failed to synchronize DNS side effects
INPUT_001Invalid domain ID or payload

/mcp

GET/mcp

Handler: mcp/ProcessMCPRequest

Description: MCP (Model Context Protocol) endpoint for supplier management. Same permission requirements as POST method.

Try It Out:

POST/mcp

Handler: mcp/ProcessMCPRequest

Description: MCP (Model Context Protocol) endpoint for supplier and domain management. IMPORTANT: MCP tools require BOTH an MCP tool permission AND the corresponding API endpoint permission. For example, getDomainNames requires mcp_tools:["getDomainNames"] AND api_endpoints:["domains.view"]. This dual-permission model provides defense-in-depth security.

Try It Out:

Possible Errors:

AUTH_003Invalid or missing authentication token
AUTH_006API key lacks required MCP tool permission

HEAD/mcp

Handler: mcp/ProcessMCPRequest

Description: MCP (Model Context Protocol) endpoint - HEAD request for connection verification

Try It Out:

/plans

GET/plans

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.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
pageIntegerPage number for paginationMin: 1
itemsPerPageIntegerNumber of items per pageMin: 1, Max: 100
paginationBooleanEnable or disable pagination-
statusStringFilter by plan status. Valid options: active, manually_expired, expired, deletedOne of: active, manually_expired, expired, deleted
userIntegerFilter by user ID (admin only)Min: 1
sort_byStringField to sort by. Valid options: id, created_at, expires_at, status, nameOne of: id, created_at, expires_at, status, name
sort_orderStringSort order. Valid options: asc (ascending) or desc (descending). Default: descOne of: asc, desc, ASC, DESC

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: domains.view
DB_001Database error occurred while fetching plans
INPUT_001Invalid input parameters

GET/plans/{id}

Handler: plans/GetPlan

Description: Get detailed information for a specific all-in-one plan by ID. Returns the plan with all its details including plan specifications, associated domain names (both internal and external), webhosting/reseller accounts, and available upgrade options.

Try It Out:

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
AUTH_006API key lacks required permission: domains.view
DB_001Database error occurred while fetching plan
GENERAL_001Plan not found
INPUT_001Invalid plan ID

/tlds

GET/tlds

Handler: tlds/GetTlds

Description: Get all top-level domains with pricing information

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
pageIntegerPage number for paginationMin: 1
itemsPerPageIntegerNumber of items per page (max 100)Min: 1, Max: 100
paginationBooleanEnable or disable pagination (default: true)-
extensionStringFilter by TLD extension (e.g., ".com", ".net")Max: 512
tagStringFilter by TLD tagMax: 255

Possible Errors:

DB_001Database error occurred while fetching TLDs

GET/tlds/{id}

Handler: tlds/GetTld

Description: Get a specific top-level domain by ID

Try It Out:

Possible Errors:

DB_001Database error occurred while fetching TLD
GENERAL_001TLD not found
INPUT_001Invalid TLD ID

GET/tlds/required_info

Handler: tlds/GetRequiredInfo

Description: Check what additional information is required for a contact to register a specific TLD. This endpoint now returns ALL fields from raw_additional_required_info (both mandatory and non-mandatory fields). Domains with only non-mandatory missing fields are automatically validated at the registry in the background, and if successful, their handles are saved and they are filtered out from the response. Domains that already have handles saved in extra_handles are also skipped. Different registries have different requirements based on domain extension, contact type (individual/company), and contact country. Without parameters, checks current shopping cart. This endpoint automatically handles field auto-generation in the background - fields that can be auto-generated (e.g., identification numbers for non-Spanish contacts on .es domains) will not appear in the required fields list.

Parameters & Try It Out:

ParameterTypeDescriptionValidationTest Value
contact_idIntegerContact ID to check. If provided, tld must also be provided-
tldStringTLD to check (e.g., ".es", ".com"). If provided, contact_id must also be provided-

Possible Errors:

AUTH_002User session has expired
AUTH_003User is not logged in
AUTH_0042FA authentication not complete
CONTACT_NOT_FOUNDContact not found
DB_001Database error occurred while fetching required info
INPUT_002Both contact_id and tld must be provided together