---
title: "Enable, disable, mark seen, or configure delivery metadata for one saved-search alert."
method: PATCH
path: "/api/saved-searches/{searchId}/alert"
tags: ["Library", "Agents"]
---

# Enable, disable, mark seen, or configure delivery metadata for one saved-search alert.

`PATCH /api/saved-searches/{searchId}/alert`

## Request

- Base URL: `https://huggingbay.xyz`
- URL: `https://huggingbay.xyz/api/saved-searches/{searchId}/alert`
- Auth: HTTP bearer

Use this endpoint from UI controls or AI agents to acknowledge the current result window for a saved catalog watchlist. Browser/API digest delivery is active; email and webhook targets are stored as authenticated account metadata for approved sender workers.

**Inputs.** Path, query and header fields are listed below. The request body schema lists accepted fields and required values.

**Outputs.** See each status below for its media type, schema and headers. A missing record or unavailable capability is not a successful empty result.

**Errors.** API JSON failures use the documented response schema. Read code, message and next; retry only when the response allows it. Auth, invalid input and missing records need a caller change.

**Rate limits.** Write and protocol operations can have separate route-specific limits. Read Retry-After and retry_after_s when present; do not infer a write allowance from the public read budget.

**Example setup.** Use an identifier returned by the matching list, search or create operation. Sample identifiers are not a promise that a record exists. Set HUGGING_BAY_TOKEN to a credential with the role or scope stated by this operation. Reader tokens do not grant publisher or operator rights. This example is not executed by documentation checks. Review the operation and obtain any required user consent before sending it.

## Path parameters

- `searchId` string, required

## Request body

- object
  - `enabled` boolean
  - `markRead` boolean
  - `delivery` object
    - `browser` object
    - `apiDigest` object
    - `webhook` object
    - `email` object
  - `previewLimit` integer

## Response `200`

Updated saved search

- SavedSearch
  - `id` string, required
  - `label` string, required
  - `filters` object, required
    - `query` string, required
    - `types` string[], required
    - `license` string
    - `task` string
    - `framework` string
    - `format` string
    - `worksWith` string
    - `owner` string
    - `source` string
    - `hosting` string
    - `reviewStatus` '' | 'first-review' | 'needs-evidence' | 'reviewed' | 'benchmark'
    - `scanStatus` string
    - `minCardCompleteness` string
    - `verifiedOnly` boolean
    - `commercialOnly` boolean
    - `semanticMode` boolean
  - `sortKey` 'best' | 'ready' | 'mirrorable' | 'trust' | 'updated' | 'downloads' | 'stars' | 'mirrors' | 'name' | 'size' | 'license', required
  - `route` string, required
  - `browserPath` string, required
  - `apiPath` string, required
  - `resultCount` number, required
  - `savedAt` string, required
  - `updatedAt` string
  - `notificationsEnabled` boolean
  - `alert` SavedSearchAlert (unresolved $ref)
  - `alertState` SavedSearchAlertState (unresolved $ref)

## Other responses

- `403`: Reader, publisher, or admin token required
- `404`: Saved search not found

---

[API](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api.md) · [All operations](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api/revisions/63c474bf0fe4?raw)
