---
title: "uptimeify_escalation_config"
description: "The organization's escalation webhook (one per organization; organization token with write access). Creating it adopts the stored configuration and applies the configured values. The webhook URL also drives the organization webhook channel (Organization Webhook), so do not manage that channel as uptimeify_notification_channel too. Destroying it sets is_active = false and clears the URL, which deactivates the organization-level webhook channels; the row stays. Import with the organization id."
---

The organization's escalation webhook (one per organization; organization token with write access). Creating it adopts the stored configuration and applies the configured values. The webhook URL also drives the organization webhook channel (`Organization Webhook`), so do not manage that channel as `uptimeify_notification_channel` too. Destroying it sets `is_active = false` and clears the URL, which deactivates the organization-level webhook channels; the row stays. Import with the organization id.

## Example Usage

```terraform
variable "escalation_token" {
  type      = string
  sensitive = true
}

resource "uptimeify_escalation_config" "this" {
  webhook_url           = "https://hooks.example.com/uptimeify"
  webhook_method        = "POST"
  webhook_timeout       = 10
  expected_status_codes = "200,202,204"
  is_active             = true

  webhook_headers_wo         = { "X-Api-Token" = var.escalation_token }
  webhook_headers_wo_version = 1
}
```

## Schema

### Optional

> **NOTE**: [Write-only arguments](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments) are supported in Terraform 1.11 and later.

- `expected_status_codes` (String) Comma-separated, e.g. `200,201,202,204`. Unset = keep.
- `is_active` (Boolean)
- `organization_id` (Number) Unset = the token's organization.
- `webhook_body_template` (String) JSON template with placeholders such as `{{websiteName}}`. Unset = keep.
- `webhook_headers_wo` (Map of String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)) Write-only request headers (they may carry tokens). Sent with create and whenever `webhook_headers_wo_version` changes; replaces all stored headers. Authorization, Cookie, Host, X-Forwarded-* and Proxy-* are refused by the API.
- `webhook_headers_wo_version` (Number) Change to resend `webhook_headers_wo`.
- `webhook_method` (String) `POST`, `PUT` or `PATCH`. Unset = keep (default `POST`).
- `webhook_retry_attempts` (Number) 0 to 10. Unset = keep (default 3).
- `webhook_retry_delay` (Number) Seconds, 0 to 60. Unset = keep (default 60).
- `webhook_timeout` (Number) Seconds, 1 to 30. Unset = keep (default 30).
- `webhook_url` (String) Target URL (http/https, must resolve to a public address). Give it normalized (as `new URL()` prints it, e.g. with the trailing `/` of a bare host). Unset clears it and switches the organization webhook channel off.

### Read-Only

- `id` (String) The organization id.

## Import

Import is supported using the following syntax:

The [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import) can be used, for example:

```shell
# The organization id
terraform import uptimeify_escalation_config.this 2
```
