Skip to content

Disable DDoS scrubbing

DELETE /api/v2/vps/{id}/ddos-scrubbing

Stop DDoS scrubbing for the VPS’s primary IPv4 address. This ends a timed session early. It also switches off always-on scrubbing. The call answers 200 even when nothing was active. The response has the shape of GET /api/v2/vps/{id}/ddos-scrubbing with active: false. Its networkMitigation.status is always unknown. Read the GET endpoint for the verified state.

Authentication: An API key with the scope write:vm. About keys and scopes

Request

Path parameters

idstringrequired
The VPS ID (vps_…).

Example

DELETE /api/v2/vps/{id}/ddos-scrubbing
curl -X DELETE "https://cloud.hostup.se/api/v2/vps/vps_01hxa3b4c5d6e7f8g9h0j1k2m3/ddos-scrubbing" \
-H "Authorization: Bearer $HOSTUP_API_KEY"

Responses

200 Scrubbing stopped.

Response 200
{
"available": true,
"reason": null,
"ip": "192.0.2.10",
"active": false,
"durationSeconds": null,
"createdAt": null,
"expiresAt": null,
"networkMitigation": {
"status": "unknown",
"action": null,
"automatic": null,
"createdAt": null,
"expiresAt": null
}
}
Response fields
availableboolean
True after a successful stop.
reasonstring or null
Always null after a successful stop.
ipstring or null
The address scrubbing was stopped for.
activeboolean
False after the call.
durationSecondsinteger or null
Always null in this response.
createdAtstring or null
Always null in this response.
expiresAtstring or null
Always null in this response.
networkMitigationobject
Always status: "unknown" in this response. Read GET /api/v2/vps/{id}/ddos-scrubbing for the verified state.
statusstring
active when protection is on. none when checked and clear. unknown when it could not be checked, which never means clear. One of active, none, unknown.
actionstring or null
blackhole: all internet traffic to the address is dropped. scrub: traffic is filtered before it reaches the VPS. Null unless status is active. One of blackhole, scrub.
automaticboolean or null
False for a session started from the client area or the API. True otherwise, for example the automatic response to an attack. Null when unknown.
createdAtstring or null
When it started. Null when unknown.
expiresAtstring or null
When it ends by itself. Null when it has no end or is unknown.

Errors

Errors are Problem Details with a stable code. Branch on the code, not on the text.

400Invalid request. The response body is an RFC 7807 Problem Details document.
401Unauthorized. Authentication is required.
403Forbidden. The caller lacks a required scope or does not own the resource.
404Not found. The resource does not exist or is not owned by the caller; code is vps_not_found.
429Rate limited. Retry after the limit resets. 429 responses include Retry-After seconds plus X-RateLimit-* headers.
500Internal error. Retry later or contact support if the issue persists.