---
title: "User Webhook Update"
method: PUT
path: "/user/webhook/{id}/"
tags: ["users"]
---

# User Webhook Update

`PUT /user/webhook/{id}/`

PUT handler with superadmin lock and field protection.

Same as patch() - checks lock and field protection before delegating.

## Path parameters

- `id` integer, required

## Headers

- `Authorization` string, required

## Request body

- WebhookUpdateRequest — For update operations - excludes secrets. Security: ``organization``/``project`` are read_only so a PATCH cannot move a webhook to another org; ``organization_key`` must stay within the webhook's own org (DEV-9908).
  - `url` string, uri, required
  - `name` string
  - `created` string, date-time
  - `event_type` union
    - 'request_log' | 'on_eval_result_ingested' | 'trace_completed' | 'customer_budget_limit_reached' | 'credit_low_balance_threshold_reached' | 'spend_cap_warning_threshold_reached' | 'limit_policy_soft_triggered' | 'limit_policy_hard_triggered' — * `request_log` - Request Log * `on_eval_result_ingested` - Evaluation Result * `trace_completed` - Trace Completed * `customer_budget_limit_reached` - Customer Budget Limit Reached * `credit_low_balance_threshold_reached` - Credit Low Balance Threshold Reached * `spend_cap_warning_threshold_reached` - Spend Cap Warning Threshold Reached * `limit_policy_soft_triggered` - Limit Policy Soft Triggered * `limit_policy_hard_triggered` - Limit Policy Hard Triggered
    - ''
  - `active` boolean
  - `organization_key` string, nullable

## Response `200`

- WebhookUpdate — For update operations - excludes secrets. Security: ``organization``/``project`` are read_only so a PATCH cannot move a webhook to another org; ``organization_key`` must stay within the webhook's own org (DEV-9908).
  - `id` integer, required
  - `project` string, nullable, required
  - `url` string, uri, required
  - `name` string
  - `created` string, date-time
  - `event_type` union
    - 'request_log' | 'on_eval_result_ingested' | 'trace_completed' | 'customer_budget_limit_reached' | 'credit_low_balance_threshold_reached' | 'spend_cap_warning_threshold_reached' | 'limit_policy_soft_triggered' | 'limit_policy_hard_triggered' — * `request_log` - Request Log * `on_eval_result_ingested` - Evaluation Result * `trace_completed` - Trace Completed * `customer_budget_limit_reached` - Customer Budget Limit Reached * `credit_low_balance_threshold_reached` - Credit Low Balance Threshold Reached * `spend_cap_warning_threshold_reached` - Spend Cap Warning Threshold Reached * `limit_policy_soft_triggered` - Limit Policy Soft Triggered * `limit_policy_hard_triggered` - Limit Policy Hard Triggered
    - ''
  - `active` boolean
  - `organization` integer, required
  - `organization_key` string, nullable

---

[API](https://skmtc.net/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.net/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/keywordsai/api-reference/versions/c26d550029f8/schema)
