DeluxHostAPI Reference

Authentication

Personal API tokens, the Authorization header and scopes.

Every request is authenticated with a personal API token sent as a bearer token:

GET /v1/me HTTP/1.1
Host: api.deluxhost.net
Authorization: Bearer dh_live_…

Tokens start with dh_live_. Send them only in the header, never as a query parameter: a token in a URL ends up in access logs, proxies and browser history.

Creating a token

Tokens are created in the dashboard under Profile → Security → API tokens. Pick a name, the scopes the token needs and how long it lives: 30, 90 or 365 days, or no expiry. The token is shown once: we store only its SHA-256 hash and cannot show it again. If you lose it, revoke it and create a new one.

Creating tokens, changing your password or email, managing two-factor and anything administrative stay dashboard-only on purpose: no token can grant itself more access.

Scopes

A token can only do what its scopes allow. Read access and write access are separate scopes, and anything that can destroy data or spend money has its own opt-in scope that you have to tick explicitly:

  • services:reinstall, services:restore, services:console and services:credentials can erase data or hand out full access to a machine.
  • orders:create, orders:manage, orders:cancel, billing:manage and billing:pay move money or end services. These also require confirm: true in the body and an Idempotency-Key header.

Existing tokens never gain new scopes automatically when we add them. Each operation in the API reference lists the scope it requires.

ScopeGrants
account:readRead your account details (name, email, credit balance).
account:sessionsList and revoke your browser sessions.
account:tokens:readRead metadata of your personal API tokens; never their secrets.
account:tokens:writeRevoke your personal API tokens; cannot create tokens or expand permissions.
account:writeUpdate your personal and billing profile; cannot change login credentials.
affiliate:readRead your referral code and affiliate earnings.
billing:manageManage automatic charging and saved payment defaults, remove saved methods and create credit top-up invoices.
billing:payPay your invoices using account credit or payment gateways, including saved payment methods.
billing:readRead billing settings, available gateways, saved payment method summaries and bank transfer details.
catalog:readRead the product catalog and prices.
firewall:readRead your Anti-DDoS traffic, attack history and protection rules.
firewall:writeCreate and delete Anti-DDoS protection rules on your own IPs.
invoices:readList your invoices and download their PDFs.
notifications:writeMark your notifications as read or dismiss them.
orders:cancelRequest or withdraw cancellation of your services. Immediate cancellation may destroy data.
orders:createPlace orders and create invoices for your account.
orders:manageChange service plans and billing cycles, and generate early renewal invoices.
orders:readRead your orders, eligible plans and billing cycles, and quote carts.
services:consoleOpen a remote server console with full access to the machine.
services:credentialsReset the server password and send it to your account email.
services:manageManage server networking, ISO media, rescue mode and backups.
services:powerStart, restart and shut down your servers.
services:readList your services and read their status, specs and usage.
services:reinstallReinstall a server or boot a rescue profile. Can erase all server data.
services:restoreRestore server backups or snapshots. Can overwrite current data.
ssh-keys:readRead your saved public SSH keys.
ssh-keys:writeCreate, rename and remove saved public SSH keys.
storage:files:readList, search and download files in your Storage Boxes.
storage:files:writeCreate, edit, move, upload, archive, extract, restore and delete Storage Box files.
storage:readRead your Storage Boxes: usage, connection details, allowed IPs, SSH keys and snapshots.
storage:subusers:readRead Storage Box subusers and their permissions.
storage:subusers:writeCreate, update, remove and reset credentials of Storage Box subusers.
storage:writeManage your Storage Boxes: access protocols, password reset, allowed IPs, SSH keys, snapshots and rollback.
tickets:readRead your support tickets and customer-visible attachments.
tickets:secretsManage encrypted support credentials on your own tickets; cannot reveal stored secrets.
tickets:writeOpen, reply to, close and rate your support tickets and upload attachments.

To see what a token holds, call GET /v1/me (the scopes field) or GET /v1/scopes, which lists every scope with a granted flag.

Expiry and revocation

Revoked and expired tokens stop working on the very next request. You can revoke a token from the dashboard at any time, or from a script with account:tokens:write. Every create and revoke is recorded in your account's activity log and notified by email.

When authentication fails

StatuscodeMeaning
401unauthenticatedThe header is missing, or the token is unknown, revoked or expired.
403permission_deniedThe token is valid but lacks the scope, or the account is suspended or restricted.

Repeated failed tokens from the same address are throttled: see Rate limits.

Something unclear or missing? Open a ticket and the team will get back to you.

On this page