Get Storage Box details
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.
apiToken storage:readAuthorizationBearer <token>A personal API token: Authorization: Bearer dh_live_…. See Authentication for scopes.
Scope: storage:read
id*integerThe service id, as returned by GET /v1/services.
The box.
application/json- response
status*stringcreating | active | suspended | error | deleting
errorCode*|Why the box is in error. Null in every other status.
"node_unreachable""out_of_capacity""unknown"nullquotaGb*integerThe plan's quota, which the node enforces, in GiB (2^30 bytes). More space means a bigger plan.
usedBytes*integerusagePercent*number0–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*|date-timemigrating*booleanThe 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"{ "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}Get game server details GET
Update storage access protocols PATCH
Send only the fields to change. Turning one off is always allowed and ends its open\nsessions; turning WebDAV or SMB on needs a plan that includes it (`400`,\n`details.code: not_in_plan`). An empty body changes nothing and returns the box.