---
title: "updateCacheRule"
description: "Update cache rule"
canonical: "https://pgbeam.com/docs/ts-sdk/projects/updateCacheRule"
last-updated: "2026-09-14T19:37:21.000Z"
---

# updateCacheRule

> Update cache rule

URL: https://pgbeam.com/docs/ts-sdk/projects/updateCacheRule

Enable or disable caching for a specific query shape, with optional TTL and SWR overrides. Requires the query to exist in the cache rules.

## Usage

## Parameters

Parameter

Type

Required

Description

pathParams.project\_id

`string`

Yes

Unique project identifier (prefixed, e.g. prj\_xxx).

pathParams.database\_id

`string`

Yes

Unique database identifier (prefixed, e.g. db\_xxx).

pathParams.query\_hash

`string`

Yes

xxhash64 hex of the normalized SQL.

body.cache\_enabled

`boolean`

Yes

Whether to enable caching for this query shape.

body.cache\_ttl\_seconds

`number`

No

TTL override in seconds. Null to use project default.

body.cache\_swr\_seconds

`number`

No

SWR override in seconds. Null to use project default.

## Response

`Promise<UpdateCacheRuleResponse>`: cache rule updated.

## Example

## Errors

Status

Description

400

The request was rejected. `code` is `INVALID_INPUT`, and `errors` names the offending fields when the failure was a validation one.

401

Missing or invalid authentication. `code` is `UNAUTHORIZED`.

403

The caller is authenticated but not allowed to perform this operation. `code` is `FORBIDDEN` when the caller's role is insufficient, and `PLAN_LIMIT_REACHED` when the organization's plan is what stands in the way. The two are answered differently, so branch on the code rather than the status.

404

The resource does not exist, or the caller is not entitled to know that it does. `code` is `NOT_FOUND`.

413

The request body exceeds the 2 MB limit. `code` is `PAYLOAD_TOO_LARGE`.

415

The request body is not JSON, or carries a body without declaring a Content-Type. `code` is `UNSUPPORTED_MEDIA_TYPE`.

429

Rate limited. `code` is `RATE_LIMITED`.

500

The request failed for a reason on our side. `code` is `INTERNAL_ERROR`. Quote `request_id` when reporting it.