Webhooks overview
Webhooks push Plane events to a URL you control.
The webhook object
Attributes
content_typestringThe content type.
created_atstring (date-time)When the record was created.
created_by_idstring (uuid)The user who created the record.
idstring (uuid)Unique identifier.
is_activebooleanWhether the record is active.
namestringDisplay name.
scopesarray of stringThe scopes.
urlstring (uri)Target URL.
versionstringVersion string, for example
1.4.0.
Response200
json
{
"content_type": "application/json",
"created_at": "2026-01-14T09:22:41.478363Z",
"created_by_id": "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
"id": "b7e42a19-3c5d-4f80-9a26-8d1c0f4e7b53",
"is_active": true,
"name": "Example name",
"scopes": ["example"],
"url": "https://example.com/spec",
"version": "1.4.0"
}Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v2/workspaces/{slug}/webhooks/ | List webhooks |
GET | /api/v2/workspaces/{slug}/webhooks/{pk}/ | Get a webhook |
POST | /api/v2/workspaces/{slug}/webhooks/ | Create a webhook |
PATCH | /api/v2/workspaces/{slug}/webhooks/{pk}/ | Update a webhook |
DELETE | /api/v2/workspaces/{slug}/webhooks/{pk}/ | Delete a webhook |
POST | /api/v2/workspaces/{slug}/webhooks/{pk}/regenerate/ | Regenerate a webhook secret |
Response shaping
Every webhook read accepts ?fields= for sparse responses — see Sparse fields. Errors follow the shared problem+json contract.

