Skip to main content
PATCH
Update webhook endpoint

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

webhook_endpoint_id
string
required

The ID of the webhook endpoint

Pattern: ^whe_[a-zA-Z0-9]{14}$
Example:

"whe_2mKr8fQxLp7Ta3"

Body

application/json
url
string<uri>

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

Example:

"https://example.com/granola-webhooks"

scopes
enum<string>[]

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.

Minimum array length: 1
Available options:
personal,
public
Example:
events
enum<string>[]

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

Minimum array length: 1
Available options:
note.access_granted,
note.edited,
note.generated,
note.regenerated
Example:
enabled
boolean

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:

true

Response

The updated webhook endpoint

id
string
required

The ID of the webhook endpoint

Pattern: ^whe_[a-zA-Z0-9]{14}$
Example:

"whe_2mKr8fQxLp7Ta3"

object
enum<string>
required
Available options:
webhook_endpoint
url
string<uri>
required

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

Example:

"https://example.com/granola-webhooks"

url_redacted
boolean
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.

Example:

false

events
enum<string>[]
required

The event names this endpoint is subscribed to

Available options:
note.access_granted,
note.edited,
note.generated,
note.regenerated
Example:
folder_ids
string[]
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.

Pattern: ^fol_[a-zA-Z0-9]{14}$
Example:
scopes
enum<string>[]
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.

Available options:
personal,
public
Example:
created_by
object
required

The user who created this endpoint.

Example:
enabled
boolean
required

Whether deliveries are active

Example:

true

created_at
string<date-time>
required

The creation time of the webhook endpoint

Example:

"2026-01-27T15:30:00Z"