Collections
A list of available Duda Webhook Events.
Collections
All webhooks related to collection events are listed below.
Collection Created
A notification is sent when a collection is created. A collection can be created inside the Duda editor or via the create collection API endpoint. Event type: COLLECTION_CREATED
{
"data": {
"name": "new_collection",
"fields": [
{
"name": "new field",
"type": "text"
}
],
"static_page_bindable": false,
"external_details": {
"enabled": false
}
},
"source": null,
"resource_data": {
"site_name": "db30fe2f"
},
"event_timestamp": 1732221902551,
"event_type": "COLLECTION_CREATED"
}| Name | Type | Description |
|---|---|---|
| data.name | string | The name of the collection |
| data.fields | array | List of collections fields and types |
| data.external_details | object | Object detailing whether the collection is internal or external |
Collection Updated
A notification is sent when a collection is updated. An update can be triggered inside the Duda editor or via the update collection API endpoint. Event type: COLLECTION_UPDATED
{
"data": {
"name": "updated_collection",
"fields": [
{
"name": "new field",
"type": "text"
}
],
"static_page_bindable": false,
"external_details": {
"enabled": false
}
},
"source": null,
"resource_data": {
"site_name": "db30fe2f"
},
"event_timestamp": 1732222655860,
"event_type": "COLLECTION_UPDATED"
}| Name | Type | Description |
|---|---|---|
| data.name | string | The name of the collection |
| data.fields | array | List of collections fields and types |
| data.external_details | object | Object detailing whether the collection is internal or external |
Collection Data Changed
A notification is sent when a collection's data is updated. A collection data update can be triggered inside the Duda editor or via the update collection row API endpoint. Event type: COLLECTION_DATA_CHANGED
Granular Row WebhooksWhen rows are added, updated, or deleted in user-defined collections, Duda emits the corresponding
COLLECTION_ROW_ADDED,COLLECTION_ROW_UPDATED, orCOLLECTION_ROW_DELETEDevent alongsideCOLLECTION_DATA_CHANGED. Operations that do not add, modify, or destroy rows (such as reordering rows or removing a field from all rows) emit onlyCOLLECTION_DATA_CHANGED.
{
"data": {
"collection_name": "updated_collection"
},
"source": null,
"resource_data": {
"site_name": "db30fe2f"
},
"event_timestamp": 1732222971476,
"event_type": "COLLECTION_DATA_CHANGED"
}| Name | Type | Description |
|---|---|---|
| data.collection_name | string | The name of the collection that had its data updated |
| resource_data.site_name | string | The name of the site that the collection had its data updated on |
Row StatusWhere collection row payloads are returned or referenced in event data, each internal collection row carries a
statusproperty (ACTIVE,PREVIEW, orDRAFT).
Collection Deleted
A notification is sent when a collection is deleted. A collection deletion can be triggered inside the Duda editor or via the delete collection API endpoint. Event type: COLLECTION_DELETED
"data": {
"name": "updated_collection"
},
"source": null,
"resource_data": {
"site_name": "db30fe2f"
},
"event_timestamp": 1732223181957,
"event_type": "COLLECTION_DELETED"
}| Name | Type | Description |
|---|---|---|
| data.collection_name | string | The name of the collection that was deleted |
| resource_data.site_name | string | The name of the site that the collection was deleted on |
Collection Row Added
A notification is sent when one or more rows are added to a collection. Event type: COLLECTION_ROW_ADDED
NoteEmitted only for user-defined collections (store/catalog and inner collections are excluded). A single event is emitted per API call or operation (such as a CSV import), containing all affected row IDs. This event is emitted alongside the generic
COLLECTION_DATA_CHANGEDevent.
{
"event_type": "COLLECTION_ROW_ADDED",
"data": {
"collection_name": "faqs",
"collection_id": "abc123",
"row_ids": [
"9d885461-f992-49da-b271-680a4ad69cf7"
],
"row_count": 1
},
"source": null,
"resource_data": {
"site_name": "<site_alias>",
"site_display_name": "<display_name>",
"default_domain": "<default_duda_domain>",
"domain": "<custom_domain>"
},
"event_timestamp": 1790148602165
}| Name | Type | Description |
|---|---|---|
| data.collection_name | string | The name of the collection. |
| data.collection_id | string | The collection's site-scoped ID. Unlike collection_name, it survives a collection rename. Key off this ID for a stable reference. |
| data.row_ids | array | An array of string IDs naming every row touched by the change. Bounded by the collection's row limit (siteCollection.internal.maxRows, 500 by default). |
| data.row_count | integer | The length of row_ids. |
| resource_data.site_name | string | The unique site name / alias. |
| resource_data.site_display_name | string | The display name of the site. |
| resource_data.default_domain | string | The default Duda domain of the site. |
| resource_data.domain | string | The custom domain assigned to the site. |
Collection Row Updated
A notification is sent when one or more rows in a collection are updated. Event type: COLLECTION_ROW_UPDATED
NoteCovers both editing a row and clearing an individual cell (because the row survives, clearing a cell is reported as an update, not a deletion). Emitted only for user-defined collections (store/catalog and inner collections are excluded). A single event is emitted per API call, containing all affected row IDs. This event is emitted alongside the generic
COLLECTION_DATA_CHANGEDevent.
{
"event_type": "COLLECTION_ROW_UPDATED",
"data": {
"collection_name": "faqs",
"collection_id": "abc123",
"row_ids": [
"9d885461-f992-49da-b271-680a4ad69cf7"
],
"row_count": 1
},
"source": null,
"resource_data": {
"site_name": "<site_alias>",
"site_display_name": "<display_name>",
"default_domain": "<default_duda_domain>",
"domain": "<custom_domain>"
},
"event_timestamp": 1790148602165
}| Name | Type | Description |
|---|---|---|
| data.collection_name | string | The name of the collection. |
| data.collection_id | string | The collection's site-scoped ID. Unlike collection_name, it survives a collection rename. Key off this ID for a stable reference. |
| data.row_ids | array | An array of string IDs naming every row touched by the change. Bounded by the collection's row limit (siteCollection.internal.maxRows, 500 by default). |
| data.row_count | integer | The length of row_ids. |
| resource_data.site_name | string | The unique site name / alias. |
| resource_data.site_display_name | string | The display name of the site. |
| resource_data.default_domain | string | The default Duda domain of the site. |
| resource_data.domain | string | The custom domain assigned to the site. |
Collection Row Deleted
A notification is sent when one or more rows are deleted from a collection. Event type: COLLECTION_ROW_DELETED
NoteCarries row IDs only. A deleted row cannot be read back through the API, so consumers should reconcile these IDs against rows they already track. Emitted only for user-defined collections (store/catalog and inner collections are excluded). A single event is emitted per API call, containing all affected row IDs. This event is emitted alongside the generic
COLLECTION_DATA_CHANGEDevent.
{
"event_type": "COLLECTION_ROW_DELETED",
"data": {
"collection_name": "faqs",
"collection_id": "abc123",
"row_ids": [
"9d885461-f992-49da-b271-680a4ad69cf7"
],
"row_count": 1
},
"source": null,
"resource_data": {
"site_name": "<site_alias>",
"site_display_name": "<display_name>",
"default_domain": "<default_duda_domain>",
"domain": "<custom_domain>"
},
"event_timestamp": 1790148602165
}| Name | Type | Description |
|---|---|---|
| data.collection_name | string | The name of the collection. |
| data.collection_id | string | The collection's site-scoped ID. Unlike collection_name, it survives a collection rename. Key off this ID for a stable reference. |
| data.row_ids | array | An array of string IDs naming every row touched by the change. Bounded by the collection's row limit (siteCollection.internal.maxRows, 500 by default). |
| data.row_count | integer | The length of row_ids. |
| resource_data.site_name | string | The unique site name / alias. |
| resource_data.site_display_name | string | The display name of the site. |
| resource_data.default_domain | string | The default Duda domain of the site. |
| resource_data.domain | string | The custom domain assigned to the site. |
Updated about 16 hours ago