---
title: "Update a hook"
method: PATCH
path: "/v1/hooks/{hook_id}"
tags: ["Hooks"]
---

# Update a hook

`PATCH /v1/hooks/{hook_id}`

Updates an existing hook configuration

## Path parameters

- `hook_id` string, required

## Request body

- SchemasPatchHookRequest
  - `failure_mode` 'fail_closed' | 'fail_open'
  - `phase` 'before' | 'after'
  - `priority` integer
  - `status` 'inactive' | 'active'
  - `timeout_ms` integer

## Response `200`

OK

- SchemasHookResponse
  - `cache_enabled` boolean
  - `cache_ttl_ms` integer
  - `created_at` string
  - `failure_mode` 'fail_closed' | 'fail_open'
  - `hook_point` string
  - `id` string
  - `name` string
  - `phase` 'before' | 'after'
  - `plugin_id` string
  - `priority` integer
  - `status` 'inactive' | 'active'
  - `timeout_ms` integer
  - `updated_at` string
  - `version` integer

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-02-06** `b0c6cc68de34` — 2 info
  - added the optional property `cache_enabled` to the response with the `200` status
  - added the optional property `cache_ttl_ms` to the response with the `200` status
- **2026-01-24** `ba1aa76b5489` — 1 info
  - the `priority` request property's min was decreased from `1.00` to `0.00`
- **2026-01-17** `26fe911710c2` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/arcadeai/apis/arcade-api/changes/v1/hooks/:hook_id/patch.md)

---

[API](https://skmtc.dev/arcadeai/apis/arcade-api.md) · [All operations](https://skmtc.dev/arcadeai/apis/arcade-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/arcadeai/arcade-api/revisions/a509111298b2/schema)
