Adding a provider account to ImpulseVPS
Which API token to create at Vultr, Hetzner Cloud, DigitalOcean and Linode, where to save it in ImpulseCore, how to test it, and how to rotate it without disturbing running servers.
Last updated 21 days ago
ImpulseVPS creates servers in cloud accounts you own. It calls each one a provider account and reaches it with an API token saved in ImpulseCore, which stores the token encrypted and shares it with any other Impulse module you run. This version sells on Vultr, Hetzner Cloud, DigitalOcean and Linode. Proxmox VE and the hyperscalers also appear in ImpulseCore's provider list, but this version doesn't sell on them.
1. Create the API token
Create the token in the account you want to sell from, with this access.
Vultr
- Go to Customer Portal → Account → API → Personal Access Token. The default token has full access.
- Allow your WHMCS server's IP address under Account → API → Access Control. If you don't, Vultr rejects the calls.
- A sub-user's API key carries only that user's permissions: the user must be able to manage servers, including their firewalls, snapshots and backups.
Hetzner Cloud
- Go to Cloud Console → your project → Security → API Tokens → Generate API Token and choose Read & Write.
- Use the Cloud token, not the separate DNS token. A token belongs to one project, so add one provider account per project.
DigitalOcean
- Go to Control Panel → API → Tokens → Generate New Token.
- Choose Full Access (read and write). Set no expiry, or a long one.
Linode (Akamai)
- Go to Cloud Manager → Profile → API Tokens → Create a Personal Access Token.
- Give Linodes, Volumes, StackScripts, IPs and Firewalls Read/Write access. Account Read Only is optional; it lets SSH key labels resolve.
- Don't leave out Firewalls. A token without it still passes Test connection, but your customers' firewall changes fail. Linode can't add a scope to an existing token, so if you miss one, create a new token.
- Turn off Backup Auto Enrollment under Account → Settings. If it's on, Linode enrolls every new server in its paid Backups, whatever the order bought.
2. Save it in ImpulseCore
- Open ImpulseCore → Operations → VPS Providers and expand the provider.
- For your first account at that provider, paste the token into the provider's credential field and click Save. ImpulseVPS lists this as the Default account.
- For another account at the same provider, such as a separate EU Vultr account or a second Hetzner Cloud project, open Add profile. Enter a Profile key (
a-z,0-9,-and_) and a Label, paste the token, and click Save profile.
After you save, the token is never shown again; the field shows a masked value. Choose the profile key carefully. Server plans and servers record the account by its key, which can't be changed later; the label can.
3. Test the connection
Open Addons → ImpulseVPS → Settings → Providers & Regions. Each account shows Credentials saved or Setup needed, and a Test connection button. A saved token isn't assumed to work: test every account before you build a server plan on it.
The test first checks that the provider accepts the token, then reads the provider's locations and compares them with your selling locations:
- Success reports how many of your selling locations are ready.
- The provider refused the API key means the token is wrong, revoked or lacks permission. On Vultr it can also mean your WHMCS server's IP address isn't allowed.
- A message that starts Connected to the account and goes on but … means the token works, but no selling location is mapped for this provider, or a mapped one doesn't match the provider's catalog. Add or correct the mapping, and enable the location, in ImpulseCore → Projects → Regions.
Test connection only reads, so a token without write access can still pass it. Under Diagnostics → Health Checks, Provider diagnostics runs live read-only checks of credentials, regions, plans and images. The Synthetic end-to-end test creates one real, billable server and destroys it again, even after a timeout or an error. If the destroy fails, or the provider's answer to the create is lost, you get a critical alert instead. That proves the account can create servers.
One account per server plan
- Every server plan uses exactly one provider account, chosen when you create it, and can't be moved to another. To move products, create a server plan on the other account and connect them to it. See Server plans: how they tie to WHMCS products.
- A server stays with the account it was created in for life. Power actions, rebuilds and deletion keep using that account, even if its product later moves to another server plan. If that account's credentials are missing, the action is refused; ImpulseVPS never switches accounts.
Rotating a token
Servers are pinned to the account, not the token, so a new token doesn't disturb running servers:
- At the provider, create (or regenerate) a token with the same access in the same account. On Hetzner Cloud, use the same project. Its existing servers can only be reached through that account.
- In ImpulseCore → Operations → VPS Providers, replace the masked value with the new token: in the provider's credential field (Save) for the default account, or on the profile's card (Save profile).
- Click Test connection on the account in Addons → ImpulseVPS → Settings → Providers & Regions.
- If the old token still works alongside the new one, revoke it at the provider once the test passes.
The new token also applies to any other Impulse module that uses the account. Don't rotate by deleting the profile and adding a new one: server plans and servers tied to a deleted profile can't get credentials, so their orders and actions fail.
If the token of an account your servers or connected products use stops working, for example because it was revoked or expired, ImpulseVPS's 15-minute provider check raises a critical alert on its Dashboard, The API key for … was refused. Orders and server actions on that account fail until you fix it. The alert closes on its own about 45 minutes after the key starts working again.
Related
- Installing ImpulseVPS — step-by-step
- Server plans: how they tie to WHMCS products
- Security hardening for ImpulseVPS
- Fix: a provider rejects an action or reports it busy
Was this helpful?
More in ImpulseVPS
What is ImpulseVPS, and how does it differ from a provider's own WHMCS module?Understanding ImpulseVPS licensingSecurity hardening for ImpulseVPSServer plans: how they tie to WHMCS productsStill need help? Ask the team