---
title: "Updates an existing notification."
method: PATCH
path: "/api/v1/notifications/{notification_id}"
tags: ["Notifications"]
---

# Updates an existing notification.

`PATCH /api/v1/notifications/{notification_id}`

## Path parameters

- `notification_id` string, required

## Request body

- NotificationUpdateRequest — Request structure for updating an existing notification
  - `signing_key` string, nullable — Optional signing key for securing webhook notifications. - None: don't change the existing signing key - Some(""): remove the signing key - Some("key"): set the signing key to the provided value
  - `type` 'webhook' — Notification type enum used by both config file and API
  - `url` string

## Response `200`

Notification updated successfully

- ApiResponseNotificationResponse
  - `data` object — Response structure for notification API endpoints
    - `has_signing_key` boolean, required — Signing key is hidden in responses for security
    - `id` string, required
    - `type` 'webhook', required — Notification type enum used by both config file and API
    - `url` string, required
  - `error` string
  - `metadata` PluginMetadata
    - `logs` LogEntry[], nullable
      - `level` 'log' | 'info' | 'error' | 'warn' | 'debug' | 'result', required
      - `message` string, required
    - `traces` unknown[], nullable
      - unknown
  - `pagination` PaginationMeta
    - `current_page` integer, required
    - `per_page` integer, required
    - `total_items` integer, required
  - `success` boolean, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Notification not found
- `500` — Internal Server Error

---

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