---
title: "Set the hidden service's hardening profile"
method: POST
path: "/platform/deployments/{id}/onion/profile"
tags: ["Platform"]
---

# Set the hidden service's hardening profile

`POST /platform/deployments/{id}/onion/profile`

## Request

- Base URL: `https://api.imprezahost.com/v1`
- URL: `https://api.imprezahost.com/v1/platform/deployments/{id}/onion/profile`
- Auth: API key in header `X-API-Key` and API key in header `X-API-Secret`

Sets the protection tier of the deployment's onion service:
`standard` (intro-point DoS defenses), `hardened` (+ stream
limits), `max` (+ Tor proof-of-work defenses; refused with 422
when the running Tor does not report the pow module). The agent
applies it with a Tor reload (SIGHUP) — the address never
changes. Requires the `manage` scope and an agent announcing
`onion-profile-v1`.

## Path parameters

- `id` string, required

## Request body

- object
  - `profile` 'standard' | 'hardened' | 'max', required

## Response `200`

Profile stored and applied on the agent's next check-in.

## Other responses

- `400`: Invalid tier, or profile sent for a deployment without an onion.
- `401`: Invalid or missing API credentials
- `404`: Resource not found
- `422`: Agent does not announce onion-profile-v1 (or the running Tor lacks pow for max).

---

[API](https://skmtc.dev/imprezahost/apis/impreza-host-public-api.md) · [All operations](https://skmtc.dev/imprezahost/apis/impreza-host-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/imprezahost/apis/impreza-host-public-api/revisions/db86511f604f?raw)
