# HostUp API - Complete Reference Base URL: https://cloud.hostup.se Authentication: Include your API key in the X-API-Key header --- # General System information and utility endpoints ## GET /api/version **Get system version and build time** Retrieve the current system version and its build timestamp. This is useful for debugging and verifying software versions. ### Response Fields | Field | Description | |-------|-------------| | version | The unique identifier for the current system version. | | buildTime | The date and time when the system version was built. | | generatedAt | Timestamp of when the information was generated. | ### Common Use Cases - What system version are we using? - When was the current system version built? - Can you give me the system version information? - What is the latest system version? --- ## HEAD /api/version **Get system version information** Retrieve the current system version, including build time and generation timestamp. This is useful for debugging and verifying the system is running the latest update. ### Response Fields | Field | Description | |-------|-------------| | version | The system's unique version identifier. | | buildTime | The date and time when the current version was built. | | generatedAt | Timestamp of when the information was generated. | ### Common Use Cases - What system version are we running? - When was this version built? - Show the system version number. - Can you give me the system build information? --- ## GET /api/notifications **Get your notifications and messages** Retrieve a list of all notifications and messages relevant to your user account. Use this to show the user new or unread messages, for example, if a service needs attention or if there is important account information. The endpoint returns a unique `requestId` for tracking the call. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | limit | query | string | Yes | | | offset | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | notifications | A list of your notifications. | | total | The total number of notifications. | | unreadCount | The number of unread notifications. | ### Common Use Cases - Do I have any new messages? - Show my notifications - What do I need to address on my account? - Are there any important updates for my services? --- ## GET /api/cloud/quick-deploy **Get information on quick deployment of cloud services** Retrieve configuration information and pricing for quick deployment of cloud services. It also returns an ID required for subsequent calls to complete the order. Use this endpoint to understand costs and options for quickly deploying a new cloud service. ### Response Fields | Field | Description | |-------|-------------| | enabled | Indicates if the quick deployment feature is enabled. | | requiresBankId | Shows if BankID verification is required to activate the service. | | pricing | Detailed pricing per hour and gigabyte for various resources. | | defaults | Default settings for cores, memory, and disk space. | | limits | Minimum and maximum allowed values for resources like cores and memory. | | locations | Available datacenter locations for deployment. | ### Common Use Cases - How much does a cloud server cost? - What is the price for a VPS? - Can I get a quick server? - Show me the costs for hosting. - How do I set up a new service? --- ## GET /api/config/payg-availability **Check if Pay-As-You-Go is available for your account** Determine if your service is configured for Pay-As-You-Go billing. This is useful if you want to understand how your costs might look based on your actual consumption. ### Response Fields | Field | Description | |-------|-------------| | paygAvailable | Indicates if the Pay-As-You-Go option is available (true/false). | ### Common Use Cases - Is my account set to Pay-As-You-Go? - Can I use pay-per-use for my services? - How do I know if I have Pay-As-You-Go enabled? - Is pay-per-use available for my web hosting? - Can I enable Pay-As-You-Go for my server? --- ## DELETE /api/redirects **Delete a redirect rule** Remove a specific redirect rule from your account. Use this when a redirect is no longer needed, for example, if a webpage has moved permanently and the old address should no longer direct visitors. Returns a confirmation that the rule has been deleted. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | query | string | No | | | cloudflare_rule_id | query | string | No | | | cloudflare_ruleset_id | query | string | No | | | domain_name | query | string | No | | ### Response Fields | Field | Description | |-------|-------------| | message | A message confirming that the redirect rule has been deleted. | ### Common Use Cases - How do I delete a redirect? - I want to delete an old redirect - Can I delete a website redirect rule? - Delete redirect from my domain --- ## GET /api/trust-tier **Get your trust tier details** Retrieve information about your current trust tier. This tier affects various services and may grant access to faster verification processes or specific pricing. Returns a requestId for follow-up API calls, important for integration. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | recalculate | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | timestamp | The time the request was processed. | | requestId | Unique ID for the request, can be used for follow-up. | | data.success | Indicates if the trust tier data was retrieved successfully. | | data.trustTier.level | Numeric level of trust. | | data.trustTier.name | The name of the trust level (e.g., 'BankID Verified'). | | data.trustTier.floatingIpQuota | Number of allowed floating IP addresses. | | data.trustTier.reason | Reason for the current trust level. | | data.trustTier.pricing.hourly | Hourly price associated with the trust level. | | data.trustTier.pricing.monthly | Monthly price associated with the trust level. | | data.trustTier.pricing.currency | The currency for pricing. | ### Common Use Cases - What is my trust level? - How do I verify my account? - Can I get faster service? - What level is my account on HostUp? - Show information about my trust account. --- ## POST /api/mailrelay/token **Generate a security token for email sending IP authentication** Create a unique security token that links your IP address to your account. This token is necessary to send emails via our mail relay service and ensures that only authorized mailings are permitted. You will also receive a DNS record that you need to add to verify your IP address. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | ip | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | token | A unique security token used to authenticate your IP address. | | ip | The IP address the token is associated with. | | dnsRecord | A TXT DNS record you need to add to your DNS management to verify your IP address. | ### Common Use Cases - How do I send email from my server? - I'm getting an error when sending email, what should I do? - How do I configure mail relay for my IP address? - Can you help me send email from my VPS? --- ## GET /api/port25-whitelist **Manage IP addresses on the port 25 bypass list** View and manage IP addresses that are exempted from port 25 blocking. This is useful for you if you need to send emails from specific IP addresses that would otherwise be blocked. ### Response Fields | Field | Description | |-------|-------------| | entries | List of exempted IP addresses with associated information. | | total | Total number of exempted IP addresses. | ### Common Use Cases - How do I add an IP address to the port 25 bypass list? - Show my exempted IP addresses for email sending. - Can I send email from my server IP? - Port 25 bypass management. --- ## GET /api/ssh-keys **List your SSH keys** Retrieve a list of all SSH keys associated with your account. It also returns a `requestId` that can be used to track related operations in other API calls. This is useful for managing secure access to your services. ### Response Fields | Field | Description | |-------|-------------| | ssh_keys | A list of SSH keys associated with the account. | ### Common Use Cases - Show my SSH keys - How do I manage SSH keys for my account? - List all SSH keys I have configured - Show SSH key security settings --- ## POST /api/ssh-keys **Add an SSH key for secure access** Add a new SSH key to your account. This is useful for providing secure access to your servers or other services that require SSH authentication. The API returns an ID that may be needed for subsequent operations. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | public_key | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | ssh_key.id | Unique ID for the added SSH key. | | ssh_key.client_id | ID of the customer account the SSH key is associated with. | | ssh_key.name | The name given to the SSH key upon creation. | | ssh_key.key | The actual public SSH key. | | ssh_key.fingerprint | A unique fingerprint for the SSH key, used for identification. | ### Common Use Cases - How do I add an SSH key for my server? - I need to add a new SSH key to access my hosting. - How can I secure my connection with an SSH key? - Add SSH key for my VPS account. --- ## GET /api/firewall-groups **List firewall groups for your services** Retrieve a list of firewall groups associated with your services. This information is useful for understanding and managing network security for your servers and hosting. The endpoint returns a unique ID that may be needed for subsequent actions. ### Response Fields | Field | Description | |-------|-------------| | groups | A list of firewall groups. | ### Common Use Cases - Show my firewall rules - What firewall groups do I have? - How do I manage network security for my servers? - List firewall settings for my services --- ## GET /api/company-representatives **Get company representative information** Retrieve information on whether your account belongs to a company and which representatives are linked to it. Use this endpoint to verify company details or get contact information for a company representative. The response includes a `requestId` for follow-up calls. ### Response Fields | Field | Description | |-------|-------------| | isCompany | A boolean indicating if the account belongs to a company. | | representatives | A list of representatives linked to the company account. | ### Common Use Cases - Is my account a company account? - Which representatives are linked to my company? - Do I need to provide company details to use the service? - Can I see information about my account representatives? --- ## POST /api/create-order **Create a new order for services or domains** Initiate the purchase of new services or domains. This creates an order and returns a payment URL or order ID needed for further follow-up and service activation. Use this endpoint when you want to buy something new. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | clientData | object | Yes | | | cartItems | array | Yes | | | euEligibilityConfirmed | boolean | No | | | attemptKey | string | Yes | | | turnstileToken | string | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the order was created successfully. | | paymentUrl | URL to the payment page to complete the order. | | orderId | Unique ID for the created order. | | invoiceId | Unique ID for the related invoice. | | enableAffiliateTracking | Indicates if affiliate tracking is enabled for the order. | | pendingManualProcessing | Indicates if the order requires manual processing. | ### Common Use Cases - I want to buy a new domain name. - How do I buy web hosting? - I want to order a new service. - How do I place a new order? --- ## GET /api/teams **Get team and contact information** Retrieve a list of teams and their associated contacts. The response includes a unique ID that can be used in follow-up calls, for example, to initiate payment flows or review domain locks. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | type | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | contacts | A list of contacts associated with the teams. | ### Common Use Cases - Show my teams - Which contacts belong to my teams? - Show information about my teams and contacts - Get team ID --- ## POST /api/teams **Create a new customer contact account** Add a new contact person to the customer system. This endpoint returns a contact ID that can be used for future calls related to the contact's permissions and information. The phone number provided may be required to verify existing accounts or link new contacts to existing customers. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | type | string | Yes | | | firstname | string | Yes | | | lastname | string | Yes | | | email | string | Yes | | | password | string | Yes | | | phonenumber | string | Yes | | | address1 | string | Yes | | | city | string | Yes | | | country | string | Yes | | | postcode | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | contact_id | The unique ID of the newly created contact. | | call | The name of the internal function that was executed. | | server_time | Timestamp for when the server processed the request. | | error | Error message if the request failed. | ### Common Use Cases - How do I add a new contact person? - I need to create a new customer account. - Can I add an employee as a contact person? - Create a new contact for my company. --- ## POST /api/logout **Log out your account** Log out a user from the system. A successful logout returns a unique ID that can be used to track the logout request in system logs. This ID may be important for troubleshooting or tracking specific events. ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the logout was successful. | | requestId | A unique ID for this request, useful for logging and troubleshooting. | ### Common Use Cases - How do I log out of my account? - I want to end my session. - How do I log out of HostUp? - Can I log out from all devices simultaneously? --- ## GET /api/cost-management/budget **Get your cost control budget settings** Retrieve your current cost control budget settings, including monthly and annual budgets, and alert thresholds. It also returns a request ID that can be used for follow-up API calls related to cost management, necessary for completing certain administrative processes. ### Response Fields | Field | Description | |-------|-------------| | monthly_budget | Monthly budget for cost control. | | annual_budget | Annual budget for cost control. | | alert_threshold | Threshold (in percentage) that triggers a warning when costs reach it. | | email | Email address where alerts are sent when the threshold is exceeded. | | active | Indicates if budget monitoring is active. | ### Common Use Cases - How can I set a budget for my hosting costs? - Can I get a warning when I'm approaching my budget? - Where can I see my cost limits? - How do I set alerts for my VPS costs? - Show my web hotel budget settings. --- ## POST /api/cost-management/budget **Set and manage cost control budgets** Define monthly and annual budgets, and a threshold for cost warnings. This helps you keep track of your expenses and avoid unexpected costs. The endpoint returns an ID that may be needed for follow-up calls related to cost management. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | monthly_budget | integer | Yes | | | annual_budget | any | Yes | | | alert_threshold | integer | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | budget.id | Unique identifier for the created budget, used for future references. | | budget.monthly_budget | The specified monthly budget. | | budget.annual_budget | The specified annual budget. | | budget.alert_threshold | Percentage threshold that triggers a cost alert. | ### Common Use Cases - How do I set a budget for my hosting costs? - I want to be warned when my costs approach a certain limit. - Can I set an annual budget for my services? - Where can I find my current cost limits? - Set budget for my servers. --- ## POST /api/keys **Create and manage API keys for automation** Generate an API key for automating tasks like DNS management. This returns a key that you must save securely, and an ID for subsequent API calls related to the key. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | scopes | array | Yes | | | is_test | boolean | Yes | | | description | string | No | | | expires_in_days | integer | No | | | allowed_dns_zones | array | No | | | dns_permissions | array | No | | ### Response Fields | Field | Description | |-------|-------------| | key_id | Unique ID for the created API key. | | key | The API key itself. Save this securely as it will not be shown again. | | name | The name given to the API key during creation. | | scopes | The permissions the API key has (e.g., 'write:dns'). | | dns_permissions | Specific DNS permissions assigned to the key. | | created_at | The timestamp when the API key was created. | | message | A message confirming the API key creation. | ### Common Use Cases - How do I create an API key to manage my DNS settings? - I need an API key to automate certificate renewal. - How do I get a key to programmatically change DNS records? - Can I create an API key to manage my domain settings via an external tool? --- ## DELETE /api/keys **Revoke an API key** Permanently remove an API key that is no longer needed or has been compromised. Once revoked, the key can no longer be used to authenticate against our services. The endpoint returns an ID to track the operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | key_id | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Message confirming the API key has been revoked. | ### Common Use Cases - I want to delete my API key - How do I delete an API key? - I need to revoke an API key for my account - Can I delete an API key I'm not using? --- ## GET /api/keys/{keyId} **Get details and permissions for a specific API key** View detailed information about a specific API key, including its authorized actions (scopes). The returned 'requestId' can be used for subsequent calls requiring a job reference. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | keyId | path | string | Yes | keyId parameter | ### Response Fields | Field | Description | |-------|-------------| | scopes | An object describing the permissions (scopes) the API key has for different service categories. | | requestId | A unique ID for this request, useful for tracking the operation or for subsequent calls. | ### Common Use Cases - What permissions does my API key have? - Show details for API key {keyId} - What can I do with API key {keyId}? - Check the access level for an API key --- ## PUT /api/keys/{keyId} **Update an API key for your services** Modify existing API keys. You can update the name, activation status, or associated permissions, which is useful for adjusting access for external applications or services. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | keyId | path | string | Yes | keyId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | scopes | array | Yes | | | is_active | boolean | Yes | | | allowed_dns_zones | array | Yes | | | dns_permissions | array | Yes | | | description | string | No | | ### Response Fields | Field | Description | |-------|-------------| | message | Notification that the API key has been updated. | ### Common Use Cases - How do I change an API key? - Can I update permissions for an API key? - How do I enable or disable an API key? - I need to change the name of my API key, how do I do that? --- ## GET /api/private-networks **Get information about private networks and network settings** Retrieve detailed information about the private networks associated with your account, including default settings and any limitations. It returns a unique ID that may be needed for subsequent actions related to network configuration or other services. ### Response Fields | Field | Description | |-------|-------------| | networks | A list of existing private networks. | | defaults | Default network configuration settings, including rack ID, VLAN range, and IP masks. | | limits | Information about private network limits, including how many are in use and how many are available. | ### Common Use Cases - Show my private network settings. - How do I configure a private network? - What network settings apply to my services? - Show information about network defaults. - What is the default VLAN range for my servers? --- ## POST /api/private-networks **Create and allocate a private network for your service** Create an isolated private network for your services. This is useful for increasing security and managing network traffic more efficiently between your resources. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | action | string | Yes | | | description | string | No | | ### Response Fields | Field | Description | |-------|-------------| | message | Confirmation message that the private network has been allocated. | | allocation | Information about the allocated private network resource, including its ID, status, and creation date. | | firstSubnet | Details of the first subnet created within the private network, including its CIDR block and VLAN ID. | ### Common Use Cases - How do I create a private network? - I need an isolated network for my servers. - How do I allocate network resources? - Create a new private network for my VPS. --- ## GET /api/floating-ip **Get status and pricing for the Floating IP service** Check if Floating IP is enabled for your account, view your current tier and quota, and see pricing. It also returns a unique ID for subsequent calls to manage or verify the service. ### Response Fields | Field | Description | |-------|-------------| | enabled | Indicates whether the Floating IP service is enabled. | | message | A message describing the status of the Floating IP service. | | trustTier.level | The level of customer trust or status. | | trustTier.name | The name of the customer's trust tier. | | trustTier.floatingIpQuota | The allocated quota for Floating IP addresses. | | trustTier.reason | The reason for the current trust tier. | | pricing.hourly | The cost of Floating IP per hour. | | pricing.monthly | The cost of Floating IP per month. | | pricing.currency | The currency used for pricing. | ### Common Use Cases - Is Floating IP enabled on my account? - How much does Floating IP cost per month? - What tier is my Floating IP service on? - Show information about my Floating IP quota. - Can I enable Floating IP? --- ## GET /api/audit-log **Get and review logs of API calls and system events** Access a detailed log of all API calls made within your account, including timestamp, call type, and status. This information can be used for troubleshooting, reviewing security events, or understanding service interactions. The endpoint also returns a requestId for tracking specific operations. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | include_stats | query | string | Yes | | | limit | query | string | Yes | | | page | query | string | Yes | | | start_date | query | string | Yes | | | end_date | query | string | Yes | | | hide_get | query | string | No | | ### Response Fields | Field | Description | |-------|-------------| | logs | A list of log entries describing each API call or event. | | total | The total number of log entries available. | | stats | Statistics on API usage and security events. | | page | The current page number for the logs. | | limit | The number of log entries displayed per page. | | hasMore | An indication of whether there are more log entries to retrieve. | | requestId | A unique ID for the current request, can be used for tracking in other calls. | ### Common Use Cases - Show me my recent API calls - Can I see a history of my account events? - Troubleshooting my services, where do I find logs? - Show me all events related to my account in the last 90 days --- ## POST /api/notifications/{id} **Send a test alert for a monitoring service** Manually send a test alert from your monitoring service. This is useful for verifying that your alerts are configured correctly and function as expected. The endpoint returns a job ID to track the test alert status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | string | Yes | id parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | url | string | No | | | name | string | No | | | description | string | No | | | check_interval | integer | No | | | timeout | integer | No | | | max_response_time | integer | No | | | consecutive_failures | integer | No | | | method | string | No | | | expected_status_codes | array | No | | | search_string | string | No | | | check_ssl | boolean | No | | | ssl_alert_days | integer | No | | | alert_channels | array | No | | | type | string | No | | | endpoint_id | integer | No | | ### Response Fields | Field | Description | |-------|-------------| | message | The message sent with the alert. | | monitor | Information about the monitored service, including ID, name, and URL. | | jobId | ID of the sent job, used to track status. | | success | Indicates if the request to send the alert was successful. | | monitorId | ID of the monitored service. | ### Common Use Cases - How do I test my alerts? - Send a test message from monitoring. - Can I test my email alert? - Verify that my monitoring sends alerts. --- ## PUT /api/notifications/{id} **Update notification settings for a specific message** Mark a specific message as read. This helps you keep track of your notifications and ensure you don't miss important information. A unique requestId is returned upon completion to follow up on the operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | string | Yes | id parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | client_id | string | No | | | email_settings | object | No | | | slack_settings | object | No | | | discord_settings | object | No | | | teams_settings | object | No | | | in_app_settings | object | No | | | alert_thresholds | object | No | | | id | integer | No | | | url | string | No | | | name | string | No | | | description | string | No | | | check_interval | integer | No | | | timeout | integer | No | | | max_response_time | integer | No | | | consecutive_failures | integer | No | | | method | string | No | | | expected_status_codes | array | No | | | search_string | string | No | | | check_ssl | boolean | No | | | ssl_alert_days | integer | No | | | alert_channels | array | No | | | action | string | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the notification setting update was successful. | | requestId | A unique ID for this specific request, useful for troubleshooting and tracking. | ### Common Use Cases - I've read a message, how do I mark it as read? - How do I update my notification settings? - Where do I find my notifications and how do I manage them? - Can I mark a message as read via the API? --- ## GET /api/volumes **List all storage volumes** Retrieve a list of all available storage volumes. This endpoint returns a unique ID (requestId) usable in subsequent calls to track operations related to these volumes, such as billing or administrative tasks. ### Response Fields | Field | Description | |-------|-------------| | volumes | A list of the volumes found. | | count | The number of volumes found. | ### Common Use Cases - Show all my storage volumes - What storage volumes do I have? - List my disks - Show volume information --- ## GET /api/port25/requests **View status of port 25 requests** View the status of port 25 requests. The endpoint returns a unique ID that can be used in subsequent calls to retrieve detailed information about the request. ### Response Fields | Field | Description | |-------|-------------| | whitelist | A list of approved addresses or IP addresses for port 25. | | requests | A list of port 25 requests and their status. | ### Common Use Cases - What is the status of my port 25 requests? - Can I see the history of port 25 requests? - Where can I find information about port 25 status? - Show my port 25 requests --- ## GET /api/cancellations/{accountId} **Check for an active cancellation request on an account** Check if a specific customer account has an ongoing cancellation request. This prevents duplicate cancellations and provides accurate service status feedback. The endpoint returns a unique 'requestId' for tracking. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | hasCancellation | Indicates if the account has an active cancellation request (true/false). | | requestId | Unique ID for this request, used for tracking subsequent API calls. | ### Common Use Cases - Does my account have a cancellation? - Are my services being cancelled? - Can I see my cancellation status? - Check if account [accountId] is cancelled --- ## DELETE /api/cancellations/{accountId} **Cancel a service cancellation request** Remove a previously submitted service cancellation request. This is useful if a customer changes their mind and wishes to keep their service. The endpoint returns a unique requestId for follow-up actions. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | message | A message describing the result of the operation. | | info | Additional information about the cancellation request removal. | ### Common Use Cases - I want to cancel my hosting cancellation. - Can I remove my VPS cancellation request? - I regret my cancellation, how do I undo it? - Remove my account's cancellation request. --- ## POST /api/bankid/select-account **Select bank account for BankID authentication** Choose which of your bank accounts to associate with your BankID authentication. It returns a unique ID required for subsequent operations, such as making Stripe payments or reviewing registry locks. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | clientId | string | Yes | | | pnr | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Message confirming the account has been successfully selected. | ### Common Use Cases - How do I choose which bank account to use with BankID? - I want to link my bank account to BankID. - Can I select an account for BankID login? - How do I set up my bank account for verification? --- ## POST /api/google/complete-mfa **Complete two-factor authentication for Google SSO** Complete the login process when Google Single Sign-On (SSO) requires a second authentication factor (MFA). After successful MFA verification, a requestId is returned for subsequent calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | mfaCode | string | Yes | | | rememberDevice | boolean | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if MFA verification was successful. | | message | A message confirming the Google SSO login was completed with MFA. | ### Common Use Cases - I need to complete my Google login. - My Google login asked for a code, how do I proceed? - How do I complete two-factor authentication for my Google account? - Can you help me log in via Google SSO? --- ## POST /api/email-verification/confirmed **Confirm email verification and clear cache** Confirm that an email verification has been completed and clear relevant caches to ensure updates take effect quickly. The API returns a unique ID for tracking. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | | approved | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | message | A message describing the result of the operation. | | clearedDomains | A list of domains whose verification cache has been cleared. | | clientsNotified | A list of client IDs notified of the change. | ### Common Use Cases - How do I confirm an email verification? - Can you clear the email verification cache? - I have verified my email, what happens now? - What is the status of my email verification? --- ## POST /api/validate-vat **Validate VAT registration number for EU customers** Verify the validity of a VAT registration number for customers within the EU. This is particularly useful when registering new accounts or updating billing information to ensure correct VAT accounting. The endpoint returns a unique ID for subsequent calls related to billing or administration. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | countryCode | string | Yes | | | vatNumber | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | valid | Indicates if the VAT number is valid. | | vatNumber | The provided VAT number. | | countryCode | The country code of the VAT number. | | name | The company name associated with the VAT number (if available). | | address | The address associated with the VAT number (if available). | | requestDate | The date and time the verification was performed. | | verifiedByVIES | Whether the verification was performed via the VIES system. | | viesUnavailable | If the VIES system was unavailable during verification. | ### Common Use Cases - Is my VAT number valid? - How do I verify my EU VAT number? - Can you check my company's VAT number? - Validate my VAT registration number for billing. --- ## GET /api/client-ips **Get assigned IP addresses for your account** Get an overview of all IP addresses associated with your account. It also returns a unique ID needed for follow-up actions or identifying specific resources in other API calls. Use this information to manage and understand your network configuration. ### Response Fields | Field | Description | |-------|-------------| | ips | A list of IP addresses assigned to your account, including details like address, type, status, and description. | | subnets | Information about network subnets in use. | | summary | A summary of IP addresses, including total count, IPv4/IPv6 distribution, and allocated vs. available counts. | ### Common Use Cases - What IP addresses am I using? - Show my assigned IP addresses. - What does my IP address configuration look like? - Where can I see the IP addresses for my services? - Give me a list of my IP addresses. --- ## GET /api/events **Get system event and error information** Retrieve information about system events, including error messages from API calls. This is useful for troubleshooting and understanding why an API call might have failed, especially during service overload. ### Response Fields | Field | Description | |-------|-------------| | error | The type of error that occurred. | | message | A more detailed description of the error. | | retryAfter | The time when the request can be made again, if it's a rate limit issue. | | requestId | Unique ID for the request, useful for troubleshooting. | ### Common Use Cases - Why did I receive an error message? - What does 'Too Many Requests' mean? - How do I know if there are server issues? - Can you provide more details about a recent error? - What should I do if I get an error message on an API call? --- ## GET /api/cloud/limits **View current resource limits for your account.** This endpoint provides an overview of your current resource limits for various services like CPU, RAM, and disk space. It's useful for understanding how much of your allocated resources are consumed and how much remains. The endpoint also returns a unique requestId that may be needed for certain follow-up actions, such as initiating payments. ### Response Fields | Field | Description | |-------|-------------| | limits | An object containing detailed limits for various resources such as CPU, RAM, disk space, IP addresses, VMs, snapshots, and private networks. Each resource shows its total limit, usage, and available amount. | | hasPendingRequests | A boolean indicating if there are any pending requests related to resource limits. | | pendingRequests | An array listing any pending requests for resource limits. If 'hasPendingRequests' is false, this array is empty. | | requestId | A unique ID for this specific request, which can be used in other API calls to reference this action. | ### Common Use Cases - How much CPU do I have left? - What are my disk space limits? - How much RAM can I use? - View my resource limits - How many VPS can I create? --- ## POST /api/monitoring/status **Start or trigger a monitoring check for your services** Manually initiate a monitoring check for a specific service, such as a VPS or server. The endpoint returns a jobId that you use to track the status and results of the check via other API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | action | string | Yes | | | vmIds | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request to trigger the monitoring check was successful. | | jobId | A unique ID for the monitoring job created. Used to retrieve results. | | message | A message describing the result of triggering the monitoring job. | ### Common Use Cases - Can I start a monitoring check manually? - How do I check my server's status now? - I want to trigger a monitoring check for my VPS. - Need to check my service performance, how do I do that? --- ## GET /api/private-networks/{id} **Get private network details** Retrieve detailed information about a specific private network. This may include network name, gateway, VLAN information, and a list of IP addresses within the network. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | network.id | ID of the private network | | network.name | Name of the private network, including its IP address space | | network.gateway | Gateway address of the network | | network.description | Description of the network | | network.vlan | VLAN number the network belongs to | | ips | List of IP addresses within the network, with details like address, status, and assignment | ### Common Use Cases - Show information about my private network - What IP addresses are in network X? - Show network settings for my VLAN - What is the gateway address for my private network? --- ## DELETE /api/private-networks/{id} **Delete a private network configuration** Remove a private network configuration that is no longer needed. This can be useful if you have created a network for specific purposes and now want to free up resources. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | subnetId | ID of the deleted subnet. | | status | Status of the network configuration after deletion (e.g., 'retired'). | ### Common Use Cases - How do I delete a private network? - I want to delete my network configuration. - How do I terminate a private network? --- ## GET /api/external-api-logs **View logs for external API calls** View logs of external API calls made. This is useful for troubleshooting and understanding how different services interact. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | include_stats | query | string | Yes | | | limit | query | string | Yes | | | page | query | string | Yes | | | start_date | query | string | Yes | | | end_date | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | logs | A list of log entries for external API calls. | | total | Total number of log entries matching the query. | | page | The current page number for the results. | | limit | The number of log entries per page. | | hasMore | Indicates if there are more log entries to retrieve. | | stats | Statistics on API calls, including total count, successful/failed calls, and average response time. | ### Common Use Cases - Show logs for external API calls - Can I see a history of API calls? - How do I troubleshoot issues with external integrations? - Show logs for the HostBill integration --- ## GET /api/keys/{keyId}/stats **Get API key usage statistics** Get an overview of how your API key has been used over a specific period. You will receive detailed information on the total number of calls, successful and failed calls, and a breakdown per endpoint and error code. The 'requestId' returned may be needed for follow-up actions in other API calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | keyId | path | string | Yes | keyId parameter | | days | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | period_days | The number of days the statistics cover. | | totals | Summary statistics for the entire period, including total calls, successful calls, failed calls, and average response time. | | daily_stats | A list of statistics broken down by day within the specified period. | | endpoint_breakdown | A breakdown of calls per specific endpoint and HTTP method. | | error_breakdown | A summary of failed calls based on status code and any error messages. | ### Common Use Cases - How much has my API key been used? - Show usage statistics for my API calls. - How many calls has my API key made? - Get a report on API key performance. - Which endpoints have been used most with my API key? --- ## GET /api/floating-ip/metered-usage **View dedicated IP address usage and cost** See how many dedicated IP addresses you are using and their associated costs. Understand your consumption and charges. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | usage | Number of dedicated IP addresses used during the current period. | | charge | Total cost for the dedicated IP addresses used during the current period. | | ipCount | Number of dedicated IP addresses associated with your account. | | currentPeriodCharge | The current cost accumulating for the ongoing billing period. | | unit | The unit of usage, e.g., 'IP(s)'. | | cycle | The billing cycle for the IP addresses, e.g., 'Monthly'. | ### Common Use Cases - How many dedicated IP addresses am I using? - What do my dedicated IP addresses cost? - Show IP address usage. - What does my IP address usage look like this month? --- ## POST /api/notifications/url-monitors/{id}/test **Test URL monitoring** Manually trigger a test check of a specific URL monitor to verify it's working correctly and your site is responding. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | message | A message confirming the test check has been queued. | | monitor | Information about the monitored resource, including its ID and name. | | jobId | ID of the queued test job. | ### Common Use Cases - Can you test if my website is working? - I want to test my URL monitoring. - Is my website functioning correctly? - Check if my service is responding. --- ## GET /api/cloud/{accountId}/resize **Resize your cloud services** Adjust the resources for your cloud services, such as CPU cores, memory, and disk space. Use this to meet application demands or optimize costs. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | cores | Number of CPU cores allocated. | | memory | Amount of RAM available (in GB). | | disk | Available disk space (in GB). | | status | Current status of the service (e.g., 'running', 'stopped'). | | updated_at | Timestamp when the service was last updated. | | cached | Indicates if the information is cached. | ### Common Use Cases - How do I increase resources for my server? - I need more memory for my VPS, how do I do it? - Can I resize my virtual server? - How do I adjust the disk space for my account? --- ## POST /api/keys/{keyId}/roll **Replace your API key** Replace an existing API key. This generates a new key and its ID, which are necessary for future API calls related to key management. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | keyId | path | string | Yes | keyId parameter | ### Response Fields | Field | Description | |-------|-------------| | key_id | Identifier for the new API key. | | key | The newly generated API key. Store this securely. | | name | The name of the API key. | | description | Description of the API key. | | scopes | Permissions granted to the new API key. | | dns_permissions | Specific DNS permissions associated with the key. | | created_at | Timestamp when the new API key was created. | | message | A confirmation message that the API key has been replaced and the old one invalidated. | ### Common Use Cases - How do I change my API key? - I lost my API key, what do I do? - How do I update my account security with a new API key? - Can I reset my API key? --- ## GET /api/notifications/url-monitors/{id}/history **View your service URL monitoring history** Get a detailed history of your website's monitoring, including status, response times, and errors, to troubleshoot issues and track performance over time. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | | hours | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | monitor | Information about the monitored service, including name and URL. | | history | A list of past monitoring events with details on status, response time, error messages, and SSL status. | | stats | Monitoring statistics, such as total checks, successful/failed checks, and average response time. | | incidents | Information about specific incidents that occurred, like downtime. | | period | The time period covered by the history. | ### Common Use Cases - Why has my website been down? - Show my URL monitoring history - When did my website stop working? - What has my service response time been in the last 24 hours? --- ## POST /api/cart/chatbot **Configure and purchase services via chat** Interact with a chatbot to configure and purchase hosting services. The chatbot can answer questions, provide recommendations, and guide you through the purchase process. ### Response Fields | Field | Description | |-------|-------------| | reply | The direct response from the chatbot. | | structuredReply | A structured response including greetings, answers, specific statements with references (snippets), and links to relevant pages. | | sources | A list of sources the chatbot's response is based on, including titles, URLs, and scores. | | suggestionId | A unique identifier for the suggested response. | | fallback | A boolean flag indicating if a default response was used. | | debug | Debugging information, including reasons for fallback, match counts, and vector queries. | ### Common Use Cases - I want to buy a VPS with extra IP addresses. - How do I add more IP addresses to my server? - Can I get a static IP address for my hosting? - What do extra IP addresses cost for a VPS? - How do I configure my new VPS with specific settings? --- # VPS Services Virtual machines, storage, networking, and snapshots ## GET /api/vm/{vmid}/active-jobs **Check active jobs and operations for a specific VM** Check if any active operations or jobs are running for a specific virtual machine (VM). Use this endpoint to see if a VM is busy with an ongoing process, such as a backup or system update. VM ID (vmid) is obtained from endpoints like GET /api/vm/{vmid}/status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | jobs | A list of active jobs for the specified VM. | | hasActiveBackup | Indicates if an active backup operation is in progress. | | hasActiveOperation | Indicates if any other active operation is in progress for the VM. | | canPerformActions | Indicates if you can perform actions on the VM right now. | ### Common Use Cases - Are there any ongoing jobs on my server? - Is my virtual server busy right now? - Can I make changes to my VM, or is an operation in progress? - Check the status of active jobs on my VPS --- ## GET /api/vm/{vmid}/rebuild-status **Get the rebuild status of a virtual server** Check the status of an ongoing or recently completed rebuild of your virtual server (VM). It returns a unique ID that can be used to track the result in other API calls. Check if the server is running, its uptime, and any messages related to the rebuild. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | status | Current status of the virtual server (e.g., 'running', 'stopped'). | | status_lang | A more descriptive status code. | | locked | Indicates if the server is locked. | | built | Shows if the server has been built. | | power | Shows if the server is powered on. | | uptime | The server's uptime in seconds. | | isRebuilding | Boolean indicating if a rebuild is in progress. | | rebuildProgress | Percentage completion of the rebuild. | | rebuildMessage | A message describing the rebuild status or result. | | credentials | Contains login credentials such as username and password if available. | ### Common Use Cases - How is the rebuild of my VPS going? - Is my virtual server ready after the rebuild? - What is the status of my server rebuild? - Can you see if my VM is online after the rebuild? - Show the rebuild status of my server. --- ## GET /api/vm/{vmid}/metrics **Get performance metrics for a specific virtual server** Retrieve detailed performance data for a specific virtual server (VM). This is useful for monitoring resources like CPU, memory, disk, and network usage over time. The endpoint returns a unique ID (requestId) that can be used in other API calls to track specific operations. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | | timeframe | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | timestamps | Timestamps for the collected metrics. | | cpu | CPU usage in percent for each timestamp. | | memory | Memory usage in percent for each timestamp. | | diskread | Disk reads per second for each timestamp. | | diskwrite | Disk writes per second for each timestamp. | | netin | Network input in bytes per second for each timestamp. | | netout | Network output in bytes per second for each timestamp. | | requestId | Unique ID for the request, can be used for tracking in other API calls. | ### Common Use Cases - How is my VPS performing right now? - Show CPU and memory usage for my virtual server. - Can I see disk and network activity for my server? - What is the current resource usage for my VM? --- ## GET /api/vps-accounts **List all your VPS accounts** Get an overview of all your virtual servers (VPS), including IP address, status, resources, and bandwidth usage. This endpoint returns a unique ID needed for subsequent actions. ### Response Fields | Field | Description | |-------|-------------| | vps_accounts | A list of your VPS accounts with detailed information. | | pagination | Information about pagination for the result. | ### Common Use Cases - Show my VPS servers - List all my virtual servers - How much bandwidth is my VPS using? - What is the status of my server? - Show my VM accounts --- ## POST /api/cloud/quick-deploy **Quick deploy a cloud server (VM)** Quickly deploy a new virtual machine (VM) in the cloud. Select the desired configuration, such as the number of cores, memory, disk space, and server location, to create a new instance. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | hostname | string | Yes | | | cores | integer | Yes | | | memory | integer | Yes | | | disk | integer | Yes | | | location | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Status message that the cloud VM order has been created and deployment is in progress. | | orderId | Order ID for the new cloud server. | | invoiceId | Invoice ID, if applicable. | | accountId | Account ID the server belongs to. | | hostname | Name of the ordered server. | | cores | Number of CPU cores assigned to the server. | | memory | Amount of RAM assigned to the server (in GB). | | disk | Size of the disk space assigned to the server (in GB). | | location | The server's geographical location. | | redirectUrl | URL to a page where the user can view their new server. | | note | Additional information about the order status. | ### Common Use Cases - I want to order a new VPS, how do I do it? - How do I create a virtual server quickly? - Can I order a new server instance with a specific configuration? - Order a VM with 4 cores and 20GB memory in Stockholm. --- ## GET /api/vps-products **Get a list of available VPS products and their specifications** Retrieve a complete list of all offered VPS products. The information includes details like CPU, RAM, storage, bandwidth, and pricing, allowing you to display and compare different VPS options. ### Response Fields | Field | Description | |-------|-------------| | id | Unique identifier for the product. | | name | The name of the VPS product (e.g., VPS XS). | | description | A detailed description of the product's specifications (CPU, RAM, storage, bandwidth). | | category_name | The name of the category the product belongs to (e.g., Regular Compute). | | m | The monthly cost of the product. | | stock | Number of available units of the product. | | visible | Indicates if the product is visible to customers (1 for visible, 0 for hidden). | ### Common Use Cases - Which VPS servers can I buy? - Show specifications for your virtual servers. - Can I see a list of all available VM products? - What do your different VPS packages cost? - Show all server products. --- ## POST /api/firewall-groups **Create and manage firewall groups for servers** Create new firewall groups and define rules for network traffic. It returns a unique ID for the firewall group that can be used in subsequent API calls to manage or reference the group. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | description | string | Yes | | | rules | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | timestamp | The time the request was processed. | | requestId | Unique ID for the request, used for troubleshooting and follow-up. | | data.group.id | The unique ID of the created firewall group. | | data.group.name | The name of the firewall group. | | data.group.description | Description of the firewall group. | | data.group.is_system | Indicates if the group is a system group. | | data.group.created_at | The time the group was created. | | data.group.updated_at | The time the group was last updated. | | message | A message confirming that the firewall group was created. | ### Common Use Cases - How do I create a new firewall group? - I need to add a rule to my firewall. - Can I configure network security for my server? - Create a firewall for my VPS. --- ## GET /api/vm/{vmid}/status **Get status and resource usage for a virtual server (VM)** Check the current status of a specific virtual server (VM), including whether it is running or stopped. It also returns detailed information about the server's resource usage such as CPU, memory, and disk space. This endpoint returns a 'requestId' for tracking operations, and 'vmid' and 'pid' as important identifiers for subsequent actions. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | vmid | Identifier for the virtual server. | | node | The server node where the virtual machine is running. | | name | The name of the virtual server. | | status | Current status of the virtual server (e.g., 'running', 'stopped'). | | uptime | Time in seconds the server has been running. | | cpu | Current CPU usage in percent. | | cpus | Number of CPU cores the server has. | | maxcpu | Maximum number of CPU cores available to the server. | | mem | Current memory usage in bytes. | | maxmem | Maximum available memory in bytes. | | disk | Current disk space usage in bytes. | | maxdisk | Maximum available disk space in bytes. | | netin | Total network ingress traffic in bytes. | | netout | Total network egress traffic in bytes. | | diskread | Total data read from disk in bytes. | | diskwrite | Total data written to disk in bytes. | | pid | Process ID of the main process for the virtual machine. | | os | Operating system codename (e.g., 'l26' for Linux 2.6). | | pending_tasks | A list of tasks pending for this VM. | ### Common Use Cases - Is my server running? - How much CPU is my VM using? - Check the status of my virtual server - Show resource usage for my VPS - Is my VPS running? --- ## POST /api/vm/{vmid}/status **Reboot a VPS or virtual server** Reboot a specific VPS or virtual server. You submit the action to perform (e.g., 'restart') and receive a jobId to track the reboot operation's status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | action | string | Yes | | | force | boolean | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the reboot request was successful. | | action | The action requested, e.g., 'restart'. | | jobId | A unique ID for the reboot job, used to track its status. | | message | A message describing the status of the action. | | estimated_time | Estimated time in seconds to complete the reboot. | ### Common Use Cases - How do I reboot my VPS? - I need to reboot my virtual server. - Can you reboot my server? - How do I check the status after rebooting my VM? --- ## GET /api/windows-vps-products **List available Windows VPS products** Retrieve a list of all Windows VPS products available for purchase or configuration. Use this to show customers the available virtual server options. ### Response Fields | Field | Description | |-------|-------------| | id | Unique ID for the VPS product. | | name | The name of the VPS product (e.g., 'VPS Large (High CPU)'). | | description | A detailed description of the VPS product's specifications (CPU, RAM, storage, bandwidth). | | price_monthly | The monthly cost of the VPS product. | | stock | Current stock status for the product (0 means out of stock). | | category_name | The name of the category the product belongs to (e.g., 'Regular Compute (remote-ryzen)'). | ### Common Use Cases - What Windows VPS servers can I buy? - Show me all available Windows VPS packages. - What are your Windows VPS solutions? - I want to order a Windows VPS, which ones are available? --- ## GET /api/vm/{vmid}/firewall/group **Get firewall group information for a VM** Retrieve information about the firewall group assignment for a specific virtual machine (VM). This endpoint returns an ID that may be needed for further follow-up or to check the status of an operation. Use this to view or verify firewall settings for your server. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | timestamp | The time the request was processed. | | requestId | Unique ID for this specific request, used to track the operation. | | assignment | Information about the firewall group assignment. Can be null if none is assigned. | ### Common Use Cases - Can you show me the firewall settings for my server? - How do I check which firewall groups my VM belongs to? - Show firewall assignment for my virtual server. - I need information about the firewall group for my VM. --- ## POST /api/vm/{vmid}/firewall/group **Assign a firewall group to a virtual server** Assign a specific firewall group to a virtual server (VM). This is useful for applying network rules to your server to enhance security. The endpoint returns an ID to track the assignment status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | groupId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | assignment.id | Unique ID for the firewall assignment. | | assignment.group_id | ID of the firewall group assigned. | | assignment.hostbill_account_id | Hostbill account ID linked to the assignment. | | assignment.client_id | The client's ID. | | assignment.proxmox_vm_id | Proxmox VM ID. | | assignment.server_id | The server's ID. | | assignment.last_applied_at | Timestamp when the firewall was last applied. | | assignment.last_applied_status | Status of the last application (e.g., 'pending'). | | assignment.last_error | Any error messages from the last application. | | assignment.created_at | Timestamp when the assignment was created. | | assignment.updated_at | Timestamp when the assignment was last updated. | | message | A message describing the result of the operation, e.g., that the assignment has been queued for application. | ### Common Use Cases - How do I add a firewall for my VPS? - I want to link a firewall group to my server, how do I do that? - Can I control network traffic to my virtual server? - How do I configure security rules for my VM? - Associate firewall group with server --- ## GET /api/notifications/{id} **Get details for a specific notification service** Retrieve detailed information about a specific notification service, such as configured thresholds and integration settings for various messaging services. The ID provided is unique to each notification service and specifies which service to retrieve. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | string | Yes | id parameter | ### Response Fields | Field | Description | |-------|-------------| | monitoredVMs | List of monitored virtual machines. | | lastCheck | Timestamp of the last check of the notification service. | | email_settings | Settings for email notifications. | | slack_settings | Settings for Slack notifications. | | discord_settings | Settings for Discord notifications. | | teams_settings | Settings for Microsoft Teams notifications. | | in_app_settings | Settings for in-app notifications. | | alert_thresholds | Thresholds for triggering alerts. | ### Common Use Cases - Can you show me the settings for my VPS notifications? - How do I configure alerts for my servers? - Show details for notification service with ID X. - I want to see how my VPS servers are monitored. --- ## GET /api/vm/{vmid}/agent/exec **Check QEMU Guest Agent availability** Check if the QEMU Guest Agent is installed and running on your VPS. This is crucial for OS-level communication, enabling features like file system backups and proper shutdowns. The endpoint returns a unique 'requestId' for tracking. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | | pid | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | available | Indicates if the QEMU Guest Agent is available on the VPS. | | vmRunning | Indicates if the VPS is running. | | message | A message describing the status of the QEMU Guest Agent. | ### Common Use Cases - Is the QEMU Guest Agent running on my server? - Can I run commands on my virtual server? - How do I check if my VPS is ready for advanced features? - Is the agent for my VM available? - Do I need to install something to manage my server better? --- ## POST /api/vm/{vmid}/agent/exec **Execute commands on a virtual server via its agent** Send commands directly to your virtual server's (VM) agent for advanced system administration tasks. The endpoint returns a unique 'requestId' to track command execution. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | command | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the endpoint call was successful. | | timestamp | The timestamp when the response was generated. | | requestId | A unique ID for the request, used to track execution. | | data.success | Indicates if the command itself executed successfully. | | data.pid | The process ID of the executed command on the server. | | data.message | A message describing the status of the command execution. | | data.command | The command sent for execution. | ### Common Use Cases - How do I stop the guest agent on my VPS? - I need to run a specific command on my virtual server, how do I do it? - Can I manage services on my server via API? - How do I disable a service on my VM? - Execute system command on my VPS --- ## POST /api/lookup-nameservers **Get DNS nameservers for a domain** Check which nameservers are associated with a specific domain. This is useful for verifying or updating your domain's DNS settings, especially in relation to VPS management. The endpoint returns a unique ID for tracking the nameserver lookup. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | domain | The domain name that was looked up. | | nameservers | A list of nameservers associated with the domain. | ### Common Use Cases - Which nameservers does my domain use? - Can you check the DNS settings for my server? - I need to see the nameservers for my virtual server. - How do I find the nameservers for my domain? - Show the nameservers for my VPS account. --- ## POST /api/port25/requests **Request to open port 25 for outgoing email** Submit a request to open port 25 for outgoing email traffic from your VPS, necessary if you plan to run your own email server. The endpoint returns a request ID to track the status of your application or for follow-up actions. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | serviceId | string | Yes | | | ipAddress | string | Yes | | | justification | string | No | | ### Response Fields | Field | Description | |-------|-------------| | approved | Indicates if the request was approved automatically or manually. | | request | Detailed information about the submitted request, including its status. | | whitelistEntry | Information about any whitelisting done for the IP address. | ### Common Use Cases - How do I open port 25 for my server? - I need to send email from my VPS, what do I do? - Can I run my own mail server on my virtual server? - How do I apply to send email from my server? - Do I need to apply to use port 25? --- ## GET /api/vps-accounts/{id} **Get information about a specific VPS service** Retrieve detailed information about a specific VPS service, including its status, resources, IP address, or billing information. The endpoint returns an ID that may be needed for other API calls related to the service. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | id | Unique ID for the VPS account. | | name | The name of the VPS account. | | ip | The IP address associated with the VPS. | | status | Status of the VPS account (e.g., Active, Inactive). | | vmStatus | Status of the virtual machine (e.g., running, stopped). | | bandwidth | Information about bandwidth usage, including used, limit, incoming, and outgoing traffic. | | resources | Resources allocated to the VPS (CPU, RAM, storage). | | price | The price of the VPS service. | | billingCycle | Billing cycle for the service (e.g., Annually, Monthly). | | currency | The currency used for pricing. | | created | The date the VPS service was created. | | pricing | Detailed pricing information, including billing cycle and costs. | ### Common Use Cases - Show information about my VPS - What is the status of my virtual server? - How much bandwidth has my server used? - Show details for my VPS service with ID {id} - What resources are included in my VPS? --- ## GET /api/vm/{vmid}/details-poll **Get detailed status and information for a virtual server** Retrieve the current status and detailed information for a specific virtual server (VM), useful for monitoring server performance, network configuration, and resource allocation. The API returns a 'requestId' for tracking and various IDs needed for subsequent management or information retrieval calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | timestamp | The timestamp when the request was processed. | | requestId | Unique ID for the request, used to track the operation. | | data.vm.id | The server's internal ID. | | data.vm.fullid | The server's full identifier. | | data.vm.node | The name of the node where the server is running. | | data.vm.hostname | The server's hostname. | | data.vm.status | The server's current status (e.g., 'running', 'stopped'). | | data.vm.cpu | Number of CPU cores allocated to the server. | | data.vm.memory | Allocated RAM in MB. | | data.vm.disk | Available disk space in GB. | | data.vm.ipv4 | The server's primary IPv4 address. | | data.vm.ipv6 | The server's primary IPv6 address. | | data.vm.bandwidth.data_received | Bandwidth received in bytes. | | data.vm.bandwidth.data_sent | Bandwidth sent in bytes. | | data.vm.template_name | The name of the template the server is based on. | | data.vm.ipam | List of the server's IP configurations. | | data.vm.storage | List of the server's storage devices. | | data.vm.cores | Number of CPU cores. | | data.vm.sockets | Number of CPU sockets. | ### Common Use Cases - What is the status of my VPS? - Show detailed information about my virtual server. - What is the IP address and resource usage of my server? - Check if my VM is running correctly. --- ## GET /api/vm/{vmid}/details **Get detailed information for a specific virtual server** Retrieve detailed information about a specific virtual server (VPS), including specifications like CPU, RAM, disk space, bandwidth usage, and status. The endpoint also returns a 'requestId' that may be needed in other API calls to complete a process. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | id | Unique ID for the virtual server. | | product_name | The name of the VPS product the customer has. | | hostname | The hostname of the virtual server. | | status | Current status of the virtual server (e.g., 'Active', 'Stopped'). | | created | The date the virtual server was created. | | billingcycle | Billing cycle for the service (e.g., 'Annually', 'Monthly'). | | price | The price of the service. | | total | Total cost of the service. | | firstpayment | The cost of the first payment. | | next_due | The due date for the next payment. | | cpu | Number of CPU cores allocated to the server. | | ram | Amount of RAM (in GB) allocated to the server. | | disk | Total disk size (in GB) allocated to the server. | | bandwidth_limit | The total bandwidth limit for the server (in GB). | | bandwidth_usage | Object showing received and sent bandwidth. | | usage_log | Detailed log of resource usage over time (CPU, memory, disk). | | ipv4 | The server's IPv4 addresses. | | ipv6 | The server's IPv6 addresses. | | os | The operating system installed on the server. | | uptime | How long the server has been running. | | vm_status | Status of the virtual machine. | | requestId | Unique ID for the request, can be used to track the operation. | ### Common Use Cases - Show the specifications for my VPS. - How much bandwidth has my server used? - What is the status of my virtual server? - Show details for my VPS with ID {vmid}. - How much CPU and RAM is my server using? --- ## GET /api/vm/{vmid}/autorenew **Get automatic renewal status for a virtual server** Check if automatic renewal is enabled for a specific virtual server (VM). It also returns information about the next due date and when the next invoice will be created. This information is useful for planning upcoming payments or understanding when a service will renew. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | autorenew | A boolean indicating if automatic renewal is enabled (true) or not (false). | | autorenewRaw | A raw string representation of the autorenew status, likely '1' for enabled and '0' for disabled. | | nextDue | The date the service is due. | | nextInvoice | The date the next invoice for the service will be generated. | ### Common Use Cases - Is my server set to auto-renew? - When is my virtual server due? - Can I turn off auto-renewal for my VM? - Show me my server's renewal status - When will the next invoice for my server be created? --- ## GET /api/vm/{vmid}/agent/memory **Get memory information for a virtual server** Retrieve detailed memory usage information for a specific virtual server (VM). This includes total, free, used memory, and percentage usage. A unique ID (requestId) is returned for tracking. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | available | Indicates if memory information is available. | | meminfo_total | Total memory in bytes. | | meminfo_free | Free memory in bytes. | | meminfo_available | Available memory in bytes (includes buffers and cache). | | meminfo_buffers | Memory used by the kernel for buffers in bytes. | | meminfo_cached | Memory used for cache in bytes. | | meminfo_swapTotal | Total swap space in bytes. | | meminfo_swapFree | Free swap space in bytes. | | meminfo_usedReal | Actual RAM used in bytes. | | meminfo_usedPercent | Percentage of total RAM used. | | meminfo_availablePercent | Percentage of total RAM available. | ### Common Use Cases - How much free memory does my VPS have? - Show memory usage for my virtual server - What is the total memory capacity of my server? - Check memory status for my VM --- ## GET /api/vm/{vmid}/iso **Get ISO image information for a virtual server** Retrieve information about available and mounted ISO images for a specific virtual server (VM). You need the VM's ID (vmid) to use this endpoint. IDs needed for mounting or unmounting ISO images are also returned. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | available | A list of ISO images available for mounting. | | mounted | A list of ISO images currently mounted on the virtual server. | | bootOrder | Information about the current boot order and available boot devices. | | availableDevices | A list of physical devices available for mounting ISO images. | | proxmoxVmId | The internal ID of the virtual server in the Proxmox environment. | ### Common Use Cases - Can I see which ISO files are available for my server? - How do I mount an ISO to my virtual server? - What boot options does my VM have? - Show ISO device information for my server - How do I manage ISO images for my VPS? --- ## POST /api/vm/{vmid}/iso **Mount an ISO file to a virtual server** Mount an ISO file to a specific virtual server (VM). This is useful for installing operating systems or running diagnostic tools. The endpoint returns an ID you can use to track the mounting operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | action | string | Yes | | | isoPath | string | No | | | device | string | No | | | bootOrder | array | No | | | url | string | No | | | filename | string | No | | ### Response Fields | Field | Description | |-------|-------------| | message | Describes the outcome of the mounting operation. | | device | The name of the device the ISO file was mounted to (e.g., ide2). | | iso | The path to the mounted ISO file. | | requestId | A unique ID for this request, usable for tracking the operation in audit logs or subsequent calls. | ### Common Use Cases - How do I install a new operating system on my VPS? - Can I mount an ISO file to my virtual server? - How do I boot my server from an ISO file? - Mount an installation ISO to my VM. - I need to mount a specific ISO file to my VPS. --- ## DELETE /api/vm/{vmid}/iso **Unmount an ISO file from a virtual server** Unmount an ISO file from a virtual server (VM). You need to provide the VM's ID (vmid) and the ISO device ID (volid). After unmounting, you receive an ID (requestId) to track the operation in other calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | | action | query | string | Yes | | | device | query | string | No | | | volid | query | string | No | | ### Response Fields | Field | Description | |-------|-------------| | message | Describes the outcome of the operation, e.g., 'ISO unmounted successfully'. | | device | Identifies the device the ISO file was attached to. | | volid | The volume ID of the unmounted ISO file. | ### Common Use Cases - How do I remove an ISO file from my server? - I want to unmount an ISO from my virtual server, how do I do that? - Can you help me detach an ISO from my VM? - Unmount ISO from server [vmid] --- ## GET /api/vm/{vmid}/firewall/options **Get firewall options for a virtual server** Retrieve the current firewall settings for a specific virtual server (VM). An ID is returned for subsequent calls to manage these settings, useful for understanding your VM's current network security configuration. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | policy_in | Default policy for incoming traffic (e.g., ACCEPT, DROP). | | digest | A checksum to verify data integrity. | | ipfilter | Indicates if IP filtering is enabled (typically 1 for on, 0 for off). | | enable | Indicates if the firewall is enabled (typically 1 for on, 0 for off). | | policy_out | Default policy for outgoing traffic (e.g., ACCEPT, DROP). | ### Common Use Cases - Show firewall settings for my server - What firewall rules are active on my VM? - Can I see network filtering options for my virtual server? - Get firewall options for VPS with ID {vmid} - How is the firewall configured for my server? --- ## PUT /api/vm/{vmid}/firewall/options **Modify firewall settings for a virtual server** Configure firewall options for your virtual server (VM). You can enable or disable the firewall and set an incoming policy. The endpoint returns a requestId to track the operation in other systems. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | enable | integer | Yes | | | policy_in | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the firewall options update was successful. | | message | A message describing the result of the operation. | ### Common Use Cases - How do I enable the firewall on my VPS? - Can I change the firewall policy for my server? - I want to set incoming traffic rules for my VM. - Manage firewall settings for virtual server. --- ## GET /api/vm/{vmid}/firewall **Get firewall rules for a VM** Retrieve current firewall rules for a specific virtual server (VM). This information is crucial for understanding and managing your server's network security. Use the VM ID obtained from endpoints like GET /api/vm/{vmid}/status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | success | [object Object] | | timestamp | [object Object] | | requestId | [object Object] | | data | [object Object] | ### Common Use Cases - Show firewall rules for my server - How do I configure the firewall for my VPS? - What ports are open on my virtual server? - Show network rules for my VM --- ## POST /api/vm/{vmid}/firewall **Add or modify firewall rules for your VPS** Configure firewall rules for your virtual server (VPS). Specify incoming traffic, protocols, ports, and source addresses to protect your server. This API returns a 'requestId' to track your request status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | type | string | Yes | | | action | string | Yes | | | proto | string | Yes | | | dport | string | Yes | | | source | string | Yes | | | comment | string | Yes | | | enable | integer | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | rule | Details of the created or modified firewall rule. | | message | A message describing the result of the action. | ### Common Use Cases - How do I open port 443 on my VPS? - I need to add a new firewall rule for my server. - How do I configure incoming traffic to my virtual server? - Can I block traffic from a specific IP address on my VPS? - How do I change firewall settings for my VM? --- ## PUT /api/vm/{vmid}/firewall **Update firewall rules for a VPS** Add, modify, or delete firewall rules on your virtual server (VPS). This controls incoming and outgoing traffic to protect your server. The endpoint returns a 'requestId' to track the operation in audit logs. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | | pos | query | string | Yes | | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | type | string | Yes | | | action | string | Yes | | | proto | string | Yes | | | dport | string | Yes | | | source | string | Yes | | | comment | string | Yes | | | enable | integer | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the firewall rule update was successful. | | rule | An object representing the updated firewall rule. | | pos | The position of the updated rule in the firewall configuration. | | message | A message describing the result of the operation. | ### Common Use Cases - How do I change the firewall for my VPS? - Can I open port 80 on my server? - How do I block traffic to my virtual server? - Add a firewall rule for my VM. --- ## DELETE /api/vm/{vmid}/firewall **Delete firewall rules for a VM** Remove a firewall rule associated with a specific virtual server (VM). You need the VM's ID to specify which server the rule should be removed from. The endpoint returns a request ID to track the operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | | pos | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the firewall rule deletion was successful. | | pos | The position of the deleted firewall rule. | ### Common Use Cases - How do I remove a firewall rule from my VPS? - I want to delete a specific firewall rule for my server. - Can I delete a firewall rule for my virtual server? - Delete firewall rule for VM [vmid] --- ## POST /api/server-tags **Add tags to organize and identify your servers** Assign specific tags to your servers for easier identification and management. This is useful for categorizing servers by purpose, like 'Music Server' or 'AI Services'. The endpoint returns an ID to track the tagging in the system. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | serverId | string | Yes | | | tagName | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | [object Object] | | timestamp | [object Object] | | requestId | [object Object] | | data.serverId | [object Object] | | data.tagName | [object Object] | ### Common Use Cases - How can I tag my VPS? - I want to add a tag to my virtual server. - Can I name my servers for easier management? - How do I organize my servers with tags? - Add the tag 'Production Server' to my server. --- ## DELETE /api/server-tags **Remove a tag from a VPS server** Remove a specific tag from a VPS server. This helps organize and manage your servers. The API returns the server ID and the name of the removed tag, useful for confirmation or subsequent logging. ### Response Fields | Field | Description | |-------|-------------| | serverId | The ID of the server the tag was removed from. | | tagName | The name of the tag that was removed. | ### Common Use Cases - How do I remove a tag from my server? - Can I remove labels from my VPS? - I want to remove a tag like 'test' from my virtual server. - How do I manage tags on my servers? --- ## GET /api/vm/{vmid}/upgrade **Upgrade resources for a virtual server (VM)** Upgrade resources such as storage, bandwidth, or IP addresses for a specific virtual server (VM). An ID is returned to track the upgrade in subsequent calls, for example, to initiate payment. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | requestId | A unique ID for the upgrade request, used to track the process. | | resources | A list of available and current resources for the VM, including configuration options and prices. | | packages | Information about available packages and their configurations that can be selected for the upgrade. | | raw | Raw data about the upgrade options and their configurations. | ### Common Use Cases - How can I increase storage space on my VPS? - I need more bandwidth for my server, how do I do that? - Can I upgrade my virtual server? - How do I upgrade resources for my VM? - Where can I find options to upgrade my server? --- ## POST /api/vm/{vmid}/upgrade **Upgrade resources for a Virtual Private Server (VPS)** Request a resource upgrade for your VPS. Upon submission, you'll receive an ID to track your order and billing in your account. Check available resources and select your desired upgrade to enhance performance. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | send | boolean | Yes | | | resources | object | No | | | package | string | No | | | cycle | string | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the upgrade request was successful. | | upgraded | Confirms that an upgrade was initiated. | | message | A message describing the outcome of the request. | | invoiceId | The ID of the generated invoice for the upgrade. | | orderId | Unique ID for the upgrade order. | | orderNum | A reference number for the order. | | total | The total amount for the upgrade. | | redirectUrl | A URL to the page where the invoice can be viewed or paid. | | raw | Raw data from the underlying system, including invoice and order details. | ### Common Use Cases - How do I upgrade my VPS? - I want to increase RAM or CPU on my server, how do I do that? - Can I upgrade my virtual server? - How do I perform a resource upgrade for my VM? - Where can I find information on upgrading my server resource? --- ## GET /api/vm/{vmid}/billing-cycle **Get billing cycle for a specific VM** Retrieve information about available billing cycles for a specific Virtual Machine (VM). This returns data including the current billing cycle and a list of all possible cycles with their prices. It also returns IDs that may be needed for follow-up API calls, such as product and account IDs. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | current | ID of the current billing cycle (e.g., 'a' for annual). | | currentName | Name of the current billing cycle (e.g., 'Annually'). | | cycles | A list of all available billing cycles. | | cycles.id | ID of a specific billing cycle. | | cycles.name | Name of a specific billing cycle. | | cycles.price | Price of the specific billing cycle. | | cycles.isCurrent | Indicates if this is the current billing cycle. | | cycles.billingCycle | Name of the billing cycle. | | productId | ID of the product associated with the VM. | | accountId | ID of the account the VM belongs to. | ### Common Use Cases - What billing cycle is my server using? - Can I change the billing cycle for my VM? - Show me the billing options for my virtual server. - How much does annual billing cost for my VPS? - What payment cycles are available for my server? --- ## POST /api/vm/{vmid}/billing-cycle **Change billing cycle for VPS** Change the billing cycle for your Virtual Private Server (VPS). This can affect how often you receive invoices and how payments are handled. The endpoint returns a unique requestId necessary for tracking the change in other systems. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | cycle | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | message | A message describing the outcome of the operation. | | newCycle | The newly selected billing cycle. | | total | The total amount associated with the new cycle. | | info | Additional information about the change, such as which accounts were affected. | ### Common Use Cases - How do I change how often I receive an invoice for my VPS? - Can I change the billing period for my server? - I want to switch to annual billing for my virtual server. - How do I update my billing cycle for the VPS? - Change billing cycle for server account. --- ## GET /api/vm/{vmid}/console **Get console access for a Virtual Server** Obtain access to the console of your Virtual Private Server (VPS). This is useful for troubleshooting or performing administrative tasks directly on the server, even with limited network connectivity. The API returns a console access URL for your browser and a unique 'requestId' for follow-up calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | | console | query | string | Yes | | | novnc | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the console access request was successful. | | consoleUrl | The URL to access the server's console via your browser. | | ticket | A unique ticket for the console connection. | | CSRFPreventionToken | A token to prevent CSRF attacks. | | username | The username to log in to the console. | ### Common Use Cases - How do I access the console on my server? - I need to troubleshoot my virtual server, how do I do that? - Show the console for my VPS. - Access the server's command line. --- ## GET /api/vm/{vmid}/disks **Get disk information for a Virtual Server** Retrieve detailed information about all disks connected to a specific Virtual Machine (VM). This returns details like size, usage, and disk type. The returned `requestId` can be used for follow-up calls to other API endpoints. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | timestamp | The time the request was processed. | | requestId | Unique ID for the request, can be used for follow-up calls. | | data | An array containing information about each disk. | | name | The name of the disk. | | storage | Type of storage. | | path | Path to the disk. | | size | The total size of the disk. | | type | Type of disk interface (e.g., SCSI, IDE). | | device | The device name in the operating system. | | isCdrom | Boolean indicating if the disk is a CD-ROM. | | bootOrder | The boot order if the disk is bootable. | | sizeBytes | The total size of the disk in bytes. | | sizeFormatted | The total size of the disk, formatted for readability. | | usedBytes | The used space on the disk in bytes. | | usedFormatted | The used space on the disk, formatted for readability. | | usedPercent | The percentage of the disk that is used. | | readBytes | The number of bytes read from the disk. | | writeBytes | The number of bytes written to the disk. | | readOps | The number of read operations. | | writeOps | The number of write operations. | ### Common Use Cases - Show disk information for my VPS - How much space do my virtual servers have? - List all disks on my server - What disks are connected to my VM? - Show disk capacity for a specific server --- ## GET /api/vm/{vmid}/storage **Get storage information for a Virtual Server** Retrieve detailed information about the storage configuration of a specific Virtual Machine (VM). This provides insight into disks, file systems, and storage pools, necessary for understanding server storage usage and capacity. Use this API to troubleshoot storage issues or monitor resource allocation on your VM services. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | disks | A list of disks attached to the VM, including their name, size, usage, and type. | | filesystems | Information about file systems mounted on the VM, their total space, usage, and free space. | | storagePools | Details about the storage pools the VM uses, including total capacity, usage, and available space. | | guestAgentAvailable | Indicates if the guest agent is available on the VM, which may affect the level of detail in storage data. | | vmNotRunning | A flag indicating if the VM is currently not running. | ### Common Use Cases - How much storage space is my VPS using? - Show me information about the storage on my virtual server. - Check disk size and usage for my server. - What is the status of storage pools for my VM? - Can I see details about the file systems on my server? --- ## POST /api/validate-nameservers **Validate VPS nameservers** Check if the nameservers you have specified for your VPS are correct and valid. This is an important step when configuring or updating your server's DNS settings. The endpoint returns a unique ID that may be needed for follow-up actions in other API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | nameservers | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the validation process was successful. | | results | A list of the nameservers submitted, with information on whether each individual nameserver is valid. | ### Common Use Cases - Are my VPS nameservers valid? - Can you check if these nameservers work for my server? - Verify nameservers for my virtual server - How do I validate nameservers for my VPS? --- ## GET /api/vm/{vmid}/backup-schedules **Get VPS backup schedules** Retrieve information about scheduled backups for a specific virtual server (VM). It returns details about existing schedules, backup settings, and a history of previous backup operations. This information can be used to monitor and manage your VM's backup strategy. The endpoint returns an ID needed for follow-up calls, such as a `job_id` used to retrieve the status of a backup operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the call was successful. | | timestamp | Timestamp when the response was generated. | | requestId | Unique ID for the call, can be used for troubleshooting. | | data.schedules | A list of scheduled backups, including type, time, and how many are saved. | | data.settings | Backup settings, such as the maximum number of backups and if old ones are automatically removed. | | data.history | A list of previous backup jobs, including their status and timestamp. | | data.limits | Limits for the number of schedules and backups. | ### Common Use Cases - Show my VPS backup schedules. - When was the last automatic backup of my server? - How many backups do I have for my virtual server? - Show backup history for my VM. - Can I see my server backup schedules? --- ## POST /api/vm/{vmid}/backup-schedules **Create and manage VPS backup schedules** Create and configure automatic backup schedules for your virtual servers (VMs). You can specify the time, how many copies to save, and whether the feature should be active. The endpoint returns an ID that can be used to reference the created schedule in future calls, which is important for managing and monitoring your backups. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | schedule_type | string | Yes | | | hour | integer | Yes | | | minute | integer | Yes | | | retention_count | integer | Yes | | | enabled | boolean | Yes | | | notes | string | Yes | | | day_of_week | integer | No | | | day_of_month | integer | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | schedule.id | Unique ID for the created backup schedule. | | schedule.vm_id | ID of the virtual server the schedule applies to. | | schedule.enabled | Indicates if the backup schedule is active. | | schedule.schedule_type | Type of schedule (e.g., 'daily', 'weekly'). | | schedule.hour | Hour when the backup should run. | | schedule.minute | Minute when the backup should run. | | schedule.retention_count | Number of saved backup copies. | | schedule.notes | User notes for the schedule. | | schedule.next_run | Timestamp of the next scheduled backup run. | | message | A message describing the result of the operation. | ### Common Use Cases - How do I set up automatic backups for my VPS? - I want to schedule daily backups for my server. - How can I back up my virtual server? - Can I set how many backups to save for my VM? - Create a backup plan for my server. --- ## DELETE /api/vm/{vmid}/backup-schedules **Delete VPS backup schedule** Delete an existing scheduled backup for a specific virtual server (VM). Ensure you have removed dependencies or that the backup is no longer needed before deleting. The endpoint returns an ID that can be used to track the operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | message | A message describing the result of the operation, e.g., 'Backup schedule deleted successfully'. | ### Common Use Cases - How do I delete a backup schedule for my server? - I want to delete an automatic backup for my VM, how do I do that? - Can I delete a scheduled backup for my virtual server? - Delete backup schedule for VPS - Remove scheduled backup for server --- ## GET /api/vm/{vmid}/storage-quota **Get VPS storage usage** Check how much storage space is purchased and used for a specific virtual server (VPS). Use this to monitor disk space and available space for your VM. The endpoint returns a 'requestId' that can be used for follow-up actions. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | purchasedGb | Purchased storage space in GB. | | usedGb | Used storage space in GB. | | availableGb | Available storage space in GB. | | mainDisk | Information about the main disk, including purchased space. | ### Common Use Cases - How much disk space does my VPS have? - Can I see the storage usage for my virtual server? - Check disk space for server VM. - How much free storage space does my VPS have? --- ## GET /api/vm/{vmid}/network **Get VM network information** Retrieve detailed network configuration for a specific virtual server. It returns information about network interfaces, IP addresses (both IPv4 and IPv6), and available IP addresses that can be assigned. The information is necessary to understand and manage the server's network connection, and a `requestId` is returned that can be used to track the operation in other systems. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | interfaces | List of network interfaces connected to the VM, including MAC address, model, and firewall status. | | availableIPv4 | List of available IPv4 addresses that can be assigned to the VM. | | availableIPv6 | List of available IPv6 addresses that can be assigned to the VM. | | ipv4Limit | Maximum number of IPv4 addresses the VM can have. | | ipv6Limit | Maximum number of IPv6 addresses the VM can have. | | primaryIP | The primary IP address of the VM. | | primaryIPrDNS | The PTR record (reverse DNS) for the primary IP address. | | vlanTag | The VLAN tag used for the VM's network. | | allowedIPv4Blocks | Allowed IPv4 blocks for the VM. | | allowedIPv6Blocks | Allowed IPv6 blocks for the VM. | | ipv6UpgradeOption | Information about options for upgrading to IPv6. | | privateNetworks | Information about private networks the VM is connected to. | | privateNetworkDefaults | Default settings for private networks. | | ipChangePolicy | Policy for how IP addresses can be changed. | ### Common Use Cases - What IP addresses are configured on my VPS? - Show network settings for my virtual server. - What do the network interfaces on my server look like? - Can I see available IP addresses for my VM? - Get network configuration for server with ID {vmid} --- ## GET /api/vm/{vmid}/backups **List backups for a specific VM** Display all available backups for a specific virtual server (VM). The information returned, including the backup ID (volid), is necessary to perform follow-up actions such as restoring or deleting a backup. The VMID used to call this endpoint is typically retrieved from the VM's status or details page. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | timestamp | Timestamp when the request was processed. | | requestId | Unique ID for the request, useful for troubleshooting. | | data | An array containing details for each backup. | | data[].volid | Unique ID for the backup, used for specific actions. | | data[].vmid | The ID of the virtual server the backup belongs to. | | data[].size | The size of the backup in bytes. | | data[].ctime | Timestamp when the backup was created (Unix timestamp). | | data[].format | The format of the backup. | | data[].content | The type of content the backup contains. | | data[].storage | The storage location where the backup is stored. | | data[].protected | Indicates if the backup is protected from deletion. | | data[].notes | Notes associated with the backup. | | data[].files | A list of files included in the backup. | | data[].scheduled | Indicates if the backup is part of a scheduled job. | | data[].backupType | The type of backup (e.g., scheduled). | | data[].scheduleId | The ID of the schedule that generated this backup. | ### Common Use Cases - Show all backups for my server - What backups do I have for my virtual server? - List backups for VM with ID [vmid] - Can I see my server backups? --- ## POST /api/vm/{vmid}/backups **Create a backup for your VPS** Initiate a manual backup of your virtual server (VPS). You will receive a jobId that you can then use to track the backup process's status and results via other API calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | mode | string | Yes | | | fleecing | object | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request to queue the backup job was successful. | | jobId | A unique ID for the backup job that was created. Used to track the job. | | mode | The type of backup initiated (e.g., 'snapshot'). | | message | A message describing the result of the request, e.g., that the job was queued. | ### Common Use Cases - How do I take a backup of my VPS? - Can I create a manual backup for my server? - I need to back up my virtual server now. - Start a backup process for my VM. --- ## PUT /api/vm/{vmid}/backups **Restore a VPS to a previous backup state** Initiate a restore of a Virtual Private Server (VPS) to a specific backed-up state. You need to provide the ID of the backup you want to restore from, which can be found in your VPS management panel. The endpoint returns a jobId that you use to track the restore process via other API calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | volid | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request to queue the restore job was successful. | | jobId | A unique ID for the restore job that can be used to track its status. | | message | A message confirming that the restore job has been queued. | | vmid | The ID of the virtual server the restore applies to. | ### Common Use Cases - How do I restore my server from a backup? - I want to restore my virtual server to a previous point in time, how do I do that? - Can I restore my VPS to a specific backup? - How do I start a restore process for my server? --- ## GET /api/vm/{vmid}/firmware **Get virtual server firmware information** Retrieve detailed firmware information for a specific virtual server (VM), including BIOS, TPM, and Secure Boot settings. Returns a `requestId` to track the operation in other systems. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | vmid | The ID of the virtual server. | | node | The name of the node where the virtual server is running. | | status | The current status of the virtual server (e.g., 'running'). | | bios | The type of BIOS used (e.g., 'seabios'). | | efi | Information related to EFI firmware. | | tpm | Information related to the Trusted Platform Module (TPM). | | secureBootReady | Indicates if Secure Boot is ready for use. | | tpmReady | Indicates if TPM is ready for use. | | mode | Firmware mode, e.g., 'legacy'. | ### Common Use Cases - What firmware version does my VPS have? - Can I see information about my server's BIOS? - How do I check the TPM settings for my virtual server? - Show firmware details for VM with ID 758. --- ## PUT /api/vm/{vmid}/firmware **Modify virtual server firmware settings** Change firmware settings, such as Secure Boot or TPM, for a specific virtual server (VM). This may be necessary for installing certain operating systems or enhancing security. Returns a `requestId` to track the action and `vmid` for future VM-specific calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | mode | string | Yes | | | storage | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | timestamp | The time when the request was processed. | | requestId | Unique ID for the request, useful for tracking the action. | | data.message | A message describing the result of the firmware change. | | data.firmware.vmid | The ID of the virtual server whose firmware was changed. | | data.firmware.status | The status of the virtual server after the change (e.g., 'stopped'). | | data.firmware.bios | The BIOS version in use. | | data.firmware.secureBootReady | Indicates if Secure Boot is ready for use. | | data.firmware.tpmReady | Indicates if TPM is ready for use. | ### Common Use Cases - How do I change Secure Boot settings on my VPS? - I need to reset the firmware on my virtual server. - Can I enable TPM on my VM? - How do I manage firmware for my server? --- ## GET /api/vm/{vmid}/crowdsec **Get CrowdSec protection status on a virtual server** Check the CrowdSec protection status on a specific virtual server (VM). Returns information on protected IPs, protection status, and opted-out IPs. Used to troubleshoot or verify server security settings. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | ips | List of IP addresses managed by CrowdSec. | | ip_statuses | Status details for each IP address, including if they are opted out of protection. | | protection_active | Indicates if CrowdSec protection is active on the server. | | total_ips | Total number of IP addresses managed. | | opted_out_count | Number of IP addresses opted out of protection. | ### Common Use Cases - Is my CrowdSec protection active on my VPS? - How do I check the security protection on my virtual server? - Show CrowdSec status for my server. - Can I see which IPs are blocked by CrowdSec on my VM? --- ## POST /api/vm/{vmid}/crowdsec **Enable or disable CrowdSec protection for your VPS** Activate or deactivate CrowdSec firewall protection for your virtual server (VPS). Returns a `requestId` to track the operation's status in subsequent calls, ensuring correct protection configuration. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | enable_protection | boolean | Yes | | ### Response Fields | Field | Description | |-------|-------------| | ips | A list of IP addresses for which protection has been configured. | | results | Detailed information about the configuration result for each IP address. | | protection_active | A boolean indicating if protection is active. | | total_ips | The number of IP addresses affected. | | success_count | The number of IP addresses where the operation succeeded. | | fail_count | The number of IP addresses where the operation failed. | | message | A message describing the outcome of the operation. | ### Common Use Cases - How do I enable CrowdSec protection for my VPS? - Can I turn off the security protection on my server? - How do I manage firewall rules for my virtual server? - Enable Intrusion Protection for my VM - Disable CrowdSec for my VPS --- ## GET /api/vm/{vmid}/hostname **Get hostname for a virtual server** Retrieve the current hostname associated with a specific virtual server (VM). Also returns the VM ID for use in other API calls to get more detailed information or manage the service. This information is useful for identifying and accessing your server. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | hostname | The current hostname of the virtual server. | | vmid | The ID of the virtual server. | ### Common Use Cases - What is the hostname of my server? - Show me the hostname for my virtual server with ID 6585. - How do I find the hostname of my VM? - Can you provide the hostname for my VPS? - I need to know the hostname for my server 6585. --- ## GET /api/product-overview/vps **Get an overview of available VPS products** Retrieve a list of all available VPS products, including specifications, pricing, and operating system choices. Returns a unique product ID for use in subsequent API calls, such as initiating an order. ### Response Fields | Field | Description | |-------|-------------| | products | A list of available VPS products with detailed information for each. | | total | The total number of VPS products available. | ### Common Use Cases - What VPS services do you offer? - Show me your virtual servers - How much does a VPS cost? - Can I see the specifications for your servers? - List all available server options --- ## GET /api/vm/{vmid}/routed-ipv6 **Check routed IPv6 availability and status for a VPS.** This endpoint checks if a VPS has routed IPv6 functionality available. It returns information on availability, any reasons for unavailability, and network details like prefix length and rack ID. This information is useful for troubleshooting network configurations or planning network upgrades. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | available | Indicates if routed IPv6 is available for the VPS. | | reason | Explains why routed IPv6 is not available, if applicable. | | rackId | Identifier for the server rack where the VPS is located. | | prefixLength | The length of the IPv6 prefix. | | cooldownDays | Number of days that must pass before a new request can be made. | | maxPerVm | Maximum number of routed IPv6 addresses that can be allocated per VPS. | | allocation | Information about the current IPv6 allocation (if any). | ### Common Use Cases - Is routed IPv6 available for my server? - Can I get a routed IPv6 address for my VM? - How do I check IPv6 settings for my virtual server? - Is my VPS configured with routed IPv6? - Show the network status for IPv6 on my server. --- ## POST /api/vm/{vmid}/routed-ipv6 **Allocate a routed IPv6 prefix to a VPS.** This endpoint allocates a routed IPv6 prefix to a specific virtual server (VPS). You need to provide the VPS ID, which can be retrieved from endpoints like GET /api/vm/{vmid}/status. This is useful when your VPS requires a direct IPv6 connection for network configurations. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | action | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | created | Indicates if a new IPv6 prefix has been created. | | allocation | [object Object] | ### Common Use Cases - How do I get an IPv6 prefix for my server? - I need to assign an IPv6 address to my virtual server, how do I do that? - Can I get a routed IPv6 network for my VM? - How do I configure IPv6 for my VPS? - Allocate IPv6 network to server --- ## DELETE /api/vm/{vmid}/routed-ipv6 **Remove a routed IPv6 address from a VM.** This endpoint releases a specific routed IPv6 address associated with a virtual machine (VM). After release, the address may enter a cooldown period before becoming available for reallocation. The endpoint returns a 'requestId' to track the operation and an 'allocation' with an ID for future reference or follow-up calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | released | Indicates if the IPv6 address has been released. | | cooldownDays | Number of days the address is in cooldown. | | allocation | Information about the released IPv6 allocation, including its ID and status. | ### Common Use Cases - How do I remove an IPv6 address from my server? - Can I release an IP address from my virtual machine? - I need to remove a routed IPv6 address from my VM, how do I do that? - Deallocate an IP address from my server. --- ## POST /api/vm/{vmid}/reset-password **Reset the password for a virtual server (VM).** Use this to reset your virtual server (VM) password. The reset initiates a server reboot to ensure the new password is applied. The endpoint returns an ID that may be needed to track the operation's status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | password | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | message | A message describing the result of the password reset. | | vmid | The ID of the virtual server whose password was reset. | | accountId | The ID of the account associated with the virtual server. | ### Common Use Cases - How do I reset the password on my VPS? - I forgot my virtual server password, what should I do? - Can I change my server password? - Reset VM password - Security action: change server password --- ## GET /api/vm/{vmid}/snapshots **List snapshots for a virtual server.** Use this endpoint to retrieve a list of all saved snapshots for a specific virtual server (VM). This is useful if you want to see the history of saved states for your server or identify a specific snapshot to restore from. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | success | [object Object] | | timestamp | [object Object] | | requestId | [object Object] | | data | [object Object] | ### Common Use Cases - Show all snapshots for my server - What saved states are available for my VM? - Can I see the history of my server snapshots? - List all snapshots for virtual server [vmid] --- ## DELETE /api/vm/{vmid}/snapshots **Delete a snapshot of your virtual server.** Use this option to delete a snapshot of your virtual server. This can be useful if you have deleted a snapshot you no longer need or want to free up disk space. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | | snapname | query | string | Yes | | | action | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates whether the operation was successful. | | jobId | Unique ID for the job created to delete the snapshot. | | action | The type of action performed (in this case, 'delete'). | | snapname | The name of the snapshot that was to be deleted. | | message | A message describing the result of the operation, e.g., 'Snapshot delete queued'. | ### Common Use Cases - How do I delete a snapshot of my server? - Can I delete an old snapshot? - I want to delete a snapshot of my VPS. - Clean up old server snapshots. --- ## POST /api/vm/{vmid}/snapshots **Create a snapshot of your virtual server.** Use this endpoint to take a snapshot of your virtual server. This is useful before making major changes or updates, allowing you to easily restore the server to a previous state if something goes wrong. The snapshot creation process is queued and handled in the background. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | description | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request to create a snapshot was received correctly. | | jobId | A unique ID for the job created to handle snapshot creation. | | name | The name provided for the snapshot during creation. | | message | A message confirming that the snapshot creation has been queued. | ### Common Use Cases - How do I create a backup of my VPS? - I want to take a snapshot of my server before an update. - Can I create a restore point for my virtual server? - How do I back up my VPS? - Create a snapshot for my server named 'pre-update'. --- ## GET /api/vm/{vmid}/templates **Get available templates for a virtual server.** This endpoint retrieves a list of all available operating system templates that can be used to install or reinstall a virtual server (VM). The returned information includes the template ID and name, which may be necessary for subsequent actions related to server configuration or provisioning. The VM ID used in the call is typically obtained from the status or detail views of a specific VM. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | templates | A list of available templates for the virtual server, where each template has a unique ID, a name, and a group affiliation. | ### Common Use Cases - What operating systems can I install on my VPS? - Show me the templates for my virtual server. - Can I see a list of available OS for my server? - How do I install a new OS on my VM? - List templates for VM [vmid] --- ## GET /api/vm/{vmid}/snapshot-schedules **Get scheduled snapshot times for a virtual server** See when automatic snapshots are taken for your virtual server. This is useful for understanding your backup strategy and ensuring you have recovery points. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | limits | Contains information about snapshot limits, such as the total allowed. | ### Common Use Cases - When are snapshots taken for my server? - Show scheduled backups for my VPS - How often are snapshots created for my virtual server? - Can I see the schedule for my server snapshots? --- ## POST /api/vm/{vmid}/snapshot-schedules **Configure scheduled snapshots for your VPS** Set up or modify how often your virtual server (VPS) takes automatic snapshots. You can enable or disable the schedule and determine the interval between snapshots. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | enabled | boolean | Yes | | | interval_hours | integer | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | schedule | Information about the configured snapshot schedule, including ID, interval, and next run. | | message | A message confirming that the schedule has been saved. | ### Common Use Cases - How do I set up automatic backups for my VPS? - I want to schedule snapshots for my server - Can I change the interval for VPS snapshots? - How do I enable the snapshot schedule for my virtual server? --- ## POST /api/vm/{vmid}/rebuild **Reset a virtual server to a selected template state** Reset a virtual server (VM) to a specific template state. This is useful for a clean installation or reverting to a previous configuration. The endpoint returns a requestId to track the reset status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | templateId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request to reset the VM was successful. | | message | A message describing the status of the reset operation, e.g., that it has been scheduled. | ### Common Use Cases - How do I reset my VPS to factory settings? - I want to reinstall my server from a template, how do I do that? - Can I reset my virtual server? - Reset my VM to a specific state. --- ## POST /api/vm/{vmid}/reset-ssh-keys **Reset SSH keys for a specific virtual server** Reset the SSH keys for your virtual server (VM). After resetting, the server will automatically restart to apply the changes. The endpoint returns a requestID to track the status of this operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | keyIds | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | message | A message describing the result of the operation, e.g., that the server will restart. | | keyCount | Number of SSH keys affected by the reset. | | vmid | The server's ID (Virtual Machine ID). | | accountId | The ID of the account the server belongs to. | ### Common Use Cases - How do I reset SSH access to my VPS? - I forgot my SSH key, how do I unlock my server? - Reset SSH keys for my virtual server - Security action: Change SSH keys on my server --- ## GET /api/product-overview/vps/{slug} **Get detailed information about a specific VPS product** Retrieve all necessary information about a specific VPS product, including its specifications, pricing in different currencies, and available operating systems. Use this to display detailed product information for customers exploring or comparing VPS options. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | slug | path | string | Yes | slug parameter | ### Response Fields | Field | Description | |-------|-------------| | id | Unique ID for the VPS product. | | slug | A unique identifier (URL-friendly) for the VPS product. | | name | The name of the VPS product (e.g., 'VPS XS'). | | category | Categorization of product type (e.g., 'Regular Compute'). | | pricing | Pricing for the product in different currencies (SEK, USD, EUR) for monthly and annual basis, including any setup fees. | | specs | Technical specifications for the VPS, such as number of CPU cores, RAM (GB), disk space (GB), and bandwidth (TB). | | addons | Information about add-on services and their prices in different currencies, such as extra disk space, bandwidth, IPv4 addresses, and attachable storage. | | os_choices | A list of operating systems that can be installed on this VPS. | | metered | Indicates if the service is metered (usage-based pricing). | ### Common Use Cases - What are the specifications of your VPS XS? - What does a virtual server with 4GB RAM cost? - Can I install Debian on your server? - Show me details for the 'xs' VPS plan - What is included in a VM service? --- ## GET /api/firewall-groups/{id} **Get firewall group details** Retrieve detailed information about a specific firewall group, including its rules. This data is necessary for subsequent API calls to manage or configure firewall rules. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | string | Yes | UUID for id | ### Response Fields | Field | Description | |-------|-------------| | group.id | Unique ID for the firewall group. | | group.client_id | Client ID associated with the firewall group. | | group.name | Name of the firewall group. | | group.description | Description of the firewall group. | | group.is_system | Indicates if the firewall group is a system default. | | group.created_at | Timestamp when the firewall group was created. | | group.updated_at | Timestamp when the firewall group was last updated. | | group.rules | A list of firewall rules belonging to the group. | | group.rules[].id | Unique ID for a firewall rule. | | group.rules[].type | Type of rule (e.g., 'in' for incoming traffic). | | group.rules[].action | Action the rule performs (e.g., 'ACCEPT', 'DROP'). | | group.rules[].enable | Indicates if the rule is enabled. | | group.rules[].pos | The position of the rule in the order. | | group.rules[].proto | Protocol the rule applies to (e.g., 'tcp', 'icmp'). | | group.rules[].dport | Destination port (for TCP/UDP). | | group.rules[].source | Source IP address or network. | | group.rules[].dest | Destination IP address or network. | | group.rules[].comment | A comment or description of the rule. | ### Common Use Cases - Show my firewall rules for server X - What is the configuration for firewall group Y? - Can I see details for firewall group Z? - Get information about a specific firewall group --- ## POST /api/cloud/{accountId}/resize **Change virtual server (VPS) resources** Scale up or down the resources (CPU and RAM) for an existing virtual server (VPS). Use this when your application needs more or less computing power or memory. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | cores | integer | Yes | | | memory | integer | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Message describing the result of the change. | | jobQueued | Indicates if a job has been queued to perform the change. | | jobId | ID of the job that has been queued. | | vmid | ID of the virtual machine whose configuration has been updated. | | cores | Number of CPU cores after the change. | | memory | Amount of RAM (in GB) after the change. | | oldCores | The original number of CPU cores before the change. | | oldMemory | The original amount of RAM (in GB) before the change. | ### Common Use Cases - How do I increase CPU on my server? - Can I change the memory size of my VPS? - Rescale my virtual server - How do I adjust the resources for my cloud service? --- ## DELETE /api/vm/{vmid}/backups/{volid} **Delete a virtual server backup** Delete a specific backup for your virtual server (VM). Useful for freeing up storage space or cleaning old backups. Returns a requestId for tracking. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | | volid | path | string | Yes | volid parameter | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the backup deletion was successful. | | message | A message describing the result of the operation, e.g., 'Backup deleted successfully'. | ### Common Use Cases - How do I delete an old backup for my server? - Delete a specific VM backup - Can I delete a backup of my virtual server? - Free up storage by deleting VM backups --- ## POST /api/vm/{vmid}/add-disk **Add storage to a virtual server** Extend the storage capacity of an existing Virtual Private Server (VPS). This is useful when your server requires more space for data, applications, or system files. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | size | string | Yes | | | storage | string | Yes | | | interface | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | message | A message describing the result of the operation. | | result.diskName | The name of the newly added disk. | | result.diskId | The ID of the newly added disk. | | result.storage | The type of storage used for the new disk. | | result.size | The size of the newly added disk. | | result.cache | The cache setting for the new disk. | ### Common Use Cases - How do I increase my VPS storage? - I need more disk space for my server, how do I do that? - Can I add a new disk to my virtual server? - How do I add extra storage to my VM? - Add storage to my server --- ## GET /api/vm/{vmid}/cloud-init **Get initial VM configuration** Retrieve the initial configuration, known as cloud-init, for a specific virtual machine (VM). This includes information like SSH keys and usernames, useful for troubleshooting or understanding the server's base setup. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | vmid parameter | ### Response Fields | Field | Description | |-------|-------------| | sshKeys | A list of SSH keys configured for the server. | | user | The default username for logging into the server. | | hasPassword | Indicates if the server has a password configured (value is hidden for security). | ### Common Use Cases - What does the cloud-init configuration for my server look like? - Can I see the SSH keys associated with my VM? - What is the default username for my virtual server? - Show cloud-init data for my server {vmid} --- # Domain Services Domain registration, transfers, WHOIS, and DNS management ## GET /api/dns/zones/{zoneId}/records **Get DNS records for a specific domain zone** View all DNS records (like A, MX, TXT) associated with a specific domain. This is useful for troubleshooting connection issues or verifying your DNS configuration. The endpoint returns an ID that may be needed for subsequent DNS management actions. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | zoneId | path | integer | Yes | Unique zone identifier | ### Response Fields | Field | Description | |-------|-------------| | zone.id | Unique ID for the DNS zone. | | zone.domain | The domain name the zone belongs to. | | zone.records | A list of all DNS records for the domain. | | zone.records[].id | Unique ID for a specific DNS record. | | zone.records[].type | Type of DNS record (e.g., A, MX, NS, SOA). | | zone.records[].name | The name of the DNS record (often the domain name or a subdomain). | | zone.records[].value | The value the DNS record points to (e.g., an IP address or another domain). | | zone.records[].ttl | Time To Live (TTL) for the record, indicating how long it should be cached. | | zone.records[].status | Status of the DNS record (e.g., 'active'). | | zone.records[].created | Date and time when the record was created. | ### Common Use Cases - Show my DNS settings for my domain - How do I change my nameservers? - Can you show all DNS records for example.com? - What are my current DNS records? --- ## POST /api/dns/zones/{zoneId}/records **Create a new DNS record for a domain** Add new DNS records (like TXT, A, CNAME, MX) to an existing domain zone. This is necessary for configuring services such as SSL certificates, email delivery, or domain verification. The API returns a unique ID for the created record, which can be used in subsequent calls to manage or verify the record. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | zoneId | path | integer | Yes | Unique zone identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | type | string | Yes | | | value | string | Yes | | | ttl | integer | No | | | priority | integer | No | | | weight | integer | No | | | port | integer | No | | ### Response Fields | Field | Description | |-------|-------------| | record.id | ID of the newly created DNS record. | | record.type | Type of DNS record (e.g., TXT, A, CNAME). | | record.name | The name of the DNS record. | | record.value | The value associated with the DNS record. | | record.ttl | Time To Live (TTL) for the DNS record in seconds. | | record.status | Status of the DNS record (e.g., pending, active). | ### Common Use Cases - How do I add a TXT record for my domain? - I need to create a new DNS record to verify my domain. - How do I configure DNS settings for a new service? - Can you help me add an MX record for email? - Create a DNS record for my domain. --- ## GET /api/client-domains **Get a list of your domains and DNS zones** View all domains and DNS zones associated with your account. The endpoint also returns IDs that may be needed for subsequent API calls to manage specific resources or retrieve more detailed information. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | limit | query | string | Yes | | | page | query | string | No | | ### Response Fields | Field | Description | |-------|-------------| | domains | A list of your registered domains. | | dnsZones | A list of your DNS zones. | | dnsOnlyZones | A list of DNS-only zones. | | pagination | Information about pagination for the result. | | success | Indicates if the operation was successful. | ### Common Use Cases - Show all my domains - What domain names do I have registered? - List my DNS zones - How do I see my registered domains and their status? - Can I see information about my domain names and DNS settings? --- ## GET /api/domain-pins **List your favorite domains** See which of your domains are marked as favorites. This is useful for a quick overview of your most important domains, such as those linked to your main website or business-critical services. This endpoint returns a unique `requestId` for subsequent API calls. ### Response Fields | Field | Description | |-------|-------------| | pinned_domains | A list of domain names that have been marked as favorites. | ### Common Use Cases - Which of my domains are favorites? - Show my marked domains. - How do I see my most important domains? - Can I see a list of my domain favorites? - Give me an overview of my marked domain names. --- ## POST /api/domain-pins **Pin a domain for quick access to the control panel** Pin a specific domain to your overview or dashboard for quicker access to its settings and management. A successful call returns a unique `requestId` for tracking the operation. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain_id | string | Yes | | | domain_name | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | action | Describes the action performed (e.g., 'pinned'). | | domain_id | ID of the domain that was pinned. | | message | A message confirming that the domain has been pinned. | ### Common Use Cases - How do I pin a domain to my dashboard? - I want quick access to my domain example1.com, how do I do it? - Can I pin a domain to easily manage its DNS settings? - How do I add a domain to my favorites list for quick access? --- ## GET /api/dyndns/update **Update Dynamic DNS (DynDNS) for your domain** Update the IP address associated with your domain via Dynamic DNS. This is useful if your IP address changes regularly. You need a token, which you can obtain from e.g. POST /api/mailrelay/token. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | hostname | query | string | Yes | | | token | query | string | Yes | | | ip | query | string | No | | ### Response Fields | Field | Description | |-------|-------------| | message | A message confirming the update, e.g., 'nochg 192.0.2.1'. | ### Common Use Cases - How do I update my IP address for my domain? - I need to change my DynDNS setting. - How do I make my domain point to my current IP address? - Update IP address for my website. --- ## POST /api/domain-check **Check availability of domain names and top-level domains** Check if a specific domain name is available for registration, along with a list of desired top-level domains (TLDs). This endpoint returns a jobId you use to retrieve the result via GET /api/domain-check/{jobId}. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | sld | string | Yes | | | tlds | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | jobId | Unique ID for the domain check job. | | status | Status of the job processing (e.g., 'queued'). | | message | A message describing the status of the job queuing. | ### Common Use Cases - Is the domain name 'Marillin' available? - Can I register mydomainexample2.com? - Check if example3.com is available. - How do I check if a domain name is available? - Are there available domains with a .nu extension? --- ## GET /api/domain-lookup **Get information about a specific domain** Retrieve detailed information about a domain, including its registration status, owner information, and nameservers. This endpoint also returns a requestId that can be used to track related operations. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domain | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | cached | Shows if the response was retrieved from cache. | | domain | The domain name requested. | | registrar | The registrar managing the domain. | | expiryDate | The date the domain registration expires. | | createdDate | The date the domain was registered. | | transferLocked | Indicates if the domain is locked for transfer. | | lockReason | Reason why the domain is locked for transfer. | | nameServers | List of the domain's nameservers. | | available | Shows if the domain is available for registration. | | tooNewForTransfer | Indicates if the domain is too new to be transferred. | | transferEligibleDate | The date the domain becomes eligible for transfer. | | daysUntilTransferEligible | Number of days until the domain becomes eligible for transfer. | ### Common Use Cases - Is the domain [domainName] available? - Who owns the domain [domainName]? - When does the domain [domainName] expire? - Can I transfer my domain [domainName] now? - What are the nameservers for [domainName]? --- ## GET /api/dns-propagation **Check DNS propagation for a domain** Check if DNS changes have propagated globally for your domain. This is useful when you have made updates to your DNS settings, such as changing nameservers or DNS records, and want to verify that the changes have taken effect everywhere. The API returns a status indicating if propagation is complete and provides details about the nameservers. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domain | query | string | Yes | | | nameserver | query | string | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the API call was successful. | | domain | The domain that was checked. | | propagated | Indicates if DNS propagation has completed. | | allPropagated | Indicates if all DNS records have propagated. | | resolves | Indicates if the domain can be resolved correctly. | | actualNameservers | A list of the nameservers actually in use for the domain. | | providedNameservers | A list of the nameservers expected to be in use. | | matchingNameservers | A list of nameservers that match both actual and expected. | | propagationStatus | A string describing the current propagation status (e.g., 'fully_propagated'). | | message | A message providing more information about the propagation status. | | timestamp | The time the check was performed. | ### Common Use Cases - Are my DNS changes complete? - How do I know if my domain has propagated? - Check DNS propagation for my domain - Have my nameservers been updated globally? - Why is my new domain setting not working? --- ## POST /api/dns-propagation **Check DNS propagation for your domains** Check if your DNS changes have propagated globally. This is useful when you have updated DNS settings for your domains and want to verify they are active everywhere. The API returns a unique ID that you can use to track results in other systems. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domains | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | results | A list of results for each domain checked, indicating if DNS has propagated and if the domain resolves correctly. | | requestId | A unique ID for this request, which can be used to track the result. | | propagated | A boolean indicating if DNS has propagated for a specific domain. | | allPropagated | A boolean indicating if DNS has propagated for all domains in the request. | | resolves | A boolean indicating if the domain can be resolved correctly. | | propagationStatus | A string describing the current DNS propagation status (e.g., 'not_propagated'). | | message | A message providing more information about the propagation status. | ### Common Use Cases - Are my DNS changes active? - When will my nameservers be updated? - How do I check DNS propagation for my domain? - Show status of my domain's DNS propagation. - Have my DNS settings propagated globally? --- ## GET /api/cdn/zones **Get status and settings for CDN zones** View the status, ID, and specific settings for your CDN zones. This endpoint returns information necessary for managing DNS records and CDN configurations, as well as a 'zoneId' required for many subsequent DNS management calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domain | query | string | Yes | | | include_records | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | exists | Indicates if the CDN zone exists. | | enabled | Shows if the CDN zone is active. | | status | Current status of the CDN zone (e.g., 'inactive'). | | zoneId | Unique ID for the CDN zone, used for subsequent calls. | | name | The domain name the CDN zone is associated with. | | settings | Object containing detailed configuration settings for the CDN. | | lastWebhook | Timestamp of the last webhook event related to the zone. | | lastSync | Timestamp of the last zone synchronization. | | securitySettingsUpdated | Indicates if security settings have been recently updated. | | geo_whitelist | Information about geographical locations allowed to access the service. | | records | A list of DNS records associated with the CDN zone. | | recordCount | The number of DNS records for the CDN zone. | ### Common Use Cases - Show my CDN zones - How do I check the status of my domain's CDN? - List all DNS zones for my domains - What is the status of my CDN for [domainName]? - Can I see my CDN settings? --- ## PUT /api/cdn/zones **Update CDN settings for a domain** Change security and performance settings for your domain's CDN. You can configure everything from DDoS protection to SSL modes and geoblocking. This endpoint returns an ID that may be needed for subsequent actions. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | proxy | boolean | Yes | | | ddosMode | string | Yes | | | alwaysUseHttps | boolean | Yes | | | nonSwedenTrafficAction | string | Yes | | | sslMode | string | Yes | | | minTlsVersion | string | Yes | | | botProtection | boolean | Yes | | | blockBadCrawlers | boolean | Yes | | | wpLoginProtection | boolean | Yes | | | wpadminChallenge | boolean | Yes | | | blockBadBots | boolean | Yes | | | earlyHints | boolean | Yes | | | alwaysOnline | boolean | Yes | | | koalityengineAllowlist | boolean | Yes | | | wafSkipEnabled | boolean | Yes | | | wafChallengeGeoEnabled | boolean | Yes | | | geo_whitelist_countries | string | Yes | | | wafIpAllowlist | array | Yes | | | wafUaAllowlist | array | Yes | | | wafPathAllowlist | array | Yes | | | dnssecEnabled | boolean | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | domain | The domain for which settings were updated. | | updated_fields | A list of fields that have been changed. | | security_settings_updated | Confirms if security settings have been updated. | ### Common Use Cases - How do I change my CDN settings for my domain? - I want to enable DDoS protection for my website. - Can I set which countries can visit my website? - How do I update DNS settings for my CDN? --- ## GET /api/redirects **Get your website redirect rules** Retrieve all configured redirect rules for your domain. Also returns an ID that can be used in subsequent calls, for example, to check the status of an operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domain_id | query | string | Yes | | | domain_name | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | rules | A list of configured redirect rules. | | cloudflare_rules | A list of redirect rules managed via Cloudflare. | | cloudflare_zone_id | Identifier for the Cloudflare zone associated with the domain. | ### Common Use Cases - Show my redirect rules - How do I set up a redirect? - Where can I see my current redirects? - Manage redirects on my website --- ## POST /api/redirects **Set up redirects for your domain** Create automatic redirects from one URL to another for your domain. This is useful when changing website addresses or directing visitors to a new page. Returns an ID needed to manage or verify the redirect in subsequent calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain_id | string | Yes | | | domain_name | string | Yes | | | source_url | string | Yes | | | target_url | string | Yes | | | status_code | integer | Yes | | | redirect_scope | string | Yes | | | preserve_query_string | boolean | Yes | | | include_subdomains | boolean | Yes | | | subpath_matching | boolean | Yes | | | description | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | rule.id | The unique ID of the created redirect rule. | | rule.domain_id | The ID of the domain the redirect applies to. | | rule.source_url | The URL visitors are sent from. | | rule.target_url | The URL visitors are sent to. | | rule.status_code | The HTTP status code for the redirect (e.g., 301 for permanent). | | rule.description | A description of the redirect. | ### Common Use Cases - How do I set up a redirect for my domain? - I want my old website address to point to my new address. - How do I create a 301 redirect? - Can I redirect all pages on my domain to a new website? - Manage redirects for example4.com --- ## POST /api/ai-suggestions **Get AI-generated domain suggestions** Obtain suggestions for domain names that match a specific search term. This is useful when you want to register a new domain and need inspiration. The API returns a list of available domain names. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | prompt | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | suggestions | A list of suggested domain names. | ### Common Use Cases - Can you give me domain name suggestions for my company? - I want to register a domain containing 't', do you have any ideas? - Give me suggestions for available domains. - What are good domain names for 't...'? --- ## GET /api/domain-products **Get available top-level domains and their product IDs** Retrieve a list of all available top-level domains (TLDs) offered, along with their unique product IDs. This ID is necessary to perform subsequent actions such as registering a domain or linking it to other services. Use this endpoint when you need to know which domain extensions are available for registration. ### Response Fields | Field | Description | |-------|-------------| | tlds | An array of objects, where each object represents a top-level domain. Each object contains 'tld' (the top-level domain itself, e.g., '.se') and 'productId' (a unique ID for this domain type). | ### Common Use Cases - What domains can I register? - Show me all available top-level domains. - How do I find the product ID for a domain? - I want to register a .se domain, how do I do that? - Can I register a .com domain through you? --- ## GET /api/product-details/{id} **Get detailed information about a specific product** Retrieve detailed information about a specific product, such as a domain or a service. The returned data, including a unique ID, is often necessary to perform further actions or to display specific information to you. Note that the ID returned may need to be used in subsequent API calls to complete a process, such as initiating a payment or displaying an order status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | id | The product's unique identifier. | | category_name | The name of the product category (e.g., 'Domains'). | | name | The name of the product (e.g., '.se'). | | description | A description of the product (often empty). | | visible | Indicates if the product is visible. | | stock | Current stock status of the product. | | qty | Number of available units. | | paytype | Type of payment for the product. | | ptype | Type of product. | | slug | A URL-friendly identifier for the product. | | service_type | The type of service (e.g., 'Domain'). | | tag_name | The name of the tag (often the same as the product name). | | periods | An object containing prices for different time periods (registration, renewal, etc.). | | prices | A list of prices for the product. | | domain_options | Options related to the domain. | | autohostname | Setting for automatic hostname generation. | | hostname | Hostname setting. | | options | General options for the product. | | customizations | Customization options for the product. | | config | Configuration settings for the product. | ### Common Use Cases - Can you give me more information about the .se domain? - What does a .se domain cost for different periods? - What options are available for .se domains? - Show prices and terms for the .se domain. --- ## GET /api/nameserver-templates **Get nameserver templates** Retrieve a list of available nameserver templates. This is useful when configuring DNS settings for a domain and you need to select a pre-made template for external nameservers. The API returns IDs that can be used in subsequent calls to manage your domain names. ### Response Fields | Field | Description | |-------|-------------| | templates | A list of available nameserver templates, where each template contains information such as name, description, and the specific nameserver addresses. | ### Common Use Cases - Can I see my DNS templates? - How do I configure nameservers for my domain? - Show available nameserver templates - What DNS templates are available? --- ## POST /api/nameserver-templates **Create a new nameserver template for domains** Create a new nameserver template for your domains. This is useful when you want to define a standard set of nameservers for multiple domains at once. The endpoint returns an ID that can be used for subsequent actions related to the template. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | description | any | Yes | | | nameservers | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | template.id | Unique ID for the created nameserver template. | | message | Confirmation message that the template was created successfully. | ### Common Use Cases - How do I create a new nameserver template? - I want to add a default DNS template for my domains, how do I do that? - Can I create a template for nameservers? - How do I set up nameservers for a new domain? --- ## GET /api/dns/zones **List all DNS zones for your account** View all DNS zones that you manage with us. This is useful when you need an overview of your domains' DNS settings or want to prepare for making changes. ### Response Fields | Field | Description | |-------|-------------| | zones | A list of your DNS zones. Each zone represents a domain and its DNS records. | ### Common Use Cases - Show all my DNS zones - What domains do I have? - Can you list my nameservers? - Show my DNS settings --- ## GET /api/dns-test **Test DNS settings for a domain** Test your domain's DNS configuration by making calls to various DNS servers. Use this to troubleshoot domain lookup issues or verify that your DNS settings are correct. The service returns a unique ID you can use to track the result later. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domain | query | string | Yes | | | nameserver | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the DNS test was successful overall. | | nameserver | The DNS server used for the test. | | nameserverIp | The IP address of the DNS server used. | | domain | The domain that was tested. | | tests | A list of detailed results for each DNS test type (e.g., A, AAAA, NS). | | averageResponseTime | Average response time in milliseconds for successful tests. | | status | Overall status of the test (e.g., 'success', 'partial', 'failed'). | | timestamp | Timestamp when the test was performed. | ### Common Use Cases - Why isn't my domain working? - Can you test my DNS settings? - How do I check if my nameserver is configured correctly? - I'm having domain issues, can you help me troubleshoot DNS? - Test my domain's DNS lookup. --- ## POST /api/scan-dns-records **Verify DNS records for a domain** Check and verify the DNS records for a specific domain. This endpoint returns information about the domain's DNS settings, including A records, CNAME records, and nameservers. It also returns a requestId for follow-up calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | domain | The domain name that was scanned. | | records | A list of DNS records, including type, name, value, and whether they use Cloudflare. | | nameservers | A list of the domain's nameservers. | | isHostupDomain | A flag indicating if the domain is managed by HostUp. | ### Common Use Cases - Can you check my DNS settings? - Show my DNS records for my domain. - What are my nameservers? - Verify DNS for example12.com --- ## POST /api/domain-exists **Check domain availability for registration** Quickly check if a desired domain name is available. The service returns a unique ID required to retrieve the final result from a follow-up call, necessary for completing domain registration. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | exists | Indicates if the domain is available ('false') or already taken ('true'). | ### Common Use Cases - Is the domain name [domainName] available? - Can I register the domain [domainName]? - Check availability for [domainName] - Is [domainName] available for purchase? - I want to know if my domain has DNS conflicts --- ## GET /api/whois **Get WHOIS information for a domain** View detailed information about a specific domain, such as owner, registrar, and expiration date. The endpoint returns a unique ID needed for follow-up calls related to domain status or management. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domain | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | cached | Shows if the result was retrieved from cache. | | domain | The domain name requested. | | registrar | The registrar managing the domain. | | expiryDate | The date the domain expires. | | createdDate | The date the domain was registered. | | updatedDate | The date the domain was last updated. | | status | The domain's current status (e.g., 'active', 'ok'). | | nameServers | List of the domain's nameservers. | | dnssec | The status of DNSSEC. | | transferLocked | Indicates if the domain is locked for transfer. | ### Common Use Cases - Who owns the domain example.com? - When does my domain expire? - Show information about my domain - What are the domain's nameservers? - Is the domain locked for transfer? --- ## GET /api/domain-preferences **Get domain settings and status** Retrieve the current settings and status for a specific domain. The endpoint returns a unique 'requestId' for tracking related operations. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domain | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | preferences | A collection of domain-specific settings. | | domain | The name of the domain the settings apply to. | ### Common Use Cases - What are my current domain settings? - Can you show information about my domain? - What is the status of my domain? - I need to see my domain's nameserver settings. --- ## POST /api/domain-preferences **Save settings for a specific domain** Save specific settings or preferences for a domain, such as accepting warnings. The response includes a unique ID for tracking the setting change. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | key | string | Yes | | | value | boolean | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Status message confirming the setting was saved. | | domain | The domain name the setting applies to. | | key | The key for the setting that was saved (e.g., 'webhotel_warning_accepted'). | | value | The value of the saved setting (e.g., 'true' or 'false'). | ### Common Use Cases - How do I change settings for my domain example13.com? - I want to save that I accepted the warning for the web hosting on example13.com. - Where can I manage my domain settings? - How do I update preferences for a domain? --- ## GET /api/domain-order/{id} **Get details of a specific domain order** Retrieve detailed information about a specific domain order, including status, payment information, and domain name. Use this endpoint to see the status of a recent domain registration or transfer. The endpoint returns an order ID for tracking. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | success | [object Object] | | timestamp | [object Object] | | requestId | [object Object] | | data.details.id | [object Object] | | data.details.number | [object Object] | | data.details.status | [object Object] | | data.details.total | [object Object] | | data.details.currency_id | [object Object] | | data.details.date_created | [object Object] | | data.details.domains | [object Object] | | data.details.domains[].name | [object Object] | | data.details.domains[].type | [object Object] | | data.details.domains[].status | [object Object] | | data.details.currency.code | [object Object] | | data.details.currency.iso | [object Object] | ### Common Use Cases - Can you show me the details of my domain order? - What is the status of my recently registered domain? - I need information about a specific domain payment. - Show me all details for the domain name wellton.co. - What does my domain order look like? --- ## GET /api/domain-details/{id} **Get detailed information for a specific domain** Retrieve all information related to a specific domain using its ID. This information is useful for managing domain settings, checking status, and viewing related details like nameservers and registration information. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | timestamp | Timestamp when the response was generated. | | requestId | Unique ID for the request, used for troubleshooting. | | data.details.id | The domain's unique identifier. | | data.details.name | The domain name (e.g., 'example.com'). | | data.details.next_due | Date of the next due date. | | data.details.next_invoice | Date of the next invoice. | | data.details.idprotection | ID protection status (1 if enabled, 0 otherwise). | | data.details.nameservers | List of the domain's nameservers. | | data.details.autorenew | Auto-renewal status (1 if enabled, 0 otherwise). | | data.details.epp_code | EPP code (transfer code) for the domain. | | data.details.status | The domain's current status (e.g., 'Pending', 'Active'). | | data.details.type | Type of domain registration or transfer. | | data.details.firstpayment | Amount of the first payment. | | data.details.recurring_amount | Amount for recurring payments. | | data.details.expires | Date the domain expires. | | data.details.client_id | ID of the customer who owns the domain. | | data.details.order_id | ID of the order the domain belongs to. | | data.details.tld_name | The Top-Level Domain (TLD) of the domain (e.g., '.com'). | ### Common Use Cases - Show information about my domain - What is the status of my domain? - Show nameservers for a domain - Get details for a specific domain - Show domain registration information --- ## POST /api/domain-access **Allow editing of DNS settings for a specific domain** Grant permission to edit DNS settings for a specific domain. It returns a unique ID (requestId) that may be needed for subsequent actions, such as in the billing process. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain_id | string | Yes | | | domain_name | string | Yes | | | access_type | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | message | A message confirming that access has been registered. | ### Common Use Cases - Can I change my domain's DNS settings? - How do I grant someone permission to edit DNS? - I need to change my nameserver, how do I do that? - Give me access to edit DNS for example16.com --- ## GET /api/dns/domain/{domain} **Get DNS zone information for a domain** Retrieve information about a specific domain's DNS zone, including its status. It returns a unique ID for subsequent API calls to manage cases or review settings, which is necessary to proceed with certain administrative actions. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domain | path | string | Yes | Fully qualified domain name | ### Response Fields | Field | Description | |-------|-------------| | zone.id | Unique identifier for the DNS zone. | | zone.domain | The domain name the DNS zone belongs to. | | zone.status | The status of the DNS zone (e.g., 'active'). | ### Common Use Cases - Can you show me the DNS information for my domain? - How do I check the status of my domain's DNS zone? - I need to retrieve my domain's DNS settings. - Show zone information for my domain. - What is the status of my nameservers? --- ## GET /api/redirects/check-dns **Check DNS settings to avoid overwrites** Check if existing DNS records will be overwritten when new settings are applied. This returns a unique ID to track the status of the DNS check in subsequent calls. Use this endpoint to ensure no critical DNS settings are lost. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | source_url | query | string | Yes | | | domain_name | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | willReplace | Indicates if existing DNS records will be overwritten. | | existingRecords | A list of existing DNS records that may be affected. | | subdomain | The subdomain the check applies to. | ### Common Use Cases - Will my DNS settings be changed? - Can I change my DNS records without affecting my current site? - Do I need to worry about my domain settings being overwritten? - Check DNS overlap for my domain. --- ## GET /api/domain-contacts/{id} **Get contact details for a domain** Retrieve the contact information associated with a specific domain. This can include details for the registrant, administrator, and technical contact, which is important for managing domain ownership and technical configuration. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | contacts | An object containing contact details for the registrant, administrator, and technical contact. | | success | A boolean indicating if the operation was successful. | ### Common Use Cases - What contact details do I have for my domain? - Show registration information for my domain - How do I update my domain's contact information? - Can you show the admin and technical details for my domain? --- ## POST /api/domain-contacts/{id} **Update contact information for a specific domain** Change or correct contact information associated with a domain, such as registrant name, address, and contact details. This is important to ensure the domain registration is accurate and up-to-date according to registration requirements. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | updateContactInfo | object | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | A message confirming that the domain contacts have been updated. | | contacts | An object containing the updated contact details for the domain. | | success | A boolean indicating if the update was successful. | | syncTriggered | A boolean indicating if a synchronization was triggered. | | domainStatus | The status of the domain after the update. | ### Common Use Cases - How do I change the ownership information for my domain? - I need to update the address for my domain registration. - Can I change the contact details for my domain? - Update registrant details for my domain. - How do I manage my domain's DNS account details? --- ## POST /api/domain-transfers/generate **Generate domain transfer token** Initiate a domain transfer to a new owner by generating a unique token. The new owner needs this token to complete the transfer on their account. You must provide the ID of the domain you wish to transfer. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domainId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | token | A unique code required to complete the domain transfer. | | domainName | The name of the domain being transferred. | | domainExtension | The suffix of the domain name (e.g., se, com). | | serviceType | The type of service, in this case 'domain'. | | expiresIn | How long the token is valid. | | currentOrgno | Organization number of the current owner. | | message | A message describing the result of the operation, often with instructions. | | verifiedAs | The role the user was verified as to perform the transfer. | | companyName | The company name of the current owner. | ### Common Use Cases - How do I transfer a domain to someone else? - Can I move my domain to another account? - I need a code to transfer my domain - How do I start a domain transfer? - What if my domain transfer fails? --- ## POST /api/domains/{id}/status-sync **Synchronize domain status with registrar** Synchronize the status of a specific domain with its registrar to ensure your system has the latest information. This endpoint returns a `requestId` to track the synchronization process. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domainIds | array | No | | | id | integer | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the API call was successful. | | timestamp | The time when the request was logged. | | requestId | Unique ID for this synchronization request, can be used to track status. | | data.syncSuccess | Indicates if the domain status synchronization itself was successful. | | data.domain | An object containing detailed information about the domain. | | data.domain.id | The domain's unique ID. | | data.domain.name | The domain name. | | data.domain.status | The current status of the domain with the registrar. | | data.domain.expires | The date the domain expires. | | data.domain.autorenew | Indicates if auto-renewal is enabled (1 for yes, 0 for no). | | data.domain.epp_code | The EPP code (auth code) for the domain, used for domain transfers. | ### Common Use Cases - How do I update my domain's status? - Why does my domain status seem outdated? - Sync domain status for example.com - Check the domain's current status with the registrar --- ## POST /api/email-verification/resend **Resend domain verification email** Send a domain verification email again if it was not received. This is useful if the original email was accidentally deleted or went to spam. Returns a `requestId` to track the request status in subsequent calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | | domain | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | message | A message confirming that the email has been resent, or providing additional information. | ### Common Use Cases - I haven't received my domain verification email, can you resend it? - How do I request a new verification email for my domain example18.com? - What do I do if I missed the email to verify my domain? - Resend domain verification email - Can you resend the DNS verification email? --- ## GET /api/domains/{domainId}/dnssec **Get DNSSEC information for a specific domain.** This endpoint retrieves DNSSEC settings for a specific domain, returning information necessary to verify the domain's security and integrity. You need to provide the domain ID to use this endpoint. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Response Fields | Field | Description | |-------|-------------| | domain | The domain name for which the information is retrieved. | | dnssec | An object containing DNSSEC-specific data, including DS (Delegation Signer) records and any keys. | ### Common Use Cases - Can you show me the DNSSEC information for my domain? - How do I check the DNSSEC status for a domain? - Show DS records for my domain - What are the DNSSEC settings for my domain? --- ## POST /api/domains/{domainId}/dnssec **Add DNSSEC information for a domain.** Use this API to add DNS Security Extensions (DNSSEC) records for your domain, enhancing the security and authenticity of your domain name lookups. The API returns a requestId for tracking the operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | type | string | Yes | | | key_tag | string | No | | | algorithm | string | Yes | | | digest_type | string | No | | | digest | string | No | | | flag | string | No | | | protocol | string | No | | | publickey | string | No | | ### Response Fields | Field | Description | |-------|-------------| | message | Notification that the DS record has been added. | | record | An object containing the details of the added DS record. | ### Common Use Cases - How do I add DNSSEC for my domain? - I need to add a DS record for my domain. - How do I secure my domain's DNS? - Where can I find information about DNSSEC records? - Add DNSSEC settings for domain [domainId]. --- ## POST /api/registry-lock/request-unlock **Request domain registration unlock (Registry Lock).** This endpoint requests the unlock of a domain with Registry Lock enabled. After successful identity verification (often via BankID) and if no unlock request is already in progress, a request is sent to support. The endpoint returns a unique requestId for tracking your request in subsequent calls, such as via Stripe checkout for potential fees. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domainId | string | Yes | | | forceRequest | boolean | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was sent successfully. | | requestId | A unique ID for this request, used for follow-up. | | data.domainName | The name of the domain the request applies to. | | data.ticVerified | Indicates if your identity has been automatically verified. | | data.verifiedAs | Describes your verified role (e.g., Board Member). | | data.companyName | The name of the company the domain is registered to. | | data.message | A message describing the status of your request. | | requiresBankId | Boolean indicating if BankID verification is required. | | domainExtension | The domain's top-level domain (e.g., .se, .com). | | alreadyRequested | Boolean indicating if an unlock request is already active for the domain. | | daysSinceRequest | Number of days since the last unlock request was made. | ### Common Use Cases - I need to unlock my domain - How do I remove Registry Lock from my domain? - Can you help me unlock my domain? - My domain is locked, what should I do? - I want to unlock the domain karlsväexample19.com --- ## GET /api/domains/{domainId}/dnssec-auto **Get DNSSEC status for a domain** Check the current status of automatic DNSSEC management for a specific domain. This endpoint returns information on whether DNSSEC is active, when it was last checked, and any error messages. You need to provide the domain ID. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Response Fields | Field | Description | |-------|-------------| | domain | The domain name the information pertains to. | | dnssec_status | The DNSSEC status ('active', 'inactive', etc.). | | last_checked | The date and time DNSSEC was last checked. | | last_error | Any error messages from the last check, or null. | | nameservers_changed_at | The timestamp when nameservers were last changed, or null. | | blocked_until | The timestamp until which the domain may be blocked, or null. | ### Common Use Cases - Is DNSSEC active for my domain? - Check security settings for my domain - How do I know if my domain is protected with DNSSEC? - Show DNSSEC status for domain [domain_name] - When was DNSSEC last checked for my domain? --- ## POST /api/domains/{domainId}/dnssec-auto **Stop automatic DNSSEC activation for a domain** Manually opt out of automatic DNSSEC activation for a specific domain. This is useful if you need more control over DNSSEC settings or if the automatic process causes issues. The endpoint returns a unique ID to track the request status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | action | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Confirmation message that the domain has been excluded from automatic DNSSEC activation. | | domain | The domain name that has been excluded. | | dnssec_status | The DNSSEC status for the domain, now set to 'excluded'. | ### Common Use Cases - How do I remove my domain from automatic DNSSEC? - I don't want my domain to use automatic DNSSEC - How do I manage DNSSEC for my domain manually? - Can I disable automatic DNSSEC for a specific domain? --- ## GET /api/domain-check/{jobId} **Get status of a domain check** Retrieve the status and results of a previously initiated domain check. Use the jobId returned from POST /api/domain-check to get the result. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | jobId | path | string | Yes | jobId parameter | ### Response Fields | Field | Description | |-------|-------------| | status | The status of the entire job execution (e.g., 'completed'). | | results | A list of checked domains with their availability and prices. | | timestamp | The time when the request was completed. | | progress | The progress of the job in percentage. | | message | A message describing the status or any errors. | ### Common Use Cases - Is the domain example22.com available? - Can I register example23.com? - Which domains are available? - Check status of my domain registration --- ## HEAD /api/domain-check/{jobId} **Check status and availability of domain names** Check the registration status of a domain name or see if a domain name is available for registration. This is useful to know if a specific domain name is already taken or to get information about existing domain names. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | jobId | path | string | Yes | jobId parameter | ### Response Fields | Field | Description | |-------|-------------| | status | The status of the entire job execution (e.g., 'completed'). | | results | A list of results for each checked domain name. | | timestamp | The timestamp when the response was generated. | ### Common Use Cases - Is the domain name 'example.com' available? - Can I register the domain 'example24.com'? - Check status for my domains. - What is the cost of the domain 'example25.com'? - Is the domain name 'bestshop.store' available? --- ## POST /api/domains/bulk/autorenew **Disable or enable automatic renewal for multiple domains** Mass manage automatic domain renewal settings. This is useful when you want to disable renewal for a group of domains or enable it again. The API returns a `jobId` to track the action's status via other API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domainIds | array | Yes | | | enable | boolean | Yes | | | confirmCancelPending | boolean | No | | ### Response Fields | Field | Description | |-------|-------------| | jobId | An ID to track the status of the ongoing job execution. | | message | A message describing the result of the action. | | domainsCount | The number of domains affected by the action. | ### Common Use Cases - How do I disable automatic renewal for my domains? - Can I disable auto-renewal for multiple domains at once? - How do I enable automatic renewal for my domain names? - I don't want my domains to renew automatically, how do I do that? - Where can I find the status for bulk domain renewal changes? --- ## GET /api/domains/{domainId}/dyndns **Get Dynamic DNS configuration for a domain** Retrieve the current configuration for Dynamic DNS (DynDNS) for a specific domain. You need the domain ID, which you can get from endpoints like GET /api/client-domains. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Response Fields | Field | Description | |-------|-------------| | configs | A list of dynamic DNS configurations for the domain. | ### Common Use Cases - How do I configure dynamic DNS for my domain? - Can I see my current DNS settings for my domain? - Show settings for my domain: example.com - What is the status of my domain's DNS update? --- ## POST /api/domains/{domainId}/dyndns **Configure and manage Dynamic DNS for a domain** Set up and manage Dynamic DNS (DynDNS) for a specific domain. DynDNS is useful when your IP address changes regularly and you want your domain name to always point to the correct address. You need the domain ID, obtainable from endpoints like GET /api/client-domains. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | hostname | string | Yes | | | record_type | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | timestamp | The time when the response was generated. | | requestId | A unique ID for tracking the request. | | data.config.id | The unique ID of the DynDNS configuration. | | data.config.hostname | The domain name for which DynDNS is being configured. | | data.config.record_type | The type of DNS record (e.g., A for IPv4). | | data.config.token | A secret token used to update DynDNS. | | data.config.last_ip | The last IP address recorded for DynDNS. | | data.config.last_update | The timestamp of the last DynDNS update. | | data.config.update_count | The number of times DynDNS has been updated. | | data.config.enabled | Indicates if DynDNS is enabled. | | data.config.created_at | The timestamp when the DynDNS configuration was created. | | data.message | A message describing the result of the operation. | ### Common Use Cases - How do I set up Dynamic DNS for my domain? - I need help configuring my domain to point to my home server. - Can I automatically update the DNS pointer for my domain? - How do I manage DNS records for my domain? - Where can I find settings for my domain's nameserver? --- ## GET /api/domain-verify-identity/{domainId} **Verify domain owner identity, requiring BankID if necessary** Verify the identity of a domain owner. Certain actions, like changing personal/organizational numbers, require BankID verification. The endpoint returns a `requestId` for subsequent calls to complete the process. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Response Fields | Field | Description | |-------|-------------| | requiresBankId | Indicates if BankID verification is required for the current action. | | verified | Shows if the identity is already verified. | | domainName | The domain name the verification applies to. | | domainExtension | The extension of the domain name (e.g., 'se'). | | message | A message explaining the status or next steps, e.g., why BankID is required. | ### Common Use Cases - How do I verify my identity for my domain? - Do I need to use BankID to change domain details? - Why is BankID required to edit my personal number on the domain? - Can I change my domain ownership details without BankID? - Verify that I own the domain example26.com --- ## POST /api/domain-edit/{id} **Update automatic renewal setting for a domain** Change the automatic renewal setting for a specific domain. This ensures your domain does not expire or allows you to manually disable auto-renewal. The API returns a 'requestId' to track the update. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | registrarlock | string | No | | | reglock | string | No | | | autorenew | string | No | | | epp_code | string | No | | ### Response Fields | Field | Description | |-------|-------------| | message | A message confirming that the domain has been updated. | | success | A boolean flag indicating if the update was successful. | | syncTriggered | A boolean flag indicating if a synchronization was triggered. | | domainStatus | The status of the domain after the update. | ### Common Use Cases - How do I turn off automatic renewal for my domain? - Can I change the automatic domain renewal setting? - How do I enable automatic renewal for a domain? - I don't want my domain to renew automatically, how do I do that? - Update domain renewal settings --- ## POST /api/domains/bulk/renew **Renew multiple domains simultaneously** Renew multiple domain names at once. After renewal, a jobId is returned to retrieve the result via GET /api/domain-check/{jobId} or other job status endpoints. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domainIds | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the bulk renewal request was successful. | | jobId | A unique ID for the renewal job, used to track status and results. | | domains_queued | The number of domains queued for renewal. | | domains_skipped | The number of domains skipped during the renewal process. | | skipped | A list of domains that were skipped and the reason why. | ### Common Use Cases - How do I renew my domains in bulk? - I want to renew multiple domain names at once. - Can I batch renew my domains? - What happens after I request bulk domain renewal? - Do I need to specify DNS settings for bulk renewal? --- ## PUT /api/dns/zones/{zoneId}/records/{recordId} **Update DNS records for a domain** Modify existing DNS records for your domain. This is necessary for configuring email, SSL certificates, or other services requiring specific DNS settings. The endpoint returns an ID needed for follow-up calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | zoneId | path | integer | Yes | Unique zone identifier | | recordId | path | integer | Yes | Unique record identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | id | integer | No | | | type | string | Yes | | | name | string | No | | | value | string | Yes | | | ttl | integer | No | | | status | string | No | | | created | string | No | | | proxy_rule | object | No | | | priority | integer | No | | | weight | integer | No | | | port | integer | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the DNS record update was successful. | | timestamp | The time the request was processed. | | requestId | Unique ID for this specific request, can be used for troubleshooting or correlation with other systems. | | record | Object containing details of the updated DNS record, including its ID, type, name, value, TTL, and status. | ### Common Use Cases - How do I change my DNS settings for my domain? - I need to update a TXT record for my domain name. - Can I change the TTL for a DNS record? - How do I reconfigure my nameservers? - Update DNS record for domain --- ## DELETE /api/dns/zones/{zoneId}/records/{recordId} **Delete a DNS record from a specific DNS zone** Remove a specific DNS record, such as an A or CNAME record, from an existing DNS zone. This is necessary if a record is incorrect or no longer needed for your domain. The endpoint returns a message confirming the DNS record has been deleted. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | zoneId | path | integer | Yes | Unique zone identifier | | recordId | path | integer | Yes | Unique record identifier | ### Response Fields | Field | Description | |-------|-------------| | message | A message indicating that the DNS record has been deleted. | ### Common Use Cases - How do I delete a DNS record? - I need to delete an A record for my domain, how do I do that? - Can I remove a CNAME record from my DNS? - How do I manage my domain's DNS settings? - Delete an incorrect DNS record --- ## POST /api/domains/{domainId}/nameservers **Update a domain's nameservers and initiate pre-checks** Change the nameservers associated with your domain. This is often necessary when migrating services or setting up new DNS configurations. The API returns a jobId to retrieve the pre-check results via a separate GET request. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | nameservers | array | Yes | | | domainIds | array | No | | | nsips | array | No | | ### Response Fields | Field | Description | |-------|-------------| | message | Message describing the action's status, e.g., that the DNS zone is being prepared. | | jobId | A unique ID for the pre-check job, used to track its status. | | precheck | A boolean indicating whether the pre-check succeeded or failed. | | status | Job status, e.g., 'queued' or 'processing'. | | success | A boolean indicating if the API call was successful. | | domainStatus | Current status of the domain after the action. | ### Common Use Cases - How do I change my domain's nameservers? - I want to point my domain to a new server, how do I do that? - Can I update my domain's DNS settings? - How do I configure the nameservers for my VPS? - I've changed hosting providers, how do I redirect my domain? --- ## GET /api/jobs/{jobId} **Get status for a specific job** Check the status of an ongoing or recently completed job. This is particularly useful for tracking domain-related operations. The endpoint returns a jobId to retrieve the final result via other endpoints like GET /api/domain-check/{jobId}. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | jobId | path | string | Yes | jobId parameter | ### Response Fields | Field | Description | |-------|-------------| | jobId | Unique ID for the job. | | queueType | Type of queue the job belongs to (e.g., 'domain'). | | type | Type of job (e.g., 'nameservers_precheck'). | | state | The current state of the job (e.g., 'active'). | | status | Detailed status of the job (e.g., 'running'). | | progress | Percentage completion of the job. | | progressTextKey | Key for displaying the progress message. | | progressDetails | Detailed information about the progress. | | isCompleted | Indicates if the job is completed. | | isFailed | Indicates if the job has failed. | | isRunning | Indicates if the job is currently running. | | isWaiting | Indicates if the job is waiting in the queue. | | createdAt | Timestamp when the job was created. | | finishedAt | Timestamp when the job finished (if applicable). | | jobName | The name of the job. | | statusKey | Key for the overall job status. | ### Common Use Cases - What is the status of my domain job? - Is my domain name/DNS ready? - How far along is the nameserver check? - Can I see the result of job X? --- ## POST /api/domain-epp/{id} **Get EPP code for domain transfer** Retrieve the EPP code (authorization or transfer code) required to move your domain to another registrar. You need to provide the domain ID obtained from a previous API request, such as when viewing domain details. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | message | A message confirming the EPP code has been generated or retrieved. | | success | A boolean indicating if the operation was successful. | | epp_code | The actual EPP code needed for the domain transfer. | ### Common Use Cases - How do I get the EPP code for my domain? - I want to transfer my domain, what is the code? - Where can I find my domain's authorization code? - Can I request a transfer code for a domain? - How do I request the EPP code for domain transfer? --- ## POST /api/transfers/details **Get details of an ongoing service transfer** Retrieve details about a specific service transfer, such as a domain transfer. It returns a unique requestId required to track the transfer status in other API calls. Use this when you need to verify information about an ongoing or recently completed transfer. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | token | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | serviceName | The name of the service being transferred (e.g., domain name). | | serviceType | The type of service being transferred (e.g., 'domain'). | | expiresAt | The date and time when the service expires. | | createdAt | The date and time when the service was created. | | accountId | The ID of the account associated with the service, can be null. | ### Common Use Cases - What is the status of my domain transfer? - Can I see details of my ongoing service transfer? - How do I know if my domain transfer has gone through? - Show information about my recent transfer --- ## GET /api/domains/{domainId}/glue-records **Get Glue Records information for a specific domain** Retrieve information about Glue Records associated with a specific domain. This information is crucial for ensuring correct DNS lookups for your domain, especially when using custom nameservers. The endpoint returns a unique requestId to track the call within the system. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Response Fields | Field | Description | |-------|-------------| | domain | The domain name the information pertains to. | | glueRecords | A list of Glue Records for the domain. Can be empty if none exist. | | count | The number of Glue Records found. | ### Common Use Cases - Can you show me the Glue Records for my domain? - How do I check DNS settings for my domain? - Show information about nameservers for my domain. - What are the Glue Records for example29.com? --- ## POST /api/domains/{domainId}/glue-records **Manage DNS Glue Records for your domains** Add or update DNS Glue Records for a specific domain. This is necessary when you want your domain to use custom nameservers registered under the same domain. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | hostname | string | Yes | | | ips | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | hostname | The hostname of the created or updated glue record. | | ips | A list of IP addresses associated with the glue record. | | message | A confirmation message indicating that the glue record has been updated. | ### Common Use Cases - How do I add custom nameservers for my domain? - I need to create a glue record for my domain. - Can I use my own servers as nameservers? - How do I configure DNS for my domain with custom nameservers? - Update the IP addresses for my domain's nameservers. --- ## GET /api/domains/{domainId}/dyndns/{configId}/logs **Get logs for dynamic DNS configuration** Retrieve logs related to dynamic DNS settings for a specific domain and configuration. The logs can provide insight into recent updates or any issues with DNS updates. The endpoint returns a `requestId` for subsequent calls and log entry IDs that can be referenced in other systems. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | | configId | path | integer | Yes | Unique config identifier | ### Response Fields | Field | Description | |-------|-------------| | logs | A list of log entries related to dynamic DNS updates. | ### Common Use Cases - Show logs for my domain's dynamic DNS. - How do I know if my dynamic DNS is working correctly? - Can I see the history of DNS updates for my domain? - What happened with my domain's DNS settings? --- ## GET /api/product-overview/tlds/{tld} **Get prices and details for top-level domains (TLDs)** Retrieve detailed pricing information and availability for specific top-level domains (TLDs). This endpoint returns a product ID that may be needed for other domain-related API calls. Use this endpoint when you want to inform users about costs for registering, renewing, or transferring a domain. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | tld | path | string | Yes | tld parameter | ### Response Fields | Field | Description | |-------|-------------| | tld | The top-level domain requested (e.g., .se). | | productId | Unique ID for the product used internally to identify the domain name. | | pricing | An object containing pricing information for different currencies (SEK, USD, EUR). Includes periods for registration, renewal, and transfer, as well as minimum prices. | ### Common Use Cases - What does a .se domain cost? - Domain registration prices - How much does it cost to register a new domain? - Show prices for different top-level domains - What are the costs to renew a .com domain? --- ## GET /api/domains/{id}/billing-cycle **Get billing periods for a domain** Retrieve billing period and pricing information for a specific domain. This also returns IDs needed for subsequent billing and administration API calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | current | The ID of the currently active billing period. | | periods | A list of available billing periods, including the number of years, registration price, renewal price, and transfer price. | | domainId | The domain's unique identifier. | | domainName | The domain's name. | | productId | The unique identifier of the product the domain is associated with. | ### Common Use Cases - What billing options are available for my domain? - How much does it cost to register or renew my domain? - Show me the prices for different domain periods. - What is the billing cycle for my domain? - I need to know the price to register the domain [domainName]. --- ## POST /api/domains/{id}/billing-cycle **Change domain billing period** Modify the annual billing period for a specific domain. Changing the period creates a follow-up task that you can track using the returned requestId. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | period | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates whether the operation was successful. | | message | A message describing the result of the operation. | | newPeriod | The new, updated billing period for the domain. | | domainName | The name of the domain whose billing period has been changed. | | recurringAmount | The recurring amount for the new billing period. | ### Common Use Cases - How do I change how often I am billed for my domain? - I want to pay for my domain for 3 years instead of 1, how do I do that? - Can I change the billing cycle for my domain? - Update my domain's billing period - Change DNS billing period for my domain --- ## DELETE /api/domains/{id}/delete **Remove a domain from your account** Permanently remove a domain and its associated services from your account. This is a destructive operation and should only be used when you are certain you want to deregister the domain. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | message | Message confirming the domain has been removed. | | requestId | Unique ID for the request, can be used to track the operation in logs or for follow-up calls. | ### Common Use Cases - How do I remove a domain? - I want to deregister my domain, how do I do it? - Can I delete a domain I no longer use? - How do I remove DNS records for a domain? - I want to delete my domain name --- ## POST /api/domain-transfer/{id} **Retry transferring a domain to HostUp** Initiate a retry for transferring a domain to HostUp. This is useful if a previous domain transfer failed. The API returns an ID to track the transfer status. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates whether the request to initiate the domain transfer retry was successful. | | message | A message describing the result of the request, e.g., that the retry has been scheduled. | | result | An object containing detailed information about the result of the operation, including whether it was scheduled correctly. | ### Common Use Cases - How do I retry transferring my domain? - My domain transfer failed, what do I do now? - Can I restart the domain transfer? - I need to transfer my domain again, how do I do it? - What is the status of my domain transfer? --- ## POST /api/domain-renew/{id} **Manually extend a domain's registration** Manually extend a domain's registration. This is useful if an automatic renewal failed or if you want to ensure your domain remains registered. The API returns an order ID and invoice details needed to complete the renewal. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the renewal order was created successfully. | | order_id | ID of the newly created renewal order. | | invoice_id | ID of the associated invoice created for the renewal. | | redirect_url | URL to the invoice page where you can complete the payment. | | message | A message describing the outcome of the renewal attempt. | | domain_name | The name of the domain that was extended. | ### Common Use Cases - How do I extend my domain? - My domain has expired, how do I reactivate it? - I want to manually renew my domain. - Can I extend my domain before it expires? - How do I manage my domain's lifespan and renewal? --- ## GET /api/domain-pending-renewal/{id} **Check for a pending domain renewal order** Check if a specific domain has an ongoing or pending renewal order. This helps prevent accidental duplicate renewals and provides information on your domain's status. The ID submitted is the domain's ID. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | hasPendingOrder | Indicates if the domain has a pending renewal order (true/false). | ### Common Use Cases - Does my domain have a pending renewal? - Is there an active order for my domain renewal? - Can I cancel my domain renewal? - Check domain renewal status - Is my domain in the renewal process? --- ## POST /api/domain-identity-verification-links/{domainId} **Create a domain identity verification link** Generate a unique verification link for a specific domain. This link is sent to the domain's registered email address to confirm identity. The endpoint also returns a requestId that can be used to track the operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Response Fields | Field | Description | |-------|-------------| | link | The URL of the verification page. | | path | The path for the verification link. | | expiresAt | The date and time when the link will expire. | | domainName | The domain name the link refers to. | ### Common Use Cases - How do I verify my domain? - I need a link to confirm my domain identity. - Create a verification link for my domain. - What do I do if my domain is not verified? - Where can I find the link to verify my domain? --- ## PATCH /api/domains/{domainId}/dyndns/{configId} **Enable or disable DynDNS for a domain** Control whether Dynamic DNS (DynDNS) is active for a specific domain and its configuration. This is useful if you need a domain to automatically point to a dynamic IP address, such as for accessing a home network. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | | configId | path | integer | Yes | Unique config identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | enabled | boolean | Yes | | ### Response Fields | Field | Description | |-------|-------------| | config | Information about the DynDNS configuration, including hostname, last updated IP, and status. | | message | A message confirming the result of the operation, e.g., that the configuration has been enabled. | ### Common Use Cases - How do I enable DynDNS for my domain? - I want my domain to automatically update with my IP address. - Can I disable DynDNS for a specific domain? - How do I manage DNS settings for dynamic IP addresses? - Do I need a nameserver to use DynDNS? --- ## DELETE /api/domains/{domainId}/dyndns/{configId} **Delete DynDNS configuration for a domain** Delete an existing DynDNS configuration associated with a specific domain. This action returns a requestId for tracking. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | | configId | path | integer | Yes | Unique config identifier | ### Response Fields | Field | Description | |-------|-------------| | message | A message confirming the DynDNS configuration has been deleted. | ### Common Use Cases - How do I delete DynDNS for my domain? - I want to delete a DynDNS setting. - Can I disable dynamic DNS for a subdomain? - Delete DNS update for ha.example41.com --- ## POST /api/domains/bulk/dns/add **Add DNS records for multiple domains** Add DNS records (e.g., MX, A, CNAME) for one or more domains in a single operation. This is useful for bulk updates. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domainNames | array | Yes | | | records | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | jobId | Identifier for the ongoing bulk management job. | | message | A message confirming the DNS record addition process has started. | | domainsCount | Number of domains the job will affect. | | recordsCount | Number of DNS records to be added. | ### Common Use Cases - How do I add an MX record for my domain? - I need to change DNS settings for my domains. - Can I add multiple DNS records at once? - How do I configure nameservers for my domain? --- ## DELETE /api/domains/{domainId}/dnssec/{recordId} **Remove a DNSSEC record for a domain** Remove a specific DNSSEC record from a domain's DNS settings. A confirmation message and the ID of the removed record are returned. You may need to retrieve your domain ID from a list of your domains first. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | | recordId | path | string | Yes | Base64-encoded recordId | ### Response Fields | Field | Description | |-------|-------------| | message | A message confirming the DNSSEC record has been removed. | | recordId | The ID of the removed DNSSEC record. | ### Common Use Cases - How do I remove a DNSSEC record for my domain? - I want to remove DNSSEC settings for my domain. - Can you help me manage DNSSEC records for my domain? - Remove DNSSEC record from domain X. --- ## DELETE /api/domains/{domainId}/glue-records/{hostname} **Remove a glue record for a domain** Remove a specific glue record associated with your domain. This is useful if a glue record was misconfigured or is no longer needed for correct traffic routing. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | | hostname | path | string | Yes | Fully qualified domain name | ### Response Fields | Field | Description | |-------|-------------| | hostname | The hostname of the removed glue record. | | message | A confirmation message indicating the glue record has been removed. | ### Common Use Cases - How do I remove a glue record for my domain? - I need to remove a nameserver record for my domain, how do I do that? - Can I remove a specific DNS record for my domain? - How do I manage glue records for my domains? --- ## POST /api/domains/bulk/dns/delete **Delete all DNS records for domains** Massively delete DNS records for your domains. This is useful for cleaning up DNS settings or preparing a domain for new configurations. ### Response Fields | Field | Description | |-------|-------------| | jobId | Unique ID for the job execution. | | message | Description of what has been initiated. | | domainsCount | Number of domains affected by the operation. | | deleteType | Type of deletion performed (e.g., 'all'). | | deleteDescription | A more detailed description of what was deleted (e.g., 'all records'). | ### Common Use Cases - How do I delete all DNS settings for my domain? - I want to clear the DNS records for example44.com - Can I delete all A and MX records at once? - Delete DNS for multiple domains at once --- # Hosting Management Shared hosting configuration and management ## GET /api/client-accounts **List your service accounts** Retrieve a list of all service accounts associated with your account. Returns detailed information about each account, including status, billing cycle, and product information. A unique ID is returned that can be used for follow-up API calls. ### Response Fields | Field | Description | |-------|-------------| | accounts | A list of your service accounts. | | accounts.id | Unique identifier for the service account. | | accounts.domain | The domain name associated with the service account. | | accounts.billingcycle | The billing cycle for the service (e.g., Monthly, Annually). | | accounts.status | Status of the service account (e.g., Active, Suspended). | | accounts.name | The name of the product or service. | | accounts.firstname | First name of your contact person. | | accounts.lastname | Last name of your contact person. | | accounts.client_id | Your unique customer identifier. | | accounts.product_id | Identifier for the product. | | accounts.extra_details | Additional details about service usage and logs. | ### Common Use Cases - Show my services - List my VPS and web hosting - What is the status of my accounts? - Show all my active and inactive services --- ## PUT /api/teams **Update contact information for an account or service** Update contact details such as name and email for a specific service or account. This is useful when you need to correct inaccurate information or update contacts for your services. The endpoint returns a unique ID that may be needed for subsequent operations. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | type | string | Yes | | | id | string | Yes | | | firstname | string | Yes | | | lastname | string | Yes | | | email | string | Yes | | | password | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | [object Object] | | timestamp | [object Object] | | requestId | [object Object] | | data | [object Object] | | error | [object Object] | ### Common Use Cases - How do I change contact details for my VPS? - I need to update the email address for my web hosting account. - Can I change the name of a contact person for my servers? - How do I update contact information for my website? - Change contact details for a specific service --- ## GET /api/cdn/proxy-rules **Get CDN rule settings** Retrieve a list of your configured CDN rule settings. It returns a unique ID that can be used to track specific actions or rule updates in subsequent calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | zone | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | rules | A list of CDN rule settings. | | count | The number of configured CDN rules. | ### Common Use Cases - Show my CDN rules - How do I configure CDN rules? - List all my CDN settings - Can I see my active CDN rules? --- ## PUT /api/cdn/proxy-rules **Manage CDN proxy rules** Activate or deactivate CDN proxy rules and control whether a rule is active. It returns a unique ID that can be used to track changes. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | id | integer | Yes | | | proxied | boolean | Yes | | | active | boolean | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | updated_fields | A list of fields that were updated. | | rows_affected | The number of rows affected by the update. | | unchanged | Information about any fields that were not changed. | | proxied | Status of the proxy setting (true/false). | ### Common Use Cases - How do I activate a CDN rule? - Can I turn off a specific CDN rule? - I want to change the status of my CDN proxy rule. - How do I manage my CDN settings? --- ## POST /api/cdn/proxy-rules **Manage CDN proxy rules for domains** Create and manage proxy rules for your CDN. These rules control how traffic is routed to your services. A successful call returns a rule ID for referencing the rule in future operations, such as deletion. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | fqdn | string | Yes | | | zone_name | string | Yes | | | proxied | boolean | Yes | | | priority | integer | Yes | | | description | string | Yes | | | active | boolean | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | rule_id | Unique ID for the created or updated CDN proxy rule. | | fqdn | Fully qualified domain name the rule applies to. | | zone_name | The name of the DNS zone the domain belongs to. | | proxied | Boolean indicating if traffic for the domain is configured to go through the CDN (true) or not (false). | | active | Boolean indicating if the rule is active (true) or inactive (false). | ### Common Use Cases - How do I set up CDN for my domain? - Can I control traffic flow to my website with CDN? - Create a new rule to proxy my domain - Manage my CDN settings - Enable or disable CDN proxy for a domain --- ## DELETE /api/cdn/proxy-rules **Delete a CDN proxy rule** Delete a specific rule that controls how your CDN handles proxying for your website. Use this when you want to remove a previously configured proxy rule, for example, if a domain or path should no longer be proxy-protected. The endpoint returns an ID that may be needed for follow-up actions in other systems. ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | rows_deleted | The number of rows (rules) deleted. | ### Common Use Cases - How do I delete a CDN rule? - I want to delete a proxy rule for my domain - Can I delete a rule for CDN proxying? - Remove proxy protection setting --- ## POST /api/cdn/batch-status **Get CDN status for your domains** Check the status and configuration of your CDN services for one or more domains. You will receive information such as whether the CDN is active, security settings, and IDs needed for further DNS management. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domains | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | timestamp | The time the request was processed. | | requestId | Unique ID for the request, can be used to track the operation in other systems. | | data | Contains detailed information about the CDN zones. | | zones | A list of CDN zones for the specified domains. | | name | The domain name the CDN zone belongs to. | | exists | Whether a CDN zone exists for the domain. | | enabled | Indicates if the CDN service is enabled for the domain. | | status | Current status of the CDN service (e.g., 'inactive', 'active'). | | zoneId | Unique ID for the CDN zone, required for subsequent DNS operations. | | settings | Configuration settings for the CDN service. | | lastWebhook | Timestamp of the last webhook event. | | lastSync | Timestamp of the last CDN settings synchronization. | | securitySettingsUpdated | Indicates if security settings were updated recently. | ### Common Use Cases - Is my CDN active for my domain? - Show CDN settings for example5.com - How do I configure my CDN? - Check status of CDN zones --- ## GET /api/monitoring/managed-services **List managed services for customer accounts** Retrieve an overview of all managed services associated with a customer account. This endpoint returns a unique ID usable in subsequent API calls to get detailed information about specific services. Use this endpoint for a general overview of your active services. ### Response Fields | Field | Description | |-------|-------------| | services | A list of the managed services. | | count | The number of managed services returned. | ### Common Use Cases - What services do I have with you? - Show my active services - List my domains and web hosting - Can you give me an overview of my servers? --- ## POST /api/cancel-hosting **Cancel hosting or VPS services** Request cancellation of your hosting or VPS services. The service sends a cancellation request and returns a requestId to track the cancellation status in other API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | accountId | string | Yes | | | type | string | Yes | | | reason | string | Yes | | | otherReason | string | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the cancellation request could be sent. | | message | A message confirming the request has been sent. | | info | Additional information about the cancellation request. | ### Common Use Cases - I want to cancel my hosting. - How do I cancel my VPS subscription? - I no longer need my server, how do I terminate it? - How do I remove my hosting? - Terminate hosting service --- ## POST /api/vm/{vmid}/network **Remove an IP address from a VPS or domain** Remove a specific IP address (IPv4 or IPv6) from a VPS or a domain. It returns an ID needed to track the operation in subsequent calls. Use this when you want to release an IP address that is no longer needed for your service. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | action | string | Yes | | | ipId | any | No | | | ipType | string | No | | | interfaceName | string | No | | | isPrimary | integer | No | | | subnetId | string | No | | | ipAddress | string | No | | | vlan | integer | No | | | ip | string | No | | | rdns | string | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request to schedule the IP address removal was successful. | | message | A message describing the status of the operation, e.g., that a restart has been scheduled. | | restartJobId | An ID for the job required to apply the network changes. | | requiresRestart | A boolean flag indicating if the service needs to be restarted for the changes to take effect. | ### Common Use Cases - How do I remove an IP address from my server? - I want to remove an IPv6 address from my VPS, how do I do that? - How can I remove an IP address associated with my domain? - Can I release an IP address from my virtual server? - Remove IP from domain settings --- ## POST /api/vm/{vmid}/hostname **Change hostname for your VPS or domain** Update the hostname for a specific virtual server (VM) or an associated domain. A service restart may be required for changes to take full effect. Returns a unique ID to track the operation in subsequent calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | vmid | path | integer | Yes | Unique vmid identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | hostname | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | message | A message describing the result of the operation, e.g., if a restart is required. | | hostname | The new, updated hostname. | | normalized | Indicates if the hostname has been normalized. | | hostbillSynced | Indicates if the information has been synced with Hostbill's system. | | rdnsProtection | Information related to Reverse DNS record protection, including monitored IPs and detected changes. | ### Common Use Cases - How do I change the hostname on my VPS? - I want to change my server's hostname, how do I do it? - How do I update the DNS settings for my domain? - Can I change the name of my virtual server? - How do I set a new hostname for my domain? --- ## PUT /api/firewall-groups/{id} **Update firewall group configuration** Modify settings for a specific firewall group, such as adding or removing rules. After the update, an ID is returned that can be used to verify the changes. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | string | Yes | UUID for id | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | description | any | Yes | | | rules | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | A message confirming the firewall group has been updated. | | id | The identifier for the updated firewall group. | ### Common Use Cases - How do I change firewall rules for my server? - I want to update the firewall group for my web hosting. - Can I add a new rule to the firewall? - How do I manage incoming traffic to my VPS? - Update firewall settings for a specific group. --- ## DELETE /api/firewall-groups/{id} **Delete a firewall group for a service** Remove a specific firewall group associated with your services. The endpoint returns an ID that can be used to follow up on the deletion process. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | string | Yes | UUID for id | ### Response Fields | Field | Description | |-------|-------------| | message | Message confirming the firewall group has been deleted. | ### Common Use Cases - How do I delete a firewall group? - I want to delete a firewall rule for my server. - Delete firewall configuration for my web hosting. - Can I delete a firewall group? --- ## POST /api/transfers/accept **Accept domain or VPS transfer** Accept an ongoing domain or VPS transfer. You need a token obtained from a previous call (e.g., POST /api/domain-transfers/generate). After acceptance, an ID is returned to track the status. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | token | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates whether the operation was successful. | | message | A message describing the result of the transfer. | | previousOwner | The owner ID of the previous owner. | | newOwner | The owner ID of the new owner. | | domainId | The ID of the transferred domain. | | requestId | Unique ID for this request, can be used to track the operation. | ### Common Use Cases - I want to accept a domain transfer - How do I approve a server move to my account? - Accept virtual server transfer - What do I do when I receive a domain transfer request? - Approve VPS move --- ## POST /api/transfers/generate **Generate a secure transfer token for your services** Create a temporary, secure token to share with the new owner of your service. This token allows the new owner to complete the service transfer to their account. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | accountId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | token | A unique and secure code used to authorize the service transfer. | | serviceName | The name of the service the transfer token is for. | | serviceType | The type of service (e.g., vps, web hosting). | | expiresIn | How long the token is valid before it expires. | | message | A message confirming the token has been generated and providing instructions. | ### Common Use Cases - How do I transfer my VPS to someone else? - I want to sell my server, how do I do it? - Can I give away my virtual server? - Create a token to transfer a service --- ## GET /api/referral/reward-target **Check referral reward eligibility** Check if a specific account or service is eligible for a referral reward. May suggest a suitable account if none is specified. ### Response Fields | Field | Description | |-------|-------------| | targetValid | Indicates if the specified account is valid for a referral reward. | | suggestedAccountId | A suggested account ID that may be suitable for a referral reward. | | accounts | A list of your accounts, including their ID, name, status, and expiration. | ### Common Use Cases - Can I get a reward for referring a friend? - Which of my services can earn me referral rewards? - How do I know if my account is eligible for a referral bonus? - Can I choose which account receives the referral reward? --- # Web Hosting Services Web hosting account operations and features ## GET /api/product-overview/webhosting **Get an overview of available web hosting services** Retrieve a list of all available web hosting products, including their specifications and pricing. It also returns a unique ID required to initiate purchases or link the service to other operations. ### Response Fields | Field | Description | |-------|-------------| | products | A list of web hosting products with details on price, specifications, and domain capabilities. | | total | The total number of available web hosting products. | ### Common Use Cases - What web hosting do you offer? - How much does web hosting cost? - Can I see all your hosting packages? - Show me your cPanel services - What is included in your website packages? --- ## GET /api/hosting-accounts **List your hosting accounts** Retrieve a list of all hosting accounts associated with your account. The returned information, including a unique ID, is necessary for performing follow-up actions on specific hosting accounts. ### Response Fields | Field | Description | |-------|-------------| | hosting_accounts | A list of your hosting accounts. | | pagination | Information about pagination for the list of hosting accounts. | ### Common Use Cases - Show my hosting accounts - What hosting accounts do I have? - List my websites - Show my cPanel accounts --- ## HEAD /api/hosting-accounts **List all your active hosting accounts** Retrieve a list of all your active hosting accounts. This is useful for an overview of your services or to prepare for actions on a specific account. The API returns a `requestId` for tracking operations. ### Response Fields | Field | Description | |-------|-------------| | hosting_accounts | A list of your hosting accounts. | | pagination | Information about pagination if there are many accounts. | ### Common Use Cases - Show my hosting accounts - What hosting accounts do I have? - List all my websites - How many hosting services do I have? - Show my cPanel accounts --- ## POST /api/cpanel-ownership-check **Check cPanel ownership for domains** Verify if a specific cPanel username belongs to the logged-in customer for a given domain. This is useful for managing hosting accounts and ensures only the owner can administer their account. The endpoint returns a client ID for subsequent actions. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | cpanel_username | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | authorized | Boolean indicating if the user has authorization. | | reason | Description of why authorization succeeded or failed. | | action | Type of action performed or recommended. | | client_id | Unique ID for the client. | | response_time_ms | Time it took for the server to respond in milliseconds. | ### Common Use Cases - Who owns the cPanel account for my domain? - Can I check who administers my website? - Verify cPanel user for my hosting. - Is this cPanel username linked to my domain? - Check ownership for hosting account. --- ## POST /api/hosting/wordpress/batch **Batch manage WordPress installations for hosting accounts** Manage WordPress installations in batch for multiple hosting accounts simultaneously. This endpoint is specific to cPanel servers and returns a unique ID required for subsequent calls, for example, to retrieve the status or results of the operation. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | accountIds | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the batch management request was successful. | | accounts | An object containing detailed information about the status of each account included in the batch request, including any issues or reasons why an action could not be performed. | | totalAccounts | The total number of accounts processed in the batch request. | | totalInstallations | The total number of WordPress installations found and processed. | ### Common Use Cases - Can I update WordPress on multiple websites at once? - How do I manage WordPress installations for my hosting accounts? - Is there a way to mass manage my WordPress sites? - I want to check the status of WordPress on my hosting accounts. --- ## POST /api/hosting/billing-cycles/batch **Get billing cycles for multiple hosting accounts** Retrieve information about billing cycles for one or more hosting accounts simultaneously. This is useful when you need to see existing billing options and pricing to make decisions about future subscriptions. The API returns a `requestId` for tracking the operation and an `id` for specific billing cycles that may be needed for follow-up calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | accountIds | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | accounts | An object containing information about billing cycles for each specified account. | | totalAccounts | The number of accounts processed. | ### Common Use Cases - What billing options do my hosting accounts have? - Show me the prices for my hosting services. - Can I change the billing cycle for my hosting? - What does my hosting cost per month and year? - Get billing details for my accounts. --- ## POST /api/cpanel-sso **Log in to cPanel for a hosting account** Create a secure login link to cPanel for a selected hosting account. Use this when you need to access hosting settings, such as managing files, databases, or email accounts. Returns a unique ID (requestId) that may be needed for follow-up API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | accountId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the login link was created successfully. | | link | A secure URL to directly log in to your cPanel. | ### Common Use Cases - How do I log in to my hosting account? - Can you give me a link to my cPanel? - I need to access my hosting files, how do I do that? - Show me how to manage my website on the host. - Log in to my hosting account. --- ## GET /api/webhotel-products **List available hosting products** Retrieve a list of all available hosting products, including their details and prices. Returns unique IDs for products and prices necessary for subsequent operations like creating an order or displaying product information. ### Response Fields | Field | Description | |-------|-------------| | data | An array of hosting products. | | data[].id | Unique ID for the hosting product. | | data[].name | The name of the hosting product (e.g., 'Start (cpanel)'). | | data[].description | A description of the product's specifications (e.g., storage, RAM, CPU). | | data[].service_type | Type of service, 'Hosting' indicates web hosting. | | data[].prices | An array of prices for the product, including the ID for the price. | | data[].prices[].id | Unique ID for the price entry. | | data[].prices[].type | Type of price (e.g., 'a' for annual price). | | data[].prices[].price | The price value for this price entry. | | data[].prices[].rel_id | Reference ID that usually matches the product ID. | ### Common Use Cases - What hosting packages do you offer? - Show me your hosting services. - How much does hosting cost? - I want to buy a hosting account. - List all available website packages. --- ## POST /api/get-account-details **Get detailed information for a specific account** Retrieve detailed information about a specific customer account, such as domain name, status, product, and billing cycle. This API returns an account ID necessary for subsequent API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | accountId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | id | Account ID. | | domain | The domain name associated with the account. | | username | The username for the account. | | server_id | ID of the server the account is hosted on. | | status | The account's current status (e.g., Active, Suspended). | | product_name | The name of the purchased product/service. | | billingcycle | The billing cycle (e.g., Annually, Monthly). | | next_due | Date of the next billing. | | ip | The IP address of the service. | | vpsip | The IP address of the associated VPS (if applicable). | | product_stats | Statistics for the service, such as disk space, memory, and bandwidth. | | total | Total cost of the service. | | currency | Currency information. | ### Common Use Cases - Can you show details for my hosting account? - I need information about my hosting service. - Show information about my cPanel account. - What is the status of my website? - Show account information for my hosting. --- ## GET /api/hosting/{accountId}/save-offers **Get offers to retain customers considering cancellation** Retrieve potential offers to present to customers considering canceling their web hosting services, often due to cost concerns. The goal is to incentivize the customer to stay. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | | reason | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | reason | The reason why offers are generated (e.g., 'too_expensive'). | | originalReason | The original, more detailed reason provided by the user. | | offers | A list of available offers that can be presented to the customer. | | accountDetails | Details about the customer's current account, including domain, product, billing cycle, and total cost. | ### Common Use Cases - Why is my web hosting so expensive? - Can I get a better price on my hosting account? - I'm considering canceling my web hosting, are there alternatives? - What can I do if I find my web hosting too expensive? - Offers to retain my web hosting --- ## GET /api/domains/{domainId}/webhotel-check **Check if a domain has a web hosting account linked.** Use this endpoint to quickly see if a specific domain has a web hosting account with us. This is useful for troubleshooting or understanding active services for a domain. The endpoint returns an ID needed for follow-up calls and requires a domain ID from other endpoints. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domainId | path | integer | Yes | Unique domain identifier | ### Response Fields | Field | Description | |-------|-------------| | found | Indicates if a web hosting account was found for the domain. | | hostingAccount | Information about the linked web hosting account, including its ID and name. | | domainName | The domain name that was checked. | | availableWebhotels | A list of available web hosting packages that can be linked to the domain (if none were found). | ### Common Use Cases - Does my domain have web hosting? - Can I link my website to the domain? - Is there an active hosting account for my domain? - Show web hosting information for example20.com - Is my web hosting linked to the domain? --- ## GET /api/hosting/{accountId}/wordpress **List all WordPress installations** Retrieve a list of all WordPress installations on your hosting account, including domain, version, and status for each installation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | installations | List of WordPress installations | | count | Number of installations | ### Common Use Cases - What WordPress sites do I have? - Show my WordPress installations - How many WordPress sites are on my account? - What version of WordPress am I running? --- ## POST /api/hosting/{accountId}/wordpress-sso **Log in to WordPress admin automatically** Generate a one-time SSO link to log in directly to wp-admin without a password. The link is time-limited. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | installationId | string | Yes | WordPress installation ID (e.g., 26_12345) | ### Response Fields | Field | Description | |-------|-------------| | link | SSO link to wp-admin | | installationId | Installation ID | ### Common Use Cases - Log in to my WordPress - Open wp-admin for me - I want to access the WordPress admin panel - SSO to WordPress --- ## GET /api/hosting/{accountId}/jetbackup/backups **List JetBackup backups** Display all available backups in JetBackup 5. Returns a filtered list of backups, including only date, size, type, and restore IDs. Sensitive server information is filtered out. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | backups | List of backups (id, snapshotId, created, size, backupType, backupContains, encrypted, notes) | | total | Total number of backups | ### Common Use Cases - Show my backups - What backups are available? - List JetBackup backups - When was the last backup made? --- ## GET /api/hosting/{accountId}/files **List files in a directory** Display files and folders in a specified directory on your hosting account. Use the 'dir' query parameter to specify the path (e.g., ?dir=public_html). Returns filename, size, type, and modification date. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | | dir | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | files | List of files/directories with file, fullpath, type, size, humansize, mimetype, mode, mtime, uid, gid, read, write | | dir | Specified directory | | count | Number of files/directories | | cpanelUsername | cPanel username | ### Common Use Cases - Show files in public_html - What files are on my web hosting? - List directories on the account - What is in my home directory? --- ## GET /api/hosting/{accountId}/jetbackup/queue **View restore queue** Display ongoing and completed restore jobs. Shows status, progress, and number of files for each operation. Sensitive information like log paths is filtered out. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | | type | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | queue | List of restore jobs (id, type, status, created, started, ended, items, itemsCompleted, progress) | | total | Total number of jobs in the queue | ### Common Use Cases - What is happening with my restore? - Is the restore complete? - Show restore queue - How far along is the restore? --- ## POST /api/hosting-tags **Add or manage tags for web hosting accounts** Associate a specific tag with a customer account, primarily used to organize and categorize web hosting services. The result, including a unique request ID, can be used to track the operation in follow-up calls or for troubleshooting. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | accountId | string | Yes | | | tagName | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | timestamp | Timestamp when the request was processed. | | requestId | A unique ID for this specific request, useful for troubleshooting and tracking. | | data.accountId | Account ID the tag was associated with. | | data.tagName | Name of the tag that was added or managed. | ### Common Use Cases - How can I tag my web hosting account? - I want to add a label for my hosting account. - Can I organize my web hosting services with tags? - How do I name my hosting accounts for better overview? --- ## POST /api/hosting/{accountId}/jetbackup/restore **Restore from backup** Queue a full account restore from a JetBackup backup using the snapshotId (parent_id) from the backup list. The restore runs in the background; use the queue endpoint to follow progress. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | snapshotId | string | Yes | Snapshot ID (parent_id from the backup list) | ### Response Fields | Field | Description | |-------|-------------| | queued | true if the job was queued | | queueId | ID of the queued job (to follow progress) | | status | Initial status (1 = queued) | ### Common Use Cases - Restore from backup - I want to restore my site - Restore from yesterday's backup - Restore to a previous date --- ## POST /api/hosting/{accountId}/redirects **Create redirect** Create a new URL redirect (301 permanent or 302 temporary). Can be configured for a specific path or wildcard for all sub-pages. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | directory | string | Yes | | | redirectUrl | string | Yes | | | type | string | No | | | wildcard | boolean | No | | ### Common Use Cases - Create a redirect - Redirect my domain to another URL - Add a 301 redirect --- ## GET /api/hosting/{accountId}/redirects **List redirects** Display all URL redirects configured on your account. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | redirects | List of redirects | | count | Count | ### Common Use Cases - What redirects do I have? - Show my redirects - List URL redirects --- ## DELETE /api/hosting/{accountId}/redirects **Delete redirect** Remove a URL redirect. After deletion, requests to the path will be handled normally without redirection. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | directory | string | Yes | | ### Common Use Cases - Delete redirect - Remove redirect --- ## POST /api/hosting/{accountId}/wordpress/uninstall **Uninstall WordPress** Remove a WordPress installation. Optionally removes files, database, and database user. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | installationId | string | Yes | | | removeFiles | boolean | No | | | removeDatabase | boolean | No | | | removeDatabaseUser | boolean | No | | ### Common Use Cases - Remove my WordPress - Delete WordPress installation - Uninstall WordPress from my domain --- ## POST /api/hosting/{accountId}/addon-domains **Add an addon domain** Add a new domain to your web hosting account. Automatically creates a subdomain and directory. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | subdomain | string | Yes | | | dir | string | No | | ### Common Use Cases - Add a new domain to my web hosting - I want to add example.com - Create addon domain --- ## DELETE /api/hosting/{accountId}/addon-domains **Remove an addon domain** Remove an addon domain from your web hosting account. The domain's files and directory are retained, but the domain will no longer be accessible via the web server. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | subdomain | string | Yes | | ### Common Use Cases - Remove the addon domain - Delete domain from my web hosting --- ## GET /api/hosting/{accountId}/addons/storage **View extra storage options** Display available add-ons for extra storage space. Returns information about the storage add-on (price, size) and account details. The add-on can be purchased multiple times to add more space. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | addon | Add-on information with id, name, description, price, currency, cycle, sizeGb | | account | Account information with id, domain, billingCycle | ### Common Use Cases - Can I buy more storage? - Show storage add-ons - I need more disk space - What does extra storage cost? --- ## POST /api/hosting/{accountId}/addons/storage **Add extra storage** Add extra storage space as an add-on to your web hosting account. Creates an invoice for the add-on. Can be purchased multiple times to add more space (e.g., 2x25GB = 50GB extra). ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | quantity | number | No | Number of add-ons to purchase (default: 1) | ### Common Use Cases - Buy more storage - Add disk space - I want 25 GB extra - Increase my storage quota --- ## PUT /api/hosting-accounts/{accountId}/name **Change your web hosting account name** Assign a custom name to your web hosting account for easier identification if you have multiple accounts. The endpoint returns an 'accountId' which may be needed for subsequent API calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | customName | any | Yes | | ### Response Fields | Field | Description | |-------|-------------| | accountId | The ID of the web hosting account. | | customName | The custom name set for the account. | | message | Message confirming the account name has been updated. | ### Common Use Cases - How do I rename my web hosting account? - Can I give my hosting account a custom name? - I want to rename my cPanel account. - How do I identify my different web hosting accounts more easily? --- ## GET /api/hosting/{accountId}/domains **List all domains on your account** List the main domain, addon domains, parked domains, and subdomains associated with your web hosting account. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | domains | An object containing main_domain, addon_domains, parked_domains, and sub_domains. | ### Common Use Cases - What domains do I have on my web hosting? - Show my addon domains - What is my main domain? --- ## GET /api/hosting/{hostingId}/jetbackup/info **Get JetBackup status for your web hosting** Check the status of JetBackup, a backup tool, on your web hosting account. This is useful for verifying backup status or troubleshooting potential issues. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | hostingId | path | integer | Yes | Unique hosting identifier | ### Response Fields | Field | Description | |-------|-------------| | accountId | Your web hosting account ID. | | cpanelUsername | The username for your cPanel account. | | info | Detailed information about the JetBackup status, including any error messages, warnings, or notifications. | ### Common Use Cases - How do I check my backup status? - Show JetBackup information for my web hosting. - Is my website backup working? - Can you give me JetBackup status for my cPanel account? --- ## GET /api/hosting/{accountId}/cpanel/account-info **View cPanel account information** View detailed information about your cPanel account, including username, domain, IP address, plan, and disk space usage. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | account | Account information (username, domain, ip, plan, diskused, disklimit). | ### Common Use Cases - Show my cPanel info - What is my web hosting IP address? - What plan do I have? - What is my cPanel username? --- ## POST /api/hosting/{accountId}/pause **Temporarily pause web hosting services** Temporarily pause your web hosting account for a specified period. This is useful if you do not need your website active for a while, such as during a vacation or site rebuild. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | days | integer | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the pause was successful. | | message | A message confirming the service has been paused. | | pauseDetails | Details about the pause, including start and end times, and duration in days. | | nextInvoiceDate | The date of your next invoice. | | reminderDate | The date and time for a potential reactivation reminder. | ### Common Use Cases - How do I pause my web hosting? - Can I temporarily shut down my website? - I'm going on a trip, can I pause my account? - How does hosting pausing work? - Pause my cPanel account --- ## GET /api/hosting/{accountId}/upgrade **View upgrade options** View available plans to upgrade to and their price differences. Returns your current package with its specifications and a list of upgrade options with pricing, storage, RAM, and features. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | currentPackage | Your current package with productId, name, storage, ram, cpu, and features. | | availableOptions | A list of upgrade options with productId, name, type, storage, ram, cpu, annualPrice, and features. | | accountId | Your account ID. | | domain | The main domain for your account. | ### Common Use Cases - Can I upgrade my web hosting? - What plans are available? - Show upgrade options - What does it cost to upgrade? - What plan do I have now? --- ## POST /api/hosting/{accountId}/upgrade **Upgrade web hosting service to a higher plan** Upgrade an existing web hosting service to a higher plan. The endpoint returns an order ID that can be used to track the order and for further actions in the billing system. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | productId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Message confirming the upgrade was successful. | | orderId | ID of the new order created during the upgrade. | | orderNum | Order number for the upgrade. | | total | The total cost of the upgrade. | | redirectUrl | URL to a page where you can continue, usually the billing page. | | upgradedTo | Information about the new plan the service has been upgraded to. | ### Common Use Cases - How do I upgrade my web hosting? - I want to switch to a larger hosting plan, how do I do it? - Can I upgrade my website hosting? - How do I switch from one cPanel plan to another? --- ## GET /api/hosting/{accountId}/cpanel/server-info **Get server information** View information about the cPanel server, including hostname and IP addresses. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | server | Server information (hostname, ip, sharedIp) | ### Common Use Cases - Which server is my web hosting on? - What is the server's hostname? - Show server info --- ## GET /api/product-overview/webhosting/{slug} **Get details of a web hosting product** Retrieve detailed information about a specific web hosting product, including its name, pricing, and technical specifications. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | slug | path | string | Yes | slug parameter | ### Response Fields | Field | Description | |-------|-------------| | id | Unique identifier for the product. | | slug | A unique identifier for the product used in URLs. | | name | The name of the web hosting product. | | category | The category the product belongs to (e.g., 'Web hosting'). | | pricing | Object containing pricing in different currencies (SEK, USD, EUR) for monthly and annual payments. | | specs | Object describing the product's technical specifications such as storage, RAM, CPU, and bandwidth. | | domain_options | Boolean indicating if domain registration is available for this product. | ### Common Use Cases - What are the specifications for the 'Start (cpanel)' web hosting? - Show information for the web hosting with slug 'start'. - What is the cost of the 'Start (cpanel)' web hosting per month and year? - Can you give me details about the 'Start (cpanel)' hosting package? --- ## GET /api/hosting/{accountId}/ssl-certificates **List SSL certificates** Display all SSL certificates installed on your web hosting account. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | certificates | List of certificates | | count | Number of certificates | ### Common Use Cases - What SSL certificates do I have? - Does my domain have HTTPS? - Show my certificates --- ## POST /api/hosting/{accountId}/files/read **Read file content** Read the content of a specific file (limited to text files below a certain size). ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | dir | string | Yes | | | file | string | Yes | | ### Common Use Cases - Show content of .htaccess - Read wp-config.php - What does the file say? --- ## GET /api/hosting/{accountId}/ftp-accounts **List FTP accounts** Display all FTP accounts on your web hosting account, including username, home directory, and quota. The main account (cPanel user) is also shown. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | accounts | List of FTP accounts | | count | Number of accounts | ### Common Use Cases - What FTP accounts do I have? - Show my FTP users - How do I log in with FTP? --- ## POST /api/hosting/{accountId}/ftp-accounts **Create FTP account** Create a new FTP account with a selected directory and quota. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | user | string | Yes | | | password | string | Yes | | | directory | string | No | | | quota | number | No | | ### Common Use Cases - Create an FTP account - Add FTP user - I need FTP access --- ## DELETE /api/hosting/{accountId}/ftp-accounts **Delete FTP account** Permanently delete an FTP account. The user will no longer be able to log in. Files accessible by the account are not affected. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | user | string | Yes | | ### Common Use Cases - Delete FTP account - Remove FTP user --- ## GET /api/hosting/{accountId}/account-stats **View account status and statistics** Display summary statistics for your web hosting account, including disk space, bandwidth, database count, email accounts, and other resources. This is useful for an overview of your account's resource usage. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | stats.diskusage | Disk space with count, max, percent | | stats.bandwidthusage | Bandwidth with count, max, percent | | stats.addondomains | Addon domains with count, max, percent | | stats.subdomains | Subdomains with count, max, percent | | stats.emailaccounts | Email accounts with count, max, percent | | stats.ftpaccounts | FTP accounts with count, max, percent | | stats.mysqldatabases | MySQL databases with count, max, percent | | cpanelUsername | cPanel username | ### Common Use Cases - Show statistics for my web hosting - How much resources am I using? - Give me an overview of my account - How many databases do I have? --- ## GET /api/hosting/{accountId}/error-log **Read error log** Display the latest lines from the error log for troubleshooting PHP and server errors. This is useful for diagnosing 500 errors, fatal PHP errors, and other website issues. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | content | Raw log content as a text string | | lines | List of log lines | | count | Number of lines in the log | | cpanelUsername | cPanel username | ### Common Use Cases - Show the error log - What PHP errors do I have? - Check error_log - My site is showing errors, can you check the log? - Why am I getting 500 errors? --- ## GET /api/hosting/{accountId}/wordpress/scan **Scan for untracked WordPress installations** Scan your account's file system for WordPress installations not registered in Softaculous. This is useful for importing manually uploaded WordPress sites. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | detected | List of detected installations | | count | Number detected | ### Common Use Cases - Find WordPress not listed - Scan for manual WordPress installations - Are there untracked WordPress on my account? --- ## GET /api/hosting/{accountId}/php **List available PHP versions** View the PHP versions available for your web hosting account. This helps ensure your website is compatible with the installed PHP version and allows you to select a specific version if needed. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | accountId | The account ID the information pertains to. | | cpanelUsername | The cPanel account username. | | versions | Information about available PHP versions, including any error messages if the feature is unavailable. | ### Common Use Cases - What PHP version does my web hosting use? - Can I change the PHP version on my account? - How do I check the PHP version for my website? - Show PHP settings for my web hosting --- ## GET /api/hosting/{accountId}/database-users **List MySQL users** Retrieve a list of all MySQL users on your hosting account, including usernames, databases they have access to, and their permissions. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | users | List of users | | count | Number of users | ### Common Use Cases - What database users do I have? - Show MySQL users - List DB users --- ## POST /api/hosting/{accountId}/database-users **Create MySQL user** Create a new MySQL database user. The username will be automatically prefixed with your cPanel username. Database access must be configured separately. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | username | string | Yes | | | password | string | Yes | | ### Common Use Cases - Create a new database user - Add MySQL user --- ## DELETE /api/hosting/{accountId}/database-users **Delete MySQL user** Permanently delete a MySQL database user. All user permissions to databases will also be removed. Existing database connections will be closed. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | username | string | Yes | | ### Common Use Cases - Delete database user - Remove MySQL user --- ## GET /api/hosting/{hostingId}/jetbackup/account **Get JetBackup account information** Retrieve details about the JetBackup account associated with your hosting account, including account ID and cPanel username. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | hostingId | path | integer | Yes | Unique hosting identifier | ### Response Fields | Field | Description | |-------|-------------| | accountId | The JetBackup account ID. | | cpanelUsername | The cPanel username associated with the account. | | account | Detailed information about the JetBackup account, including any error messages. | ### Common Use Cases - How do I see my hosting JetBackup account details? - Show my website's JetBackup account information. - What cPanel username is linked to my JetBackup account? - Can you retrieve JetBackup account info for my hosting account? --- ## GET /api/hosting/{hostingId}/jetbackup/downloads **Get JetBackup file download links** Retrieve downloadable links for backups created with JetBackup, useful for restoring specific files or your entire website. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | hostingId | path | integer | Yes | Unique hosting identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | accountId | Your account ID with us. | | cpanelUsername | The username for the cPanel account. | ### Common Use Cases - Where can I download my JetBackup backups? - How do I restore files from JetBackup? - I need a download link for my hosting backup. - Get backup for my hosting account. --- ## GET /api/hosting/{accountId}/php/installed **List installed PHP versions** View the PHP versions installed on your web hosting account. This is useful for checking compatibility for your website or specific applications running on the server. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | accountId | The account ID the information pertains to. | | cpanelUsername | The cPanel account username. | | installedVersions | A list of the installed PHP versions. | | count | The number of installed PHP versions. | ### Common Use Cases - What PHP versions do I have installed on my web hosting? - Can I see PHP versions for my website? - How do I check the PHP version for my hosting? - Show installed PHP versions on my cPanel account. --- ## POST /api/hosting/{accountId}/wordpress/import **Import untracked WordPress installations** Manually import uploaded WordPress installations into Softaculous for management via the control panel. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | installationKeys | array | No | List of installation keys to import (empty = import all) | ### Common Use Cases - Import my manual WordPress - Add my WordPress to the list - Register my WordPress installation --- ## POST /api/hosting/{accountId}/wordpress/install **Install WordPress** Install a new WordPress site on a selected domain and directory. Automatically creates a database and configures basic settings. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | Domain to install on | | directory | string | No | Subdirectory (empty = root) | | siteName | string | Yes | Site name | | siteDescription | string | No | Description | | adminUsername | string | Yes | Admin username | | adminPassword | string | Yes | Admin password | | adminEmail | string | Yes | Admin email | ### Common Use Cases - Install WordPress for me - Create a new WordPress site - I want WordPress on my domain - Set up WordPress --- ## POST /api/hosting/{accountId}/wordpress/backup **Create WordPress backup** Create a backup of a WordPress installation via Softaculous, including files and/or database. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | installationId | string | Yes | | | backupDirectory | boolean | No | | | backupDatabase | boolean | No | | ### Common Use Cases - Back up my WordPress - Create a backup of my WordPress site - Save a copy of my WordPress --- ## GET /api/hosting/{accountId}/wordpress/backups **List WordPress backups** View all backups created via Softaculous for WordPress installations on your account. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Response Fields | Field | Description | |-------|-------------| | backups | List of backups | | count | Number of backups | ### Common Use Cases - Show my WordPress backups - What backups do I have? - List backups for WordPress --- ## POST /api/hosting/{accountId}/wordpress/upgrade **Upgrade WordPress** Upgrade a WordPress installation to the latest version. Automatically creates a backup before upgrading. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | installationId | string | Yes | | ### Common Use Cases - Update my WordPress - Upgrade WordPress to the latest version - My WordPress needs an update --- ## POST /api/hosting/{accountId}/wordpress/clone **Clone WordPress installation** Create a copy of an existing WordPress installation on a new domain or directory. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | installationId | string | Yes | | | targetDomain | string | Yes | | | targetDirectory | string | No | | ### Common Use Cases - Copy my WordPress to another domain - Clone the WordPress site - Duplicate my WordPress --- ## POST /api/hosting/{accountId}/wordpress/staging **Create WordPress staging environment** Create a staging copy of WordPress for testing before publishing changes live. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | installationId | string | Yes | | | stagingDomain | string | Yes | | | stagingDirectory | string | No | | ### Common Use Cases - Create a test environment for WordPress - I want to test changes before publishing - Set up staging for my WordPress --- ## POST /api/hosting/{accountId}/files/write **Create or edit file** Create a new file or overwrite an existing one with specified content. The file is created in the specified directory relative to your home directory (/home/{cpanelUsername}/{dir}/{file}). Executable files like .php, .pl, .cgi, .py, .sh, etc., are blocked for security. Maximum file size is 1MB. NOTE: To change PHP version, create/edit .htaccess with: SetHandler application/x-httpd-alt-phpXX___lsphp where XX is the version (e.g., 81 for PHP 8.1, 82 for PHP 8.2). ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | dir | string | Yes | Directory relative to home directory (e.g., 'public_html') | | file | string | Yes | Filename (e.g., 'robots.txt') | | content | string | Yes | File content (max 1MB) | | from_charset | string | No | Character encoding for content (default: UTF-8) | | to_charset | string | No | Character encoding for saved file (default: UTF-8) | ### Response Fields | Field | Description | |-------|-------------| | path | Full path to the created file (e.g., /home/user/public_html/test.txt) | | contentLength | Number of characters in the content | | cpanelUsername | cPanel username | ### Common Use Cases - Create a new file - Write to a file - Update file content - Create an .htaccess file - Edit robots.txt - Change PHP version via .htaccess - Change PHP to 8.2 --- ## GET /api/hosting/{accountId}/disk-quota **View disk space usage** Display used and available disk space, along with inode usage for your account. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Response Fields | Field | Description | |-------|-------------| | quota | Quota status with megabytes_used, megabyte_limit, etc. | ### Common Use Cases - How much disk space am I using? - Is my web hosting full? - Show my disk quota --- ## GET /api/hosting/{accountId}/databases **List MySQL databases** View all MySQL databases on your web hosting account, including database name, size, and associated users. Useful for an overview of database resources. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Response Fields | Field | Description | |-------|-------------| | databases | List of databases | | count | Number of databases | ### Common Use Cases - What databases do I have? - Show my MySQL databases - List databases on my web hosting --- ## PUT /api/hosting/{accountId}/database-users/password **Change MySQL user password** Change the password for a MySQL database user. The new password takes effect immediately and affects all applications using the user. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | username | string | Yes | | | newPassword | string | Yes | | ### Common Use Cases - Change database user password - Reset MySQL password --- ## POST /api/hosting/{accountId}/database-users/privileges **Assign database privileges** Grant a MySQL user privileges to a database. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | username | string | Yes | | | database | string | Yes | | | privileges | array | Yes | e.g., ['ALL', 'SELECT', 'INSERT'] | ### Common Use Cases - Give user access to the database - Assign privileges - Associate user with database --- ## DELETE /api/hosting/{accountId}/database-users/privileges **Revoke database privileges** Revokes a MySQL user's privileges to a database. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | username | string | Yes | | | database | string | Yes | | ### Common Use Cases - Remove user's access to the database - Revoke privileges --- ## GET /api/hosting/{accountId}/cron-jobs **List cron jobs** Lists all scheduled cron jobs on your hosting account. Cron jobs are automated tasks that run at specific times, such as database backups or cache clearing. Requires the Cron module to be enabled on the server. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Response Fields | Field | Description | |-------|-------------| | jobs | Object containing cron jobs and their schedules | | cpanelUsername | cPanel username | ### Common Use Cases - What cron jobs do I have? - Show scheduled tasks - List my crons - Do I have any automated tasks? --- ## POST /api/hosting/{accountId}/cpanel/reset-password **Reset cPanel password** Sets a new password for your cPanel account. This also affects the primary FTP account. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | newPassword | string | Yes | | ### Common Use Cases - Change cPanel password - I forgot my cPanel password - Reset cPanel access --- # Email Services Email forwarding, verification, and spam protection ## GET /api/email-verification/status **Check email verification status for domains** Check the status of email verification for your domains. It returns an ID to follow up on the verification process. Use this endpoint to see if your domain's email settings are correctly configured. ### Response Fields | Field | Description | |-------|-------------| | domains | A list of domains that are under verification or have been verified. | | loading | A boolean flag indicating if the verification process is still ongoing. | | lastChecked | The timestamp when the last verification check was performed. | ### Common Use Cases - How do I check the status of my email verification? - Is my domain's email verification complete? - Can you check my domains' email verification status? - Why is my email not working? --- ## GET /api/email-forwarding **Get email forwarding settings for a domain** Retrieve the current email forwarding configuration for a specific domain. It returns information about active rules and destinations, and an ID that may be needed for subsequent calls related to email configuration. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domain | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | emailRoutingEnabled | Indicates if email forwarding is enabled for the domain. | | rules | A list of rules configured for email forwarding. | | destinations | A list of destinations where email is forwarded. | | catchAll | Information about catch-all rules for email forwarding. | | settings | Detailed email forwarding settings, including domain name and status. | | mxRecords | Information about the domain's MX (Mail Exchanger) records. | ### Common Use Cases - How do I configure email forwarding for my website? - Show my current email rules for my domain. - Can you show the email forwarding settings on my hosting account? - I want to see how my email is set to forward. --- ## POST /api/email-forwarding **Create email forwarding for addresses on your hosting** Configure email forwarding from one address to another within your domain. This is useful for consolidating email from multiple addresses into a single inbox or directing email to an external address. The API returns an ID for subsequent calls related to the forwarding rule creation. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | email | string | Yes | | | destination | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | rule.id | Unique ID for the created forwarding rule. | | verificationSent | Indicates if a verification email has been sent to the destination address. | | destinationVerified | Shows if the destination address has been verified. | | message | A message describing the result of the action, e.g., that the rule was created and a verification email was sent. | ### Common Use Cases - How do I set up email forwarding for my website? - Can I forward email from info@example6.com to my personal address? - I want all email to my domain to go to a specific address, how do I do that via cPanel? - Create an email forwarding rule on my hosting. --- ## DELETE /api/email-forwarding **Delete an email forwarding rule** Remove an existing email forwarding rule from your hosting account. This is useful if you no longer need email to be sent to another address. The endpoint returns a message confirming the rule has been deleted. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | domain | query | string | Yes | | | ruleId | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | A message confirming the email forwarding rule has been deleted. | ### Common Use Cases - How do I delete an email forwarding rule? - I want to stop forwarding email from my website, how do I do that? - Delete forwarding for my hosting account. - Can I delete an email forwarding rule in cPanel? --- ## POST /api/email-verify/verify **Verify email address with a code** Verify an email address using a one-time code sent to the user. This confirms the email address is correct. The endpoint returns a unique ID for tracking the verification process. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | | code | string | Yes | | | language | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the verification was successful. | | message | A message describing the result of the verification. | ### Common Use Cases - How do I verify my email address? - I received a code to verify my email, what do I do? - Verify my email address for my web hosting account. - Need to verify my email to complete my web hosting registration. --- ## GET /api/email-endpoints **List your email endpoints** Retrieve a list of all configured email endpoints associated with your account. Endpoint IDs may be needed for subsequent actions like support requests. ### Response Fields | Field | Description | |-------|-------------| | email_endpoints | A list of configured email endpoints. | ### Common Use Cases - Show my email settings - How many email accounts do I have? - Can I see my email services? - List all my email endpoints --- ## POST /api/email-endpoints **Create a new email endpoint for your hosting** Create a new email endpoint linked to your hosting account. A unique ID is returned, required for referencing this email endpoint in subsequent API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | email | string | Yes | | | scope | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | email_endpoint | Information about the created email endpoint, including its ID. | | message | A message confirming the successful creation of the email endpoint. | ### Common Use Cases - How do I create a new email address for my hosting? - I need an email endpoint for my website, how do I do that? - Can I create a new mailbox for my existing hosting? - Help me configure email for my hosting account. --- ## GET /api/hosting/{accountId}/email-accounts **List email accounts** Retrieve all email accounts associated with your web hosting account. Displays email address, domain, quota, and used space. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | | domain | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | accounts | List of email accounts | | count | Number of accounts | ### Common Use Cases - What email accounts do I have? - Show my email addresses - List email on my web hosting - How many mailboxes do I have? --- ## DELETE /api/hosting/{accountId}/email-accounts **Delete email account** Permanently delete an email account. All emails in the mailbox will be erased. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | | domain | string | Yes | | ### Common Use Cases - Delete an email address - Remove email account - Close mailbox --- ## POST /api/hosting/{accountId}/email-accounts **Create email account** Create a new email account on a selected domain. Requires email prefix, domain, password, and an optional quota. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | Local part (e.g., 'info') | | domain | string | Yes | Domain (e.g., 'example.com') | | password | string | Yes | | | quota | number | No | Quota in MB (0 = unlimited) | ### Common Use Cases - Create a new email address - Add email account - I want a new mailbox - Set up email for my domain --- ## POST /api/email-forwarding/enable **Enable email forwarding for a domain.** Use this call to enable email forwarding for a specific domain. This is useful when you want emails sent to an address on your domain to be forwarded to another email address. The call returns an ID that may be needed for follow-up actions related to email configuration. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | domainId | string | Yes | | | force | boolean | No | | ### Response Fields | Field | Description | |-------|-------------| | settings.enabled | Indicates if email forwarding is enabled. | | settings.name | The name of the domain for which email forwarding is configured. | | message | A message describing the result of the enablement, including any issues with DNS synchronization. | ### Common Use Cases - How do I enable email forwarding for my domain? - I want my emails to be sent to another address, how do I set that up? - Can you help me configure email for my website? - How do I manage email settings for my domain? - Enable email forwarding for example21.com --- ## PUT /api/hosting/{accountId}/email-accounts/password **Change email account password** Change the password for an existing email account. The new password takes effect immediately and affects all email clients configured with the old password. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | | domain | string | Yes | | | newPassword | string | Yes | | ### Common Use Cases - Change my email password - Reset email password - I forgot my email password --- ## POST /api/email-forwarding/disable **Disable email forwarding for a domain** Turn off email forwarding for a specific domain. This stops emails from being sent to another address. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Confirmation message indicating that email forwarding has been disabled for the specified domain. | ### Common Use Cases - How do I turn off email forwarding for my domain? - I no longer want my email sent to another address, what do I do? - Can you help me disable email routing for my website? - Stop email forwarding for example30.com --- ## PUT /api/email-forwarding/catch-all **Configure and update email forwarding for a domain** Set up or change how emails sent to a specific domain are handled. You can forward all email to another address or disable this feature. The endpoint returns an ID to track the update status. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | action | string | Yes | | | destination | string | No | | ### Response Fields | Field | Description | |-------|-------------| | message | Message about the result of the update. | | catchAll | Information about the updated catch-all rule, including its ID, status, action type, and destination. | ### Common Use Cases - How do I set up catch-all email for my domain? - I want all email to my website to be sent to my Gmail. - How do I change where email for my hosting is forwarded? - Can I stop forwarding email for my domain? --- ## PUT /api/hosting/{accountId}/email-routing **Set email routing (MX)** Change the MX settings for a domain. Can be set to auto, local, remote, or secondary. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | domain | string | Yes | | | mxcheck | string | Yes | | ### Common Use Cases - Change MX routing for my domain - Use external mail server - Set email to remote --- ## GET /api/hosting/{accountId}/email-routing **Get email routing (MX)** View the current MX settings for a domain (local, remote, secondary, auto). ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | | domain | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | domain | Domain name | | routing | MX configuration | ### Common Use Cases - How is my email routing set up? - Where does my MX point? - Am I using an external mail server? --- ## POST /api/email-endpoints/{id}/verify **Verify an email address** Confirm that an email address is valid and that the verification code sent to it is correct. This is a required step to complete the configuration of email services associated with your web hosting. The endpoint returns an ID for follow-up. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | code | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | verified | Indicates if the email address was successfully verified. | | message | A message describing the result of the verification attempt. | ### Common Use Cases - How do I verify my email address? - I received a code for my email, what do I do? - Confirm my email address for web hosting. - Verify my new email address. --- ## PUT /api/email-endpoints/{id} **Update an email endpoint** Change the name or scope of a specific email endpoint. This is useful when organizing or adjusting how email services are managed for your account. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | email | string | Yes | | | scope | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | email_endpoint | The updated email endpoint. | | message | Confirmation message that the email endpoint has been updated. | ### Common Use Cases - How do I change the name of my email endpoint? - I want to update the settings for an email service. - Can I change the scope of my email endpoint? - How do I manage my email accounts? --- ## GET /api/hosting/{accountId}/email-forwarders **List email forwarders** Retrieve a list of all email forwarders configured for your account. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | forwarders | List of forwarders | | count | Number of forwarders | ### Common Use Cases - What email forwarders do I have? - Show my forwarders - Where does info@example.com go? --- ## POST /api/hosting/{accountId}/email-forwarders **Create email forwarder** Create a new email forwarder. Emails sent to the specified address will be forwarded to the given destinations. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | | domain | string | Yes | | | destination | string | Yes | Destination(s), comma-separated | ### Common Use Cases - Forward email to another address - Create a forwarder - I want to forward mail --- ## DELETE /api/hosting/{accountId}/email-forwarders **Delete email forwarder** Permanently delete an email forwarder. Emails sent to the address will no longer be forwarded. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | | domain | string | Yes | | | destination | string | Yes | | ### Common Use Cases - Delete email forwarder - Stop forwarding my email --- ## PUT /api/hosting/{accountId}/email-accounts/quota **Change email account quota** Modify the storage space (quota) for an email account. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | accountId parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | | domain | string | Yes | | | quota | number | Yes | New quota in MB | ### Common Use Cases - Increase storage space for my email - Change mailbox quota - My mailbox is full, can you increase it? --- # Billing & Payments Invoices, payment methods, ordering, and credits ## POST /api/billing/invoices **Get your unpaid invoices** Retrieve a list of your unpaid invoices. This is useful to see which invoices are pending payment or if you need reference numbers for a payment. The endpoint returns a unique ID for tracking actions related to these invoices. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | filters | object | Yes | | | skipCache | boolean | No | | ### Response Fields | Field | Description | |-------|-------------| | invoices | A list of invoices matching the specified filters. | | hasMore | Indicates if there are more invoices to retrieve. | | total | The total number of invoices matching the filters. | | pages | Total number of pages with invoices. | | currentPage | The current page number. | | success | A boolean indicating if the call was successful. | ### Common Use Cases - Show my unpaid invoices - Which invoices do I need to pay? - List all my unpaid invoices - Show unpaid invoices --- ## GET /api/billing/invoices **List all your invoices** Retrieve a list of all your invoices. Each invoice has a unique ID for fetching more details or performing specific actions. This is useful for an overview of your payment history and managing outstanding payments. ### Response Fields | Field | Description | |-------|-------------| | invoices | A list of invoices, each containing details like ID, date, due date, amount, and status. | | pagination | Information about pagination for the result, including current page, items per page, and total items. | | id | Invoice number. | | date | Date the invoice was created. | | duedate | Due date for the invoice. | | total | The total amount of the invoice. | | status | Status of the invoice (e.g., 'Unpaid', 'Paid'). | | client_id | ID of the client the invoice belongs to. | | currency_id | ID of the currency the invoice is issued in. | | datepaid | Date the invoice was paid. | | requestId | Unique ID for the request, can be used for troubleshooting or in subsequent calls. | ### Common Use Cases - Show my invoices - Which invoices do I have to pay? - Can I see my payment history? - List my recent invoices --- ## GET /api/billing/cards **Get saved payment methods for the customer** View your saved card details and payment methods. This endpoint returns an ID that may be needed for future payment-related operations, such as initiating a new payment. ### Response Fields | Field | Description | |-------|-------------| | cards | A list of your saved payment methods (e.g., cards). | | success | Indicates if the operation was successful. | ### Common Use Cases - What payment methods do I have saved? - Show my saved cards - How can I see my payment options? - Manage my payments --- ## GET /api/swish/payment **Check Swish payment status** Check the status of a completed Swish payment. Returns payment reference and date received. This endpoint is crucial for verifying successful payments and triggering subsequent processes or user confirmations. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | timestamp | Timestamp when the request was logged. | | requestId | Unique ID for this request. | | data.success | Indicates if the payment itself was successful. | | data.status | Status of the payment (e.g., PAID, PENDING). | | data.paymentReference | Unique reference for the payment. | | data.datePaid | Date and time the payment was received. | ### Common Use Cases - Has my Swish payment gone through? - Can you check the status of my latest Swish payment? - What is the status for reference number XYZ? - Is my invoice paid via Swish? --- ## POST /api/swish/payment **Create a Swish payment for an invoice** Initiate a Swish payment for a given invoice. Submit the invoice ID and amount to receive a QR code and Swish URL for customer completion. Also returns a 'requestId' for follow-up API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | invoiceId | string | Yes | | | amount | any | Yes | | | message | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the payment request was successful. | | paymentId | Unique ID for the created payment. | | token | A token for further operations. | | qrCode | A Base64 encoded PNG image of the QR code for the Swish payment. | | swishUrl | The URL to open the Swish app. | | reference | Reference number for the payment. | ### Common Use Cases - How do I pay my invoice with Swish? - I want to pay an invoice with Swish - Create a Swish payment for invoice [invoice_number] - Pay invoice with QR code --- ## GET /api/tax-details/{country} **Get tax details for a country** Retrieve detailed tax information applicable to a specific country. This is useful for invoicing and ensuring correct VAT calculation. Returns IDs needed for subsequent tax or invoicing-related API calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | country | path | string | Yes | country parameter | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the call was successful. | | taxes | An object containing details about various taxes, including name, rate, and how they are applied. | | call | The name of the function called on the server. | | server_time | Timestamp for when the call was processed on the server. | ### Common Use Cases - What VAT applies in [country]? - Show tax rates for [country] - How is tax calculated for services in [country]? - I need tax details for [country] for an invoice. --- ## GET /api/support/critical-credits **Check your account credits** Display your available account credits, how much you have used, and if you are eligible for additional credits. This is particularly useful for understanding your current balance for future purchases or checking your trust level. Returns a requestId for follow-up actions. ### Response Fields | Field | Description | |-------|-------------| | balance | Current balance of available credits. | | credited | Total credits added to your account. | | used | Total credits used. | | eligible | Indicates if you are eligible for additional credits. | | trustTier | Information about your trust level, including level and name. | | bankidVerified | Indicates if your account is verified with BankID. | | pendingPurchases | A list of purchases awaiting processing. | | price | A reference price, potentially related to a service or credit limit. | ### Common Use Cases - How much money do I have to spend? - Show my available credits - Can I get more credits on my account? - What is my current balance for purchases? --- ## GET /api/billing/account-summary **Get your billing account summary** Get an overview of your billing account, including any credit and your contact details. It also returns a unique request ID that may be needed to follow up on other billing-related actions. ### Response Fields | Field | Description | |-------|-------------| | credit | Available credit amount on your account. | | email | The email address associated with your billing account. | | name | Your registered name for billing. | | country | The country registered for your billing account. | ### Common Use Cases - How much money do I have in my account? - Can I see my credit amount? - What is my registered name and country for billing? - Show a summary of my billing account. --- ## GET /api/account/billing-cc **Get invoice copy email address** Retrieve the email address used to send copies of invoices. This information is useful for verifying or updating where you receive your invoice copies. ### Response Fields | Field | Description | |-------|-------------| | billingCCEmails | Email address(es) that receive copies of invoices. | ### Common Use Cases - Where are copies of my invoices sent? - How do I change the email address for invoice copies? - What email do I receive my invoices at? - Can I get invoices sent to a different email? --- ## POST /api/account/billing-cc **Add a billing contact to your account** Add a specific contact person for billing-related communication for your account. This ensures important billing messages reach the correct person. The API returns an ID for tracking the contact creation. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | | description | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | message | A message describing the result of the operation. | | contact | Information about the added billing contact, including its ID and description. | ### Common Use Cases - How do I add an email address for invoices? - I want to specify who receives invoices. - Can I add a new recipient for payment reminders? - How do I update my billing details? --- ## POST /api/billing/transactions **List your transactions and invoices** Retrieve a list of your past transactions and invoices. Each transaction includes details like amount, date, description, and status. The endpoint returns a transaction ID for fetching further details or for follow-up API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | filters | object | Yes | | ### Response Fields | Field | Description | |-------|-------------| | transactions | A list of transactions, with each object containing details of an individual transaction. | | hasMore | A boolean indicating if there are more transactions to fetch. | | success | A boolean indicating if the request was successful. | ### Common Use Cases - Show my past payments - List my invoices - Where can I find my transaction history? - Show my recent account transactions --- ## POST /api/billing/pay **Pay a specific invoice** Complete a payment for a specific invoice. You need to provide the ID of the invoice you want to pay and the payment method to be used. The endpoint returns an ID needed to track the payment status in subsequent calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | invoiceId | string | Yes | | | cardId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the payment request was successful. | | message | A message describing the result of the payment request. | ### Common Use Cases - How do I pay my invoice? - I want to pay an invoice with my card. - Can I pay a specific invoice now? - What is the status of my recent payment? --- ## POST /api/billing/invoice/{id} **Get a specific invoice as PDF** Retrieve a specific invoice as a PDF file, useful for accounting or archiving. It returns a base64-encoded PDF string that can be saved. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | string | Yes | id parameter | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | invoiceIds | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | pdf | Base64-encoded PDF string for the requested invoice. | | success | Indicates whether the invoice retrieval was successful. | ### Common Use Cases - Can I get a copy of my latest invoice? - How do I download an invoice as PDF? - I need an invoice for accounting. - Where can I find my invoices as PDF? --- ## GET /api/billing/invoice/{id} **Get details of a specific invoice** Retrieve detailed information about a specific invoice, identified by its unique ID. This information may include whether the invoice has an active payment link or previous payment history. This ID is often necessary for subsequent actions or verifying invoice status in other systems. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | hasActiveLink | Indicates if the invoice has an active payment link. | | previousLinks | A list of previous payment links for the invoice. | | invoice | An object containing the detailed invoice information. | ### Common Use Cases - Can I see details for invoice with ID {id}? - What is the status of invoice {id}? - Show information about my latest invoice. - Does invoice {id} have an active payment link? --- ## POST /api/billing/stripe-checkout **Initiate a Stripe payment for an invoice** Start a Stripe payment process for a specific invoice. This endpoint generates a secure payment link for checkout and returns a requestId for future follow-up. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | mode | string | Yes | | | invoiceId | string | No | | | returnUrl | string | Yes | | | cancelUrl | string | Yes | | | locale | string | Yes | | | requestId | string | No | | | amount | any | No | | ### Response Fields | Field | Description | |-------|-------------| | sessionId | The Stripe session ID. | | sessionUrl | The URL for Stripe Checkout to complete the payment. | | paymentType | The type of payment being initiated (e.g., 'card'). | ### Common Use Cases - How do I pay my invoice? - I want to pay my latest bill. - Can I pay my invoice with a card? - Start payment for invoice 50001. --- ## POST /api/swish/callback **Handle Swish payment confirmations** Receive and process feedback from Swish regarding completed payments. This updates invoice and order statuses and confirms payment receipt. A success ID is returned upon successful processing. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | id | string | Yes | | | payeePaymentReference | string | Yes | | | paymentReference | any | Yes | | | callbackUrl | string | Yes | | | payerAlias | any | Yes | | | payeeAlias | string | Yes | | | message | string | Yes | | | errorMessage | any | Yes | | | status | string | Yes | | | amount | any | Yes | | | currency | string | Yes | | | errorCode | any | Yes | | | dateCreated | string | Yes | | | datePaid | any | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the processing of the Swish feedback was successful. | | requestId | A unique ID for this request, used for troubleshooting or referencing this specific callback. | ### Common Use Cases - My Swish payment went through, how is my invoice updated? - I paid my invoice via Swish, what happens now? - How do I know my Swish payment has been registered? - Can you confirm my Swish payment for invoice X has been received? --- ## GET /api/billing/credit-log **Get a log of credit transactions on your account** Get a detailed history of all credit transactions on your account. Use this to see how your credits have been used or added, such as with service purchases or manual adjustments. The endpoint also returns a requestId for follow-up actions. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | page | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | log | A list of credit transactions, where each item includes details like date, amount (in/out), balance, and description. | | hasMore | Indicates if there are more transactions to retrieve. | | success | A boolean flag indicating if the request was successful. | ### Common Use Cases - Show my credit log - How have my credits been used? - Why has my balance decreased? - Show credit transaction history --- ## POST /api/services/{accountId}/renew **Renew a service and generate a new invoice** Renew an existing service and automatically generate a new invoice. The endpoint returns an 'invoiceId' necessary for subsequent payment calls, for example, via POST /api/swish/payment. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | invoiceId | The ID of the generated invoice. | | message | A message describing the outcome of the renewal. | | info | Additional information about the renewal process. | | serviceType | The type of service renewed. | | raw | Raw data from the underlying service. | | requestId | Unique ID for the request. | ### Common Use Cases - How do I renew my web hosting? - I want to renew my VPS service. - How do I create a new invoice for my service? - Can I renew my domain manually? --- ## DELETE /api/billing/cards/{id} **Remove a saved payment card** Remove a specific payment card saved to your account. Use this when a customer wants to remove an old or unused payment card to manage their payment methods. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | string | Yes | id parameter | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the payment card removal was successful. | | message | A message confirming the payment card has been removed or providing information about a potential error. | ### Common Use Cases - How do I remove a payment card? - I want to remove my credit card from your system. - Can I remove an old payment card? - Delete payment method --- ## POST /api/credit/add-funds **Add funds to your account for future purchases** Add funds to your customer account. These funds can then be used to pay for new services or renew existing ones. Upon a successful call, invoice information is returned that can be used for follow-up payment processes. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | amount | any | Yes | | ### Response Fields | Field | Description | |-------|-------------| | invoiceId | ID of the generated invoice. | | amount | The amount added in credits. | | message | Message confirming that a credit invoice has been created. | ### Common Use Cases - How can I top up my balance? - I want to buy more credit for my account. - How do I pay for future services? - Add money to my account. --- ## GET /api/billing/invoice/{id}/payment-link **Get payment link for a specific invoice** Retrieve a payment link for a specific invoice. The ID returned from this endpoint can be used to fetch the payment link at a later stage. Use this endpoint when a customer wants to pay a specific invoice or if the system needs to generate a payment link. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | hasActiveLink | Indicates if there is an active payment link for the invoice. | | previousLinks | A list of previously generated payment links for the invoice. | ### Common Use Cases - Where can I find the payment link for invoice [invoice_id]? - Can you give me a link to pay my latest invoice? - How do I pay invoice [invoice_id]? - Show me the payment link for invoice [invoice_id] --- ## POST /api/billing/invoice/{id}/payment-link **Create a payment link for a specific invoice** Generate a unique payment link for a specific invoice. It returns a link the customer can use to complete the payment. You need to provide the invoice ID in the call. The ID returned in the response ('uuid') can be used for subsequent payment status checks or actions. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | paymentUrl | The URL of the payment page where the customer can complete the payment. | | uuid | A unique ID for the payment link, usable for follow-up calls. | | expiresAt | The date and time when the payment link expires. | | message | A message confirming successful payment link generation. | | invoice | An object containing information about the related invoice, including its ID, total amount, currency, and status. | ### Common Use Cases - How do I create a payment link for my invoice? - I need a link to pay invoice [invoice_id]. - Can you generate a payment link for my unpaid invoice? - Where can I find the payment link for invoice [invoice_id]? --- ## GET /api/hosting/{accountId}/billing-cycle **View billing period** Displays the current billing period and available options to change the payment cycle. Returns the current period and a list of monthly and annual options with prices. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Response Fields | Field | Description | |-------|-------------| | current | Current period ID (e.g., 'm', 'a', 'free') | | currentName | Name of the current period (e.g., 'Monthly', 'Annually', 'Free') | | cycles | List of available periods (id, name, price, isCurrent, billingCycle) | | productId | Product ID | | accountId | Account ID | | accountDetails | Account details with domain, name, total | ### Common Use Cases - How long is my billing period? - Do I pay monthly or annually? - Show billing cycle - What are the costs for monthly vs. annual payments? --- ## POST /api/hosting/{accountId}/billing-cycle **Change billing period** Changes the billing period for your hosting account. Switching to a longer period creates an invoice for the difference. Switching to a shorter period takes effect at the next renewal. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | accountId | path | integer | Yes | Unique account identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | cycleId | string | Yes | Period ID ('m' for monthly, 'a' for annually) | ### Common Use Cases - Switch to annual payment - Change billing period - I want to pay monthly instead - Switch to monthly billing --- ## GET /api/billing/order/{id} **Get details for a specific order** Retrieve detailed information about a specific order, identified by a unique ID. Includes order status, payment details, and associated services. This ID may be needed for follow-up actions or support references. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | order | Object containing all order details, including ID, number, date, status, and associated services. | | status | The current status of the order (e.g., 'Active', 'Completed'). | | can_cancel | A boolean indicating if the order can be canceled. | ### Common Use Cases - Where can I find information about my last order? - Can you show details for order number 1146348050? - What is the status of my order? - Show me my latest invoice and its status. --- ## GET /api/billing/payment-link/{uuid} **Get payment information for a specific invoice** Retrieve detailed information about a specific invoice, including payment status and due date. It also returns a unique token that can be used to create a payment link. The ID (uuid) submitted to this endpoint is typically obtained from a previous request, such as generating a payment link for an invoice. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | uuid | path | string | Yes | UUID for uuid | ### Response Fields | Field | Description | |-------|-------------| | invoice | An object containing detailed invoice information, such as ID, number, total amount, due date, and status. | | token | A unique token used to generate a secure payment link. | | isLoggedIn | A boolean indicating if the user is logged in. | | clientEmail | The email address of the client. | ### Common Use Cases - Where can I find my invoice information? - Can I see details for a specific invoice? - How do I pay an invoice? - Show me information for invoice [invoice number]. --- ## GET /api/billing/payment-link/{uuid}/pay **Check payment status via payment link** Verify if a payment initiated via a payment link has been completed. This is useful when a customer has followed a link to pay an invoice and you need to confirm the payment is received and processed. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | uuid | path | string | Yes | UUID for uuid | | paymentId | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | status | Status of the payment (e.g., PAID, PENDING, FAILED). | | paymentReference | A unique reference for the payment. | | datePaid | Date and time the payment was completed, if paid. | ### Common Use Cases - Is my payment for the invoice received? - What is the status of my payment? - Has the payment for my service gone through? - Can you confirm my invoice is paid? --- ## POST /api/billing/payment-link/{uuid}/pay **Create a payment link to complete a payment** Generate a secure payment link via Stripe for a specific invoice or service. Use this when a customer wants to complete a payment initiated earlier. The returned link is needed to redirect the user to the payment process. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | uuid | path | string | Yes | UUID for uuid | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | paymentMethod | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | stripeSessionUrl | URL to the Stripe Checkout session where the customer can complete the payment. | | sessionId | Identifier for the Stripe Checkout session. | | paymentMethod | The selected payment method (e.g., 'stripe'). | ### Common Use Cases - I want to pay my invoice with Stripe - How do I complete a payment for my service? - Can I get a payment link for my unpaid invoice? - Create a Stripe payment link for my order --- ## POST /api/billing/order/{id}/cancel **Cancel an order and its invoice** Cancel an order and its associated invoice. A successful cancellation returns an order ID for follow-up in other systems. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | message | Description of the result of the cancellation attempt. | | order_id | The unique ID of the canceled order. | ### Common Use Cases - How do I cancel an order? - I want to cancel an order, how do I do it? - Can I cancel an invoice I just received? - Cancel my latest order --- ## POST /api/billing/invoices/bulk-pay **Consolidate and pay multiple invoices** Combine multiple unpaid invoices into a single payment. This simplifies the payment process. The API returns a new invoice ID to complete the payment. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | primaryInvoiceId | string | Yes | | | invoiceIds | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | invoiceId | The ID of the newly created consolidated invoice. | | mergedInvoices | A list of IDs for the invoices that were merged. | | message | A confirmation that the consolidated payment was created. | ### Common Use Cases - How can I pay multiple invoices at once? - I want to consolidate my invoices and pay them in one transaction. - Can I pay my VPS services and web hosting at the same time? - Create a consolidated payment for my outstanding invoices. --- ## POST /api/billing/invoice/{id}/apply-credit **Apply credit to a specific invoice** Apply your available credit to a specific invoice. This reduces the cost of an existing invoice. The endpoint returns an ID for tracking the operation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | amount | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | A message indicating that the operation has been scheduled. | | invoiceId | The ID of the invoice the credit was applied to. | | amount | The amount of the credit applied. | ### Common Use Cases - How do I use my credit on an invoice? - Can I pay an invoice with my saved credits? - Apply credit to invoice [invoice_number] - I want to use my balance to pay my latest invoice --- ## POST /api/billing/invoice/{id}/cancel **Cancel a specific invoice** Cancel a specific invoice. Useful if an invoice was created incorrectly or a transaction is no longer needed. Returns an invoice ID to confirm cancellation. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | id | path | integer | Yes | Unique id identifier | ### Response Fields | Field | Description | |-------|-------------| | message | Confirmation message that the invoice has been canceled. | | invoice_id | ID of the canceled invoice. | ### Common Use Cases - I want to cancel an invoice. - How do I cancel an 'Add Funds' invoice? - Can I void an invoice? - Cancel payment for an invoice. --- # Account & Settings User profiles, teams, contacts, and account preferences ## GET /api/current-user **Get information about the logged-in user** Retrieve information about the currently logged-in user. This is useful for personalizing the interface or verifying user permissions. The endpoint returns a unique requestId that can be used to track the call in logs or for follow-up actions. ### Response Fields | Field | Description | |-------|-------------| | user | Information about the user, can be null if no one is logged in. | | isContact | Indicates if the user is a contact person. | | shouldMigrateMFA | Indicates if the user needs to migrate their MFA (Multi-Factor Authentication). | | canPlaceOrders | Indicates if the user is authorized to place new orders. | ### Common Use Cases - Who am I logged in as? - Can I see my account details? - What information do you have about me? - Am I logged in? - Show my account settings --- ## GET /api/session-info **Get user session and permission information** Provides information about the current user session, including whether the user is logged in, can view invoices, or has administrative rights. It returns a unique ID ('requestId') that may be needed to track other API calls. ### Response Fields | Field | Description | |-------|-------------| | isContact | Indicates if the user is a contact person for the account. | | authenticated | Shows if the user is logged in. | | authType | The type of authentication used. | | canAccessCdn | Shows if the user has access to CDN services. | | clientId | The customer's ID. | | name | The user's name. | | email | The user's email address. | | isAdmin | Indicates if the user has administrative rights. | | impersonating | Shows if the user is acting as another user. | | isBillingSso | Indicates if the user is using SSO for billing. | | canViewInvoices | Shows if the user can view invoices. | | canViewTickets | Shows if the user can view support tickets. | | canPlaceOrders | Shows if the user can place new orders. | | scopesCount | The number of permissions the user has. | | hasAdminScopes | Indicates if the user has administrative permissions. | ### Common Use Cases - Am I logged in? - What are my account settings? - Can I view my invoices? - What services do I have access to? - Am I an administrator on my account? --- ## GET /api/preferences **Get and update account user settings** Retrieve and update your personal settings associated with your account. This can include interface settings to how we communicate with you. It also returns an ID that may be needed for follow-up actions. ### Response Fields | Field | Description | |-------|-------------| | preferences | An object containing your specific settings. | | categorized | An object that groups settings by category, e.g., UI settings. | | count | The number of settings returned. | | requestId | A unique ID for this request, which can be used in subsequent API calls. | ### Common Use Cases - How do I change my account settings? - Where can I find my user preferences? - Can I customize my account? - How do I manage my account settings? - Where can I find the ID for future calls? --- ## POST /api/preferences **Change user interface preferences** Save specific user settings that affect how the interface is displayed or behaves. It returns a requestId that can be used to track the change in the system, which is important for troubleshooting and tracking setting modifications. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | key | string | Yes | | | value | any | Yes | | | category | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Confirmation message that the setting has been saved. | | key | The name of the setting that was changed. | | value | The new value for the setting. | | category | The category the setting belongs to (e.g., 'ui'). | ### Common Use Cases - How do I hide the domain registration banner? - Can I change some settings for my account? - I don't want to see domain registration notifications, how do I do that? - Where can I manage my account settings? --- ## GET /api/account/stats **Get your account statistics and summary** Get an overview of your account, including paid and unpaid invoices, and the number of active services like domains and servers. It also returns an ID for subsequent API calls. ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | stats | An object containing detailed account statistics. | | stats.invoice_paid | Total amount for paid invoices. | | stats.paid | Number of paid invoices. | | stats.invoice_unpaid | Total amount for unpaid invoices. | | stats.unpaid | Number of unpaid invoices. | | stats.shared | Number of shared hosting accounts. | | stats.reseller | Number of reseller hosting accounts. | | stats.dedicated | Number of dedicated servers. | | stats.other | Number of other services. | | stats.domain | Number of registered domains. | | stats.ticket | Number of open support tickets. | | stats.credit | Available credit balance on the account. | | stats.accounts.dedicated | Number of dedicated accounts (specific field). | | stats.income | Total income from services. | ### Common Use Cases - What does my account statistics look like? - Show me a summary of my services and invoices. - How many active domains and servers do I have? - Can I see an overview of my payments? --- ## GET /api/verify/status **Check verification and cloud access status** Check the status of verification processes and cloud access settings for your account. It returns a `requestId` for following up on specific operations in subsequent calls. ### Response Fields | Field | Description | |-------|-------------| | verified | Indicates if the account is verified. | | cloudAccess | Information about cloud access, including activation and usage limits. | | pendingRequests | A list of all pending requests associated with the account. | ### Common Use Cases - Is my account verified? - How do I check the status of my verification? - Are there any pending requests for my account? - Can I get the status of my cloud access? --- ## GET /api/account/preferences **Get and update account settings and preferences** Retrieve your current account settings and preferences, such as language, timezone, and notification settings. This endpoint also returns an ID needed for subsequent API calls to manage specific services or cases. ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | timestamp | The time the request was processed. | | requestId | Unique ID for the request, can be used for troubleshooting or follow-up calls. | | data.preferences.id | Unique ID for your preference settings, used in other API calls. | | data.preferences.client_id | Your client ID, used to associate preferences with the correct client. | | data.preferences.bankid_only_login | Indicates if BankID-only login is enabled. | | data.preferences.two_factor_enabled | Indicates if two-factor authentication is enabled. | | data.preferences.email_notifications | Settings for email notifications. | | data.preferences.sms_notifications | Settings for SMS notifications. | | data.preferences.language | Selected language for your interface. | | data.preferences.timezone | Selected timezone for your interface. | | data.preferences.created_at | The time preferences were created. | | data.preferences.updated_at | The time preferences were last updated. | ### Common Use Cases - How do I change my account settings? - Where can I see my preferences? - How do I set up notifications for my account? - I want to change the language and timezone for my account. --- ## GET /api/account/automation **Get and update automation settings for your account** Retrieve your current automation settings, such as notifications and default service settings. This endpoint also returns a 'requestId' that may be needed for subsequent calls, for example, when updating settings. ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | requestId | Unique ID for the request, can be used for tracking or follow-up calls. | | settings | An object containing the current automation settings. | | settings_enabled | An object indicating which settings are enabled. | ### Common Use Cases - How can I change my notifications? - Where do I set default nameservers? - How do I manage my automation settings? - Show my account automation settings --- ## POST /api/account/automation **Change automatic billing settings for the account** Modify automatic settings for your account, such as how invoices are generated. This API returns an ID that may be needed for subsequent calls, for example, to confirm a payment. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | setting | string | Yes | | | value | any | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | settings | An object containing the current account settings, including recently changed values. | | settings_enabled | An object indicating which settings are enabled for the account. | ### Common Use Cases - How can I get separate invoices for my services? - Can I set up automatic billing? - How do I change my billing account settings? - I don't want consolidated invoices, how do I do that? - How do I set up automatic payments? --- ## POST /api/login **Log in users and handle MFA verification** Log in users to your account and handle Multi-Factor Authentication (MFA). This endpoint returns an ID that may be needed for subsequent calls to other API services, such as billing or domain management. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | username | string | Yes | | | password | string | Yes | | | rememberMe | boolean | Yes | | | rememberDevice | boolean | Yes | | | mfaCode | string | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the login was successful. | | timestamp | The time the request was processed. | | requestId | A unique ID for the request, which can be used in other API calls. | | requiresHostBillMFA | Indicates if MFA is required for billing services. | | language | The user's preferred language. | | shouldMigrateMFA | Indicates if MFA settings need to be migrated. | | mfaRequired | Indicates if MFA is required for this call. | | mfaSessionToken | A token for the MFA session. | | useCustomMFA | Indicates if custom MFA is used. | | preferTOTP | Indicates if the user prefers Time-based One-Time Password (TOTP). | | hasTOTP | Indicates if the user has TOTP configured. | | hasYubiKey | Indicates if the user has a YubiKey configured. | ### Common Use Cases - I want to log in to my account. - How do I log in to my web hosting? - I need to log in to manage my services. - Log in with two-factor authentication. - What is my password? --- ## GET /api/account/details **Get your account and profile details** Retrieve detailed information about your account, such as contact details, status, and last login. Also returns a unique ID needed for subsequent operations related to the account or other services. ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | client | An object containing all client-specific information, including ID, email, name, address, phone number, and payment information. | ### Common Use Cases - Show my account details - How do I update my profile? - What is my customer ID? - Show my latest login history --- ## GET /api/account/pending-orders **Get pending order information** Check for any ongoing orders associated with your account. Returns a unique ID needed to track the order in other parts of the system, such as for payment or administration. ### Response Fields | Field | Description | |-------|-------------| | requestId | Unique ID for this request, can be used for troubleshooting or follow-up. | | pendingOrder | Information about the pending order, or null if none exists. | ### Common Use Cases - Do I have any orders pending processing? - Can you see if my latest order has gone through? - Are there any pending purchases on my account? - Show my active orders --- ## GET /api/bankid/login **Initiate BankID login and get redirect URL** Initiate a login process with BankID. It returns a URL to which you will be redirected to complete the identification. A unique ID is created that may be needed for subsequent API calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | callbackUrl | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | redirectUrl | The URL you will be redirected to to complete the BankID login. | ### Common Use Cases - I want to log in to my account with BankID. - How do I log in to HostUp? - Can I use BankID to log in? - Start BankID login --- ## DELETE /api/ssh-keys **Remove an SSH key from your account** Remove an SSH key that is no longer needed. This can be useful for improving security by regularly cleaning up old keys. The API returns an ID that can be used to track the deletion process. ### Response Fields | Field | Description | |-------|-------------| | success | Indicates whether the SSH key removal was successful. | | message | A message describing the result of the removal, e.g., 'SSH key deleted successfully'. | ### Common Use Cases - How do I remove an SSH key? - I want to delete my SSH key. - Can I remove an old SSH key? - How do I manage my SSH keys? --- ## POST /api/password-strength **Check password strength and get feedback** Assess the strength of a password and provide recommendations on how to improve it. It returns a unique ID that can be used to track the analysis in subsequent calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | password | string | Yes | | | userInputs | array | Yes | | ### Response Fields | Field | Description | |-------|-------------| | strength.score | A numerical value representing the password's strength. | | strength.level | A textual description of the password's strength (e.g., 'weak', 'medium', 'strong'). | | strength.color | A color code visually indicating the password's strength. | | strength.crackTime.offline_slow_hashing | Estimated time to crack the password with slow hashing. | | strength.crackTime.offline_fast_hashing | Estimated time to crack the password with fast hashing. | | strength.crackTime.online_throttling | Estimated time to crack the password with online attacks with throttling. | | strength.crackTime.online_no_throttling | Estimated time to crack the password with online attacks without throttling. | | strength.feedback.suggestions.sv | Suggestions on how to improve the password, in Swedish. | ### Common Use Cases - Is my password secure? - How can I make my password stronger? - Check password strength - What is a good password? --- ## GET /api/account/bankid-only **Check if BankID is the sole login method** Check if BankID is the only available login method for your account. This is important for ensuring correct handling of account-related settings. The response includes an ID for tracking specific actions in other API calls. ### Response Fields | Field | Description | |-------|-------------| | bankidOnly | Indicates if only BankID is available as a login method (true/false). | ### Common Use Cases - Is BankID the only way to log into my account? - Can I log in with something other than BankID? - How do I check my BankID login settings? - Show my account security settings - Is my account only accessible via BankID? --- ## POST /api/account/bankid-only **Enable and manage BankID-only login** Enable BankID as the sole login method for your account. After enabling, you will only be able to log in with BankID. This is a sensitive operation and the endpoint returns a `requestId` for follow-up actions. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | enabled | boolean | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | bankidOnly | Shows if BankID-only mode is enabled. | | message | A message confirming the status change for BankID login. | ### Common Use Cases - How can I log in more securely? - I only want to be able to log in with BankID - Can I set my account so only BankID works? - How do I enable BankID-only login? --- ## GET /api/account/currency **Get and change account currency settings** View the current currency for your account and available currencies. The response includes an ID for the current currency, which may be needed for other API calls, such as invoicing or service management. You can also change your account currency. ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | currentCurrencyId | ID of the current currency set for the account. | | currentCurrency | Object containing details about the current currency (code, format, etc.). | | currencies | A list of all available currencies for the account. | | canChangeCurrency | Boolean indicating if you can change your account currency. | | unpaidInvoiceCount | Number of unpaid invoices. | | changeLimit | Information about limitations for changing currency. | ### Common Use Cases - What currency is my account set to? - How do I change the currency for my account? - Show available currencies for payment. - Can I change my account currency? --- ## POST /api/account/currency **Update account currency for pricing** Change the currency used for pricing on your account. After updating the currency, a `currencyId` is returned, which may be needed for subsequent API calls related to invoicing or account information. This updates the currency for your services. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | currencyId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the currency update was successful. | | message | A message confirming that the currency has been updated. | | currencyId | The ID of the updated currency, can be used in other API calls. | | currency | Object with details about the selected currency (code, symbol, ISO code, etc.). | | pricingRecalcJobId | ID of a job started to recalculate prices based on the new currency, if applicable. | ### Common Use Cases - How do I change the currency for my services? - I want to see prices in USD instead of SEK, how do I do that? - Can I change the default currency for my account? - Where do I set the currency to be used for invoices? --- ## DELETE /api/teams **Remove a contact from your account** Permanently remove a contact associated with your account. This is useful if a contact is no longer relevant or needs access. The endpoint returns a unique ID for tracking the action in the system. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | type | query | string | Yes | | | id | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the contact removal was successful. | | call | The name of the internal function that performed the action. | | server_time | Timestamp for when the operation was completed on the server. | | info | A list of messages describing the result of the operation, e.g., 'Contact has been deleted'. | ### Common Use Cases - How do I remove a contact from my account? - Can I delete a user I previously added? - I want to remove a contact from my company account, how do I do that? - Remove a person from my team. --- ## GET /api/google/login **Initiate login with Google** Start the login process using Google. You will be redirected to Google's login page for authentication. After successful authentication, you will be redirected back. The endpoint returns a `redirectUrl` to start this process and a unique `requestId` for subsequent calls. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | callbackUrl | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | redirectUrl | The URL you are redirected to for logging in with Google. | | requestId | A unique ID used to track the login request and for subsequent API calls. | ### Common Use Cases - How do I log in with my Google account? - I want to use Google to log into my account. - Can I link my Google account to HostUp? - Start Google login --- ## GET /api/mfa/methods **Get available Multi-Factor Authentication (MFA) methods** See which Multi-Factor Authentication (MFA) methods are available for your account. It also returns a unique ID that may be needed for follow-up actions related to security settings. Use this endpoint when you want to manage or review your account's security options. ### Response Fields | Field | Description | |-------|-------------| | methods | A list of available MFA methods. | | hasBackupCodes | Indicates if backup codes have been generated for the account. | | hasHostBillMFA | Indicates if HostBill MFA is enabled for the account. | ### Common Use Cases - What MFA methods can I use? - How do I set up two-factor authentication? - Show my account security options - Can I use an authenticator app for login? - How do I enable backup codes for my account? --- ## PATCH /api/mfa/methods **Update the name of an MFA method** Change the name of an existing Multi-Factor Authentication (MFA) method. This can be useful for clearly identifying different MFA devices or methods associated with your account. The API returns an ID that can be used to track the update process. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | methodId | integer | Yes | | | name | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the MFA method name update was successful. | ### Common Use Cases - I want to rename my two-factor authentication app. - How do I change the name of my security key? - Can I give a custom label to my MFA method? - Update the name of my YubiKey for login. --- ## DELETE /api/mfa/methods **Remove an MFA method from your account** Remove a Multi-Factor Authentication method, such as an app or SMS, from your account. After the method is removed, an ID is returned that can be used to track the removal. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | methodId | query | string | Yes | | | password | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the MFA method removal was successful. | | hostbillDisabled | Indicates if the Hostbill function is disabled after removal. | ### Common Use Cases - How do I remove my authenticator app? - I want to remove SMS verification from my account. - Can I remove an MFA method? - Account security settings --- ## GET /api/keys **List your account's API keys** Retrieve a list of all API keys associated with your account. This is useful if you need to manage or review access to your services via API. Note that this endpoint returns a unique 'requestId' that can be used in subsequent calls to other API endpoints. ### Response Fields | Field | Description | |-------|-------------| | keys | A list of API keys associated with the account. | | count | The number of API keys returned. | ### Common Use Cases - Show my API keys - How do I manage my API keys? - List all keys for my account - I need my API keys to integrate with external tools --- ## POST /api/account/update **Update your account phone number** Change the registered phone number on your account. This is important for contact regarding security updates or invoice information. The endpoint returns a 'requestId' to track the update. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | state | string | No | | | phonenumber | string | No | | | firstname | string | No | | | lastname | string | No | | | companyname | string | No | | | orgno | string | No | | | personnummer | string | No | | | address1 | string | No | | | city | string | No | | | postcode | string | No | | | country | string | No | | | accountType | string | No | | | langcustomline0076 | string | No | | | vateu | string | No | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the phone number update was successful. | | message | A message describing the result of the update. | ### Common Use Cases - How do I change my phone number? - I want to update my contact information. - Can I change the phone number on my account? - Why do you need my phone number? --- ## POST /api/email-verify/send **Send a verification code to an email address** Send a verification code to a customer's email address to confirm identity for sensitive operations or account changes. The API returns a unique 'requestId' for tracking the operation in subsequent calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | | language | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | message | A message confirming that the verification code has been sent. | ### Common Use Cases - How do I verify my email address? - I need to send a verification code to my email. - Can you send a new code to verify my account? - Verify my web hosting account with email. - Send a code to my email to confirm my identity. --- ## POST /api/account/language **Change your account language settings** Change the language used for communication and the interface. Use this if you prefer to interact in a language other than the default. The endpoint returns a requestId for follow-up calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | language | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the language setting was successful. | | message | A message confirming the language setting has been updated. | | language | The language now set for the account. | ### Common Use Cases - How do I change my account language? - Can I set Swedish as the default language? - Where do I change language settings for HostUp? - I want communication in Swedish. --- ## GET /api/account-selection **Select the account to use for actions** Choose which of your accounts an action should be performed on. This is particularly useful if you have multiple companies or services linked to your personal number. The endpoint returns an account ID required for subsequent API calls. ### Response Fields | Field | Description | |-------|-------------| | pnr | Personal number associated with the account. | | accounts | A list of available accounts. Each account contains information such as ID, name, email, status, and login type. | ### Common Use Cases - I have multiple companies, how do I choose which one to manage? - How do I switch accounts to view invoices? - Which account is active for my services? - Show my accounts --- ## POST /api/password-reset **Reset the password for a user account** Reset a forgotten password by sending an email with a link to create a new one. The endpoint returns a unique ID to track the request status. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | email | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the password reset request was successful. | | linkDispatched | Indicates if the email with the reset link has been sent. | | expiresInMinutes | The time in minutes the reset link is valid. | ### Common Use Cases - I forgot my password, how do I reset it? - How do I change my account password? - Can you help me reset my password? - I can't log in, I need to reset my password. --- ## GET /api/google/mfa-status **Check Google Multi-Factor Authentication (MFA) status** Check if your Google login requires additional authentication, such as an MFA code. It returns a requestId needed for subsequent actions related to billing or administration. Use this when logging in or when the system indicates additional verification is required. ### Response Fields | Field | Description | |-------|-------------| | pendingGoogleLogin | Indicates if a Google login is pending verification. | | mfaRequired | Shows if Multi-Factor Authentication (MFA) is mandatory for login. | | pendingClientId | ID of the client awaiting authentication. | | hasCustomMFA | Indicates if custom MFA is configured. | | hasHostBillMFA | Shows if HostBill is configured for MFA. | | hostbillModuleId | ID of the HostBill module used. | | useEmailOTP | Information about the use of email-based One-Time Password. | | useHostBillTOTP | Indicates if HostBill TOTP (Time-based One-Time Password) is used. | | hasTOTP | Shows if TOTP is enabled for the account. | | hasYubiKey | Indicates if a YubiKey is used for authentication. | | preferTOTP | Shows if TOTP is the preferred authentication method. | | googleUser | Information about the logged-in Google user. | ### Common Use Cases - Do I need to verify my Google login? - Is MFA enabled for my account? - How do I check my Google MFA status? - What is my Google MFA status? --- ## POST /api/password-reset/validate **Validate a password reset token** Validate a token sent to your email address during a password reset request. A unique 'requestId' is returned, potentially needed for subsequent API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | token | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | valid | Indicates if the submitted token is valid. | | email | The email address associated with the token. | | expiresAt | The time the token expires. | ### Common Use Cases - Is my reset link valid? - Can I reset my password? - How do I know if my password reset is working? - Validate my password reset token --- ## POST /api/password-reset/complete **Complete password reset for customer accounts** Complete the password reset process after a user has requested it and received a token. It returns a unique ID (requestId) for tracking the operation's status or initiating related processes. The password reset token is typically obtained from other API calls related to security or payments. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | token | string | Yes | | | password | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | reset | Confirms that the password reset has been completed. | ### Common Use Cases - I forgot my password, how do I reset it? - I received a link to reset my password, what do I do now? - Can you help me change my password? - How do I complete a password reset? --- ## POST /api/mfa/setup/totp **Set up Time-based One-Time Password (TOTP) for Two-Factor Authentication (2FA)** Initiate and configure two-factor authentication (2FA) for your account using a Time-based One-Time Password (TOTP). It generates a QR code and a manual entry key needed to add HostUp to your authenticator app. The endpoint returns a requestId for follow-up calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | methodName | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | qrCode | A QR code that can be scanned with an authenticator app to configure TOTP. | | manualEntryKey | A text key for manual entry into an authenticator app. | | label | A label identifying the account in the authenticator app (usually email address). | | issuer | The name of the service provider, e.g., HostUp. | ### Common Use Cases - How do I set up 2FA for my account? - I want to enable two-factor authentication. - Set up a one-time password for security. - Security settings for my account. --- ## PUT /api/mfa/setup/totp **Enable Time-based Two-Factor Authentication (TOTP) for your account** Complete the setup of Time-based Two-Factor Authentication (TOTP) with a one-time code. After scanning the QR code with your authenticator app and obtaining a code, submit it here to enable the method. The endpoint returns an ID needed for future reference or linking to other security settings. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | token | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | method.id | Unique identifier for the added TOTP method. | | method.name | The name of the authentication device used (e.g., phone model name). | | method.type | The type of authentication method, in this case 'totp'. | ### Common Use Cases - How do I enable TOTP for my account? - I've scanned the QR code, what do I do now? - How do I complete the two-factor authentication setup? - Can I add a TOTP authentication method? - Security settings for my account --- ## POST /api/account/bankid-personnummer **Add BankID-verified personal identification number** Link a personal identification number (personnummer) to your account, verified via BankID. This may be required for certain account actions or to complete identification. Returns an ID that might be needed for subsequent API calls to retrieve status or continue a process. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | field | string | Yes | | | value | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | field | The type of field that was updated. | | value | The value that was added or updated. | | message | A message indicating the outcome of the operation. | ### Common Use Cases - How do I add my personal identification number for verification? - I need to verify my personal identification number with BankID. - Can I link my personal identification number to my account? - What do I need to do to complete my account verification? --- ## POST /api/account/change-password **Change your HostUp account password** Change the password for your HostUp customer account as a security measure. After a successful change, a request ID is returned to verify the change in other systems. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | password | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | message | A message describing the result of the password change. | ### Common Use Cases - How do I change my account password? - I forgot my password, what should I do? - Can I change my password? - Account security settings --- ## POST /api/account/change-email **Change email address associated with your account** Update the primary email address linked to your HostUp account. This is useful if you've changed your email or want all communication directed to a new address. Returns a `requestId` to track the operation. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | oldEmail | string | Yes | | | newEmail | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the email address change was successful. | | message | A message describing the result of the operation. | | email | The new email address now associated with the account. | ### Common Use Cases - I want to change the email address on my account - How do I change my contact email? - Update my email address for notifications - Can I change the email address for my account? --- ## GET /api/referral/history **View your referral history and earned rewards** Get an overview of your referrals and any rewards earned through the partnership program. See how many friends you have referred and the benefits you have received. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | limit | query | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | items | A list of your referrals. | | total | The total number of referrals you have. | | limit | The maximum number of referrals displayed per page. | | offset | The number of referrals skipped for pagination. | | hasMore | Indicates if there are more referrals to load. | ### Common Use Cases - What does my referral history look like? - What rewards have I received through referrals? - Show my referred customers. - Can I see how many people I have referred? --- ## POST /api/mfa/resend-email **Resend MFA verification code via email** Send a new Multi-Factor Authentication (MFA) code to the user's registered email address when they haven't received it. This returns a requestId for follow-up actions. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | clientId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Confirmation message that a new code has been sent. | | email | The email address the code was sent to. | ### Common Use Cases - I haven't received my login security code. - Can you send a new two-factor authentication code? - How do I get a new MFA code? - My login code didn't arrive, what do I do? --- ## GET /api/referral/status **Check status and statistics for your referral program** Get information about your current status in the referral program. See if you are eligible to refer new customers, your trust tier, and if your BankID is verified. It also shows statistics on your referrals and rewards. ### Response Fields | Field | Description | |-------|-------------| | eligible | Indicates if the user is eligible to participate in the referral program. | | trustTier | The user's trust tier within the referral program. | | bankIdVerified | Shows if the user's identity is verified via BankID. | | stats | Statistics on referral activity, including usage, limits, and historical results. | | rewards | Information about rewards for both the referrer and the referee. | ### Common Use Cases - How is my referral program doing? - Am I eligible to refer friends? - How many customers have I referred? - What have I earned from referrals so far? - Can I get a discount by referring? --- ## POST /api/mfa/backup-codes **Generate one-time codes for security purposes** Create one-time codes as an extra security measure, for example, if you lose access to your primary two-factor authentication. Save the generated codes securely as each code can only be used once. The endpoint also returns a unique ID required for certain follow-up API calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | count | integer | Yes | | ### Response Fields | Field | Description | |-------|-------------| | codes | A list of one-time codes that can be used for login. | | message | A message confirming that the codes have been generated and providing instructions on how to use them. | ### Common Use Cases - How do I get backup codes for my account? - I need new codes to log in. - What do I do if I lose my security code? - Generate recovery codes for my account. --- ## POST /api/account/activate-order **Activate a placed order for your services** Activate an order that was previously created, for example, after a successful payment. The endpoint returns an order ID that can be used in later calls to track order status or manage the service. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | orderId | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the order activation was successful. | | message | A message describing the result of the activation attempt. | | orderId | ID of the order that has been activated. | ### Common Use Cases - How do I activate my new service? - My order is placed, how do I complete the purchase? - What do I need to do to make my new domain active? - Activate my VPS after ordering --- ## POST /api/google/send-mfa **Send a verification code for Google authentication** Send a two-factor authentication (MFA) code via email when a user attempts to log in or perform a sensitive action. The code is sent to the registered email address and is necessary to complete the login or action. The endpoint returns a 'requestId' to track the request in subsequent calls. ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | email | The email address the verification code was sent to (masked). | | message | A message confirming that the verification code has been sent. | ### Common Use Cases - I need to verify my account with Google. - How do I get a verification code for my account? - My login requires a code, can you send a new one? - Why do I need a verification code to log in? --- ## GET /api/contacts/{contactId}/permissions **Get permissions for a specific contact person** Check which services and actions a specific contact person is authorized for. It returns a unique ID ('requestId') that can be used in subsequent API calls to retrieve detailed information. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | contactId | path | integer | Yes | Unique contact identifier | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the request was successful. | | timestamp | Timestamp when the request was processed. | | requestId | Unique ID for the request, can be used to track operations. | | services | List of services the contact person has access to, including their ID, name, type, category, and access status. | | domains | List of domains the contact person has access to. | | dnsZones | List of DNS zones the contact person has access to. | | canViewInvoices | Boolean indicating if the contact person can view invoices. | | canReceiveInvoices | Boolean indicating if the contact person can receive invoices via email. | | canOpenTickets | Boolean indicating if the contact person can open new support tickets. | | canViewTickets | Boolean indicating if the contact person can view existing support tickets. | | canReceiveTicketEmails | Boolean indicating if the contact person can receive support ticket emails. | | canCloseTickets | Boolean indicating if the contact person can close support tickets. | | accessAllVps | Boolean indicating if the contact person has access to all VPS services. | | accessAllHosting | Boolean indicating if the contact person has access to all web hosting services. | | canPlaceOrders | Boolean indicating if the contact person can place new orders. | | accessAllDomains | Boolean indicating if the contact person has access to all domain services. | ### Common Use Cases - What services does this user have access to? - Can this user open support tickets? - What invoices can this user view? - Does this user have access to all our VPSs? - Can this user manage domains? --- ## POST /api/contacts/{contactId}/permissions **Update user permissions for services and accounts** Modify which services and functions a specific user has access to. This includes granting or revoking permissions for VPS, web hosting, domains, invoice management, and support tickets. This API returns an ID that may be needed for follow-up actions. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | contactId | path | integer | Yes | Unique contact identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | services | array | Yes | | | domains | array | Yes | | | dnsZones | array | Yes | | | canViewInvoices | boolean | Yes | | | canReceiveInvoices | boolean | Yes | | | canOpenTickets | boolean | Yes | | | canViewTickets | boolean | Yes | | | canReceiveTicketEmails | boolean | Yes | | | canCloseTickets | boolean | Yes | | | accessAllVps | boolean | Yes | | | accessAllHosting | boolean | Yes | | | accessAllDomains | boolean | Yes | | | canPlaceOrders | boolean | Yes | | ### Response Fields | Field | Description | |-------|-------------| | message | Message indicating that permissions were updated successfully. | ### Common Use Cases - How do I give an employee access to our web hosting? - Can I restrict which invoices a user can see? - How do I set permissions for VPS accounts? - Grant a user permission to open support tickets - Change a user's access to domains --- ## POST /api/mfa/setup/yubikey **Set up a YubiKey for two-factor authentication** Add and configure a YubiKey as a two-factor authentication (MFA) method for your account. This increases security by requiring a physical YubiKey in addition to your password for login. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | otp | string | Yes | | | methodName | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | method.name | The name of the configured YubiKey method. | | method.type | The type of security method, in this case 'yubikey'. | | method.publicId | The public identifier for the YubiKey. | ### Common Use Cases - How do I add a YubiKey for extra security? - I want to use my YubiKey to log in, how do I set it up? - How do I enable YubiKey as two-factor authentication? - Can I use a YubiKey to protect my account? --- ## POST /api/referral/generate-link **Generate a referral link** Create a unique referral link to invite friends. Share this link to invite others to become customers; both you and the referred friend receive benefits upon successful registration. ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the action was successful. | | link | An object containing information about the generated referral link. | | link.url | The full URL of the referral link. | | link.code | The unique code identifying your referral link. | | link.createdAt | Date and time the link was created. | ### Common Use Cases - How do I invite friends to use HostUp? - Where can I find my referral link? - Do I get a discount if I refer someone? - How do I create a link to refer new customers? --- ## GET /api/referral/validate/{code} **Validate referral code and view reward** Check if a referral code is valid and view the associated reward information. This is useful when a customer has received a referral code and wants to confirm its validity and potential benefits. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | code | path | string | Yes | code parameter | ### Response Fields | Field | Description | |-------|-------------| | valid | Indicates if the referral code is valid. | | referrerName | The name of the person who referred the user. | | reward.amount | The amount of the reward. | | reward.currency | The currency of the reward (e.g., SEK). | | reward.expiresInDays | Number of days remaining until the reward expires. | ### Common Use Cases - Is my referral code valid? - What do I get if I use this referral code? - Can I get a discount with a referral code? - Who referred me? - Validate referral code --- # Support System Support tickets, helpdesk, and attachments ## GET /api/support/tickets **Get a list of support tickets for a customer** Retrieve a list of all support tickets you have created. The information may include the ticket's status, department, and last activity, useful for an overview of ongoing and completed support requests. The endpoint also returns IDs that can be used to retrieve detailed information about specific tickets in follow-up calls. ### Response Fields | Field | Description | |-------|-------------| | tickets | A list of support tickets, where each ticket contains details like ID, subject, status, date, and related services. | | totalpages | The total number of pages the support tickets are distributed across. | ### Common Use Cases - Show my support tickets - What is the status of my latest ticket? - I need to see my old support tickets - Can I see the history of my support requests? - List my open and closed tickets --- ## POST /api/support/tickets **Create a support ticket for service assistance** Create a new support ticket when you need help with your services. The ticket will be sent to the appropriate department based on its content, and you will receive a unique ticket ID to track or reference in future communication. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | dept_id | integer | Yes | | | subject | string | Yes | | | body | string | Yes | | | priority | integer | Yes | | | context | object | No | | | ai_summary | string | No | | ### Response Fields | Field | Description | |-------|-------------| | requestId | Unique ID for the request, useful for troubleshooting. | | data.ticket.number | Unique number for the support ticket. | | data.ticket.id | Internal ID for the support ticket, used in other API calls. | | data.ticket.subject | The subject line of the support ticket. | | data.ticket.status | Current status of the ticket (e.g., 'Open'). | | data.ticket.deptname | The name of the department handling the ticket. | ### Common Use Cases - I need help with my web hosting. - My email account is not working, can you help me? - How do I create a ticket for technical support? - I have a problem with my server and need assistance. --- ## GET /api/support/tickets/{number} **Get support ticket details** Retrieve all information for a specific support ticket, identified by its unique number. This is useful for viewing history, status, or details about a submitted ticket. Returns a ticket number for follow-up actions. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | number | path | integer | Yes | Unique number identifier | ### Response Fields | Field | Description | |-------|-------------| | ticket.id | Unique ID for the support ticket. | | ticket.ticket_number | The number identifying the support ticket for the customer. | | ticket.subject | The subject or title of the support ticket. | | ticket.body | The main body of the support ticket, including the customer's problem description. | | ticket.status | Current status of the ticket (e.g., 'Open', 'Answered', 'Closed'). | | ticket.priority | Priority set for the ticket. | | ticket.date | Date and time the ticket was created. | | ticket.lastreply | Date and time of the last reply in the ticket. | | ticket.replies | A list of all replies and messages in the ticket, including sender, date, and content. | | ticket.deptname | The department handling the ticket. | | ticket.name | The name of the person who created the ticket. | ### Common Use Cases - What is the status of my support ticket? - Can I see the details for ticket number 100000? - Show my latest support ticket. - How long does it take to get a response to my ticket? - Show the conversation for my support ticket. --- ## POST /api/support/critical-credits **Purchase critical support credits** Buy support credits that guarantee priority handling of your tickets. This is useful when you need immediate assistance with urgent issues affecting your services. ### Response Fields | Field | Description | |-------|-------------| | invoiceId | ID of the created invoice. | | message | Message confirming invoice creation and payment instructions. | ### Common Use Cases - How do I buy extra support? - I need urgent help, how do I get it? - Can I buy credits for faster support? --- ## GET /api/support/departments **List support departments** Retrieve a list of all available support departments for ticket routing. This information is used to allow you to select the correct department when creating a support ticket. The endpoint also returns department IDs needed for subsequent API calls. ### Response Fields | Field | Description | |-------|-------------| | departments | A list of support departments, where each department has a unique ID, name, description, and email address. | ### Common Use Cases - What support departments are available? - How do I contact the hosting support department? - I need help with my domain, which department should I contact? - Where do I send my ticket if I have problems with my VPS? --- ## POST /api/upload/support-attachment **Upload attachments to support tickets** Upload files as attachments to your support tickets, such as screenshots or log files, to help the support team resolve your issue faster. The API returns information about the uploaded file, including its URL and a unique key. ### Response Fields | Field | Description | |-------|-------------| | url | URL of the uploaded attachment. | | key | A unique key identifying the attachment, can be used to reference the file in other systems. | | fileName | The filename as it is saved on the server. | | originalName | The original filename that was uploaded. | | size | The file size in bytes. | | mimeType | The MIME type of the file (e.g., image/png, application/pdf). | | verified | Indicates if the file has been verified (e.g., security scan). | | uploadedAt | Timestamp of when the file was uploaded. | ### Common Use Cases - How do I send a file to support? - I need to send a screenshot to you, how do I do it? - Can I attach a file to my support ticket? - How do I upload a log file for troubleshooting? --- ## POST /api/contact **Send messages to HostUps support or sales team.** Use this API to send requests, questions, or support tickets to HostUp. This can cover anything from product information and purchasing new services to technical support. The API returns a ticket number for future follow-up. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | Yes | | | email | string | Yes | | | subject | string | Yes | | | message | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the message was sent successfully. | | ticket_id | Unique ID for the created support ticket. | | message | A confirmation message stating that the message has been sent and a response will follow shortly. | ### Common Use Cases - How do I contact sales to discuss enterprise VPN usage? - I have a question about the availability of the VPSXS plan. - How do I submit a support ticket? - I want to ask a question about my services. - How do I contact support regarding a billing issue? --- ## POST /api/feedback **Send feedback or support requests to HostUp** Submit feedback, report issues, or ask questions to HostUp support. The response includes a requestId for tracking your ticket or for related calls. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | subject | string | Yes | | | message | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the feedback was sent successfully. | | message | A message from the system, e.g., confirmation that feedback was received. | | requestId | A unique ID for this call, which can be used for follow-up. | ### Common Use Cases - I want to send feedback - How do I contact support? - I have a problem with my services - Report a bug - Send a message to HostUp --- ## POST /api/support/tickets/{number}/reply **Reply to support tickets via API** Send replies to existing support tickets. The reply is sent to the specified ticket number and can be used to update the ticket's status. The ticket ID is obtained from a previous request, for example, via GET /api/support/tickets. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | number | path | integer | Yes | Unique number identifier | ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | body | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | info | List of information about the action's result, e.g., that the reply has been added and the ticket status has changed. | ### Common Use Cases - How do I reply to a support ticket? - Can I reply to my ticket via API? - How do I send a reply to my support ticket? - Update my support ticket with a reply. --- ## PUT /api/support/tickets/{number}/close **Close a support ticket** Mark a support ticket as closed when the issue is resolved or no longer requires attention. Returns a requestId for tracking. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | number | path | integer | Yes | Unique number identifier | ### Response Fields | Field | Description | |-------|-------------| | status | Shows the new status of the ticket, e.g., 'Closed'. | | message | A confirmation that the ticket status has changed, including the ticket number. | ### Common Use Cases - How do I close my support ticket? - I want to close my ongoing ticket. - Can you mark my ticket as resolved? - I'm done with my support ticket, how do I close it? --- ## PUT /api/support/tickets/{number}/open **Reopen a support ticket** Reopen a previously closed support ticket. Useful if you have further questions or the issue is not fully resolved. Returns a status confirmation and a request ID. ### Parameters | Name | In | Type | Required | Description | |------|-----|------|----------|-------------| | number | path | integer | Yes | Unique number identifier | ### Response Fields | Field | Description | |-------|-------------| | status | Status of the ticket (e.g., 'Open') | | message | A message confirming the ticket has been reopened. | ### Common Use Cases - How do I reopen a closed support ticket? - I need to continue the discussion on an old ticket. - Can I reopen a ticket? - What do I do if my support ticket was closed too early? --- ## POST /api/cart/chatbot/handoff **Submit a support ticket** Create a support ticket for personalized assistance when the chatbot cannot resolve an issue and escalation to a human agent is required. The API returns a ticket_id for follow-up. ### Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | contact | object | Yes | | | cartContext | object | Yes | | | history | array | Yes | | | locale | string | Yes | | ### Response Fields | Field | Description | |-------|-------------| | success | Indicates if the operation was successful. | | ticket_id | The ID of the created support ticket, used for follow-up. | ### Common Use Cases - I need to talk to someone about my VPS. - Can you help me with a web hosting issue? - I want to create a support ticket. - My website is not working, I need help. --- ## POST /api/support/assistant **Get support assistance and knowledge articles** Assist users with their support inquiries by providing suggested solutions from documentation or identifying when human intervention is needed. Use this when you need help with your services. ### Response Fields | Field | Description | |-------|-------------| | summary | A summary of the support issue or the suggested answer. | | articles | A list of relevant knowledge base articles that can assist the user. | | fallback | Indicates if the issue needs to be escalated to a human agent. | | debug | Debugging information showing how the system reasoned. | | linkedService | Information about the service the issue relates to. | ### Common Use Cases - I have a problem with my domain payment, can you help? - How do I renew my hosting? - I need help with my server, what should I do? - Where can I find information about my invoice? ---