Access & visibility
Allow webhooks.ListWebhookSubscriptions on your API key.
Workspace access by default. Private member data requires approved member delegation through Brigg-Act-As; the key supplies permissions while private ownership and project boundaries remain enforced.
Request fields
Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.
eventstringOptionalEvent name. Supported values: meeting.completed, resource.created, resource.updated, resource.deleted. See the event reference for payloads and delivery contracts.
Response
Returns 200 OK with a JSON body.
This operation has no continuation cursor. An empty items array means no matching visible results were returned.
itemsarray of Webhook subscriptionRequiredSubscriptions accessible under the credential's operation and resource grants, optionally filtered by event. This operation has no cursor pagination.
Item fields
webhook_idstringRequiredIdentifier of the approved webhook subscription. After administrator approval, discover it with webhooks.ListWebhookSubscriptions using a credential with read access to every selected resource type. It is different from an event ID or delivery ID.
eventstringRequiredEvent name. Supported values: meeting.completed, resource.created, resource.updated, resource.deleted. See the event reference for payloads and delivery contracts.
resource_typesarray of stringRequiredExplicit resource type identifiers, such as core:Company or a workspace app's qualified type. Discover the exact values from resource on the record operations returned by GET /v1/operations using a key with access to those records. These are resource types, not app names or operation namespaces. Required and non-empty for resource.created, resource.updated and resource.deleted; omit for legacy meeting.completed. Only selected, published shared types are included; new types are never added automatically. See webhook resource selection.
enabledbooleanRequiredWhether this subscription may receive deliveries. It does not confirm that its endpoint is healthy.
created_atnumberRequiredCreation time in Unix milliseconds.
last_delivered_atnumber or nullRequiredMost recent successful delivery time in Unix milliseconds, or null before a successful delivery.
Errors & retries
This operation reads data. It needs no idempotency key and can be retried after a transient failure.
For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.
| HTTP status | Code | What to do |
|---|---|---|
| 400 | invalid_json |
Send a JSON object with Content-Type: application/json. |
| 400 | invalid_input |
Check the request fields and types. |
| 401 | invalid_key |
The workspace API key is missing, invalid or revoked. |
| 403 | forbidden |
Check the key’s operation and resource grants. If Brigg-Act-As is supplied, the key must be authorized to delegate to that member. |
| 404 | not_found |
The requested operation or resource is not available to this credential. |
| 429 | rate_limited |
Wait for Retry-After before retrying. |
Next steps
JSON schemas
Use the complete schemas for validation or client generation.
Full request JSON schema
{
"type": "object",
"properties": {
"event": {
"type": "string",
"description": "Event name. Supported values: `meeting.completed`, `resource.created`, `resource.updated`, `resource.deleted`. See the [event reference](/developers/events) for payloads and delivery contracts."
}
},
"additionalProperties": false,
"examples": [
{}
]
}Full response JSON schema
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"webhook_id": {
"type": "string",
"description": "Identifier of the approved webhook subscription. After administrator approval, discover it with `webhooks.ListWebhookSubscriptions` using a credential with read access to every selected resource type. It is different from an event ID or delivery ID.",
"examples": [
"webhook_crm"
]
},
"event": {
"type": "string",
"description": "Event name. Supported values: `meeting.completed`, `resource.created`, `resource.updated`, `resource.deleted`. See the [event reference](/developers/events) for payloads and delivery contracts.",
"examples": [
"resource.updated"
]
},
"resource_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Explicit resource type identifiers, such as `core:Company` or a workspace app's qualified type. Discover the exact values from `resource` on the record operations returned by `GET /v1/operations` using a key with access to those records. These are resource types, not app names or operation namespaces. Required and non-empty for `resource.created`, `resource.updated` and `resource.deleted`; omit for legacy `meeting.completed`. Only selected, published shared types are included; new types are never added automatically. See [webhook resource selection](/developers/webhooks#choose-resource-types).",
"examples": [
[
"core:Company"
]
]
},
"enabled": {
"type": "boolean",
"description": "Whether this subscription may receive deliveries. It does not confirm that its endpoint is healthy.",
"examples": [
true
]
},
"created_at": {
"type": "number",
"description": "Creation time in Unix milliseconds."
},
"last_delivered_at": {
"type": [
"number",
"null"
],
"description": "Most recent successful delivery time in Unix milliseconds, or null before a successful delivery.",
"examples": [
null
]
}
},
"required": [
"webhook_id",
"event",
"resource_types",
"enabled",
"created_at",
"last_delivered_at"
],
"additionalProperties": false,
"title": "Webhook subscription"
},
"description": "Subscriptions accessible under the credential's operation and resource grants, optionally filtered by event. This operation has no cursor pagination."
}
},
"required": [
"items"
],
"additionalProperties": false,
"examples": [
{
"items": [
{
"webhook_id": "webhook_crm",
"event": "resource.updated",
"resource_types": [
"core:Company"
],
"enabled": true,
"created_at": 1794301200000,
"last_delivered_at": null
}
]
}
]
}