DeluxHostAPI Reference
Storage Boxes

Get Storage Box details

GET
/v1/services/{id}/storage

Status, quota and usage, the protocols switched on and those the plan allows, everything a\nclient needs to connect (host, username, ports, WebDAV URL, SMB path, SSH host key\nfingerprint) and where the data physically is. Never the password — it is not stored\nanywhere it could be read back; POST …/storage/password sets a new one.\n\nusedBytes is refreshed by the node periodically, not on this call. Readable while the\nservice is suspended. Any id that is not one of your storage services is a 404.

Authorization

apiToken storage:read
headerAuthorizationBearer <token>

A personal API token: Authorization: Bearer dh_live_…. See Authentication for scopes.

Scope: storage:read

Path Parameters

id*integer

The service id, as returned by GET /v1/services.

Response Body

The box.

application/json
  1. response
status*string

creating | active | suspended | error | deleting

errorCode*|

Why the box is in error. Null in every other status.

Value in"node_unreachable""out_of_capacity""unknown"null
quotaGb*integer

The plan's quota, which the node enforces, in GiB (2^30 bytes). More space means a bigger plan.

usedBytes*integer
usagePercent*number

0–100, one decimal.

protocols*

What the plan lets you switch on. sftp is always true.

protocolsInPlan*

What the plan lets you switch on. sftp is always true.

connection*
location*
passwordSetAt*|
Formatdate-time
migrating*boolean

The box is being moved to another server and is unreachable for the cut-over. Every write answers 400 box_not_ready until it clears; connection then already carries the new host and SSH host key fingerprint.

curl -X GET 'https://api.deluxhost.net/v1/services/0/storage' \  -H "Authorization: Bearer $DELUXHOST_TOKEN"
Example Response
{  "status": "string",  "errorCode": "node_unreachable",  "quotaGb": 0,  "usedBytes": 0,  "usagePercent": 0,  "protocols": {    "sftp": true,    "webdav": true,    "smb": true  },  "protocolsInPlan": {    "sftp": true,    "webdav": true,    "smb": true  },  "connection": {    "host": "string",    "username": "string",    "sftpPort": 0,    "webdavUrl": "string",    "smbPath": "string",    "sshHostKeyFingerprint": "string"  },  "location": {    "name": "string",    "country": "string",    "countryCode": "string"  },  "passwordSetAt": "2019-08-24T14:15:22Z",  "migrating": true}