v3

OpenAPI 3.1.02026-07-3182354.4 KB

Update webhook endpoint

patch/v1/webhook-endpoints/{webhook_endpoint_id}

Path parameters

webhook_endpoint_idstring required

The ID of the webhook endpoint

Example:whe_2mKr8fQxLp7Ta3

Request body

urlstring uri

The publicly reachable HTTPS URL to deliver events to. Omit to leave unchanged.

scopesstring[]

Which notes to receive events for; replaces the current scopes. personal covers notes you own, notes shared directly with you, and notes in private folders shared with you. public covers notes visible to everyone in the workspace. Pass both for both sets of notes. Workspace admins can disable scopes for non-admin members in the workspace's API settings. Omit to leave unchanged.

eventsstring[]

Event names to subscribe to; replaces the current subscriptions. Omit to leave unchanged.

folder_idsstring[]

Restrict delivery to notes in these folders or any of their subfolders; replaces the current folder filter. Accepts folder IDs returned by GET /v1/folders. Pass an empty array to remove the filter. Omit to leave unchanged.

enabledboolean

Pause (false) or resume (true) event deliveries. A paused endpoint keeps its configuration and signing secret; events that occur while paused are not delivered later. Omit to leave unchanged.

Example request

{
  "url": "https://example.com/granola-webhooks",
  "scopes": [
    "personal",
    "public"
  ],
  "events": [
    "note.access_granted",
    "note.edited",
    "note.generated",
    "note.regenerated"
  ],
  "folder_ids": [
    "fol_2mKr8fQxLp7Ta3"
  ],
  "enabled": true
}

Response

The updated webhook endpoint

idstring required

The ID of the webhook endpoint

object'webhook_endpoint' required
urlstring uri required

The HTTPS URL deliveries are sent to. When url_redacted is true, reduced to the URL's origin.

url_redactedboolean required

True when this response reduces url to its origin because the caller is not the endpoint's creator (the path can carry credentials). Orphaned endpoints whose creator account was deleted are returned unredacted so they can be cleaned up.

eventsstring[] required

The event names this endpoint is subscribed to

folder_idsstring[] required

Folder IDs this endpoint's delivery is restricted to, or an empty array when unrestricted. Events fire only for notes in these folders or their subfolders.

scopesstring[] required

Which notes this endpoint receives events for. personal covers notes the creating user owns, notes shared directly with them, and notes in private folders shared with them. public covers notes visible to everyone in the workspace.

enabledboolean required

Whether deliveries are active

created_atstring date-time required

The creation time of the webhook endpoint

Example response

{
  "id": "whe_2mKr8fQxLp7Ta3",
  "url": "https://example.com/granola-webhooks",
  "events": [
    "note.access_granted",
    "note.edited",
    "note.generated",
    "note.regenerated"
  ],
  "folder_ids": [],
  "scopes": [
    "personal",
    "public"
  ],
  "created_by": {
    "name": "Oat Benson",
    "email": "oat@granola.ai"
  },
  "enabled": true,
  "created_at": "2026-01-27T15:30:00Z"
}