---
updatedAt: 2026-05-22T20:01:41.000Z
agentTools:
  projectIndex: https://cloud.docs.tamr.com/llms.txt
---

# curation events

Post curation events in real time.

In the Payload section on the right, you can review payload examples for these events:

* A suggested duplicate item is opened, setting the status to `QUEUE_ITEM_STATUS_OPEN`
* Curator dismisses an item without action, setting the status to `QUEUE_ITEM_STATUS_CLOSED`
* Curator applies a suggested merge, setting the status to `QUEUE_ITEM_STATUS_CLOSED`
* Curator applies a suggested edit, setting the status to `QUEUE_ITEM_STATUS_CLOSED`

<br />

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Events",
    "version": "v1alpha2"
  },
  "webhooks": {
    "/webhooks/v1alpha2/curationEvents": {
      "post": {
        "summary": "curation events",
        "description": "Post curation events in real time.",
        "operationId": "Webhooks_CurationEvents",
        "requestBody": {
          "description": "Webhook payload for curation events, e.g. a queue item is created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurationEvent"
              },
              "examples": {
                "ItemOpen": {
                  "summary": "Suggested duplicate item created, awaiting review",
                  "description": "status is QUEUE_ITEM_STATUS_OPEN when the item is first created or has been reopened after being closed.",
                  "value": {
                    "id": "5a6f82da-bf51-4d52-944a-11feb4ab333e",
                    "source": "<tenant-subdomain>/webhooks/i893ced8-c07c-4a79-8d52-ee55573a639c",
                    "time": "2026-03-25T20:34:29.110Z",
                    "type": "tamr.api.queues.v1alpha2.CurationEvent",
                    "specVersion": "1.0",
                    "dataContentType": "application/json",
                    "data": {
                      "projectId": "p_w9frUL3zFrOA13JPnbqDsYeozGgA",
                      "item": {
                        "itemId": "item_lDiK6X6sIIu07qG9kkLn4TAW0KeR",
                        "queueId": "q_29302jdd29302jdd",
                        "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                        "status": "QUEUE_ITEM_STATUS_OPEN",
                        "createTime": "2026-03-25T20:34:29.110Z",
                        "updateTime": "2026-03-25T20:34:29.110Z",
                        "createdBy": {
                          "userId": "u_23fvf32",
                          "email": "reviewer@example.com"
                        },
                        "updatedBy": {
                          "userId": "u_23fvf32",
                          "email": "reviewer@example.com"
                        },
                        "suggestedDuplicate": {
                          "primaryRecord": {
                            "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                            "recordId": "rec_1O7barfHu4MpmCL3tDPztfoQMNgA",
                            "versionId": "5101658922142470993"
                          },
                          "candidateRecord": {
                            "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                            "recordId": "rec_8Xp2mRkJT9nqWvLcbQRstfoQMNgA",
                            "versionId": "5101658922142470994"
                          },
                          "matchType": "SEARCH_MATCH"
                        },
                        "actions": []
                      }
                    }
                  }
                },
                "ItemClosedDismissed": {
                  "summary": "Item closed with no action (dismissed)",
                  "description": "status is QUEUE_ITEM_STATUS_CLOSED and actions is empty when a reviewer closed the item without taking any action.",
                  "value": {
                    "id": "7a8b93ec-cf62-5e63-a55b-22bec5bc444f",
                    "source": "<tenant-subdomain>/webhooks/i893ced8-c07c-4a79-8d52-ee55573a639c",
                    "time": "2026-04-01T09:15:00.000Z",
                    "type": "tamr.api.queues.v1alpha2.CurationEvent",
                    "specVersion": "1.0",
                    "dataContentType": "application/json",
                    "data": {
                      "projectId": "p_w9frUL3zFrOA13JPnbqDsYeozGgA",
                      "item": {
                        "itemId": "item_lDiK6X6sIIu07qG9kkLn4TAW0KeR",
                        "queueId": "q_29302jdd29302jdd",
                        "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                        "status": "QUEUE_ITEM_STATUS_CLOSED",
                        "createTime": "2026-03-25T20:34:29.110Z",
                        "updateTime": "2026-04-01T09:15:00.000Z",
                        "createdBy": {
                          "userId": "u_23fvf32",
                          "email": "reviewer@example.com"
                        },
                        "updatedBy": {
                          "userId": "u_56ghi89",
                          "email": "manager@example.com"
                        },
                        "suggestedDuplicate": {
                          "primaryRecord": {
                            "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                            "recordId": "rec_1O7barfHu4MpmCL3tDPztfoQMNgA",
                            "versionId": "5101658922142470993"
                          },
                          "candidateRecord": {
                            "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                            "recordId": "rec_8Xp2mRkJT9nqWvLcbQRstfoQMNgA",
                            "versionId": "5101658922142470994"
                          },
                          "matchType": "SEARCH_MATCH"
                        },
                        "actions": []
                      }
                    }
                  }
                },
                "ItemClosedMerged": {
                  "summary": "Item closed after reviewer merged two records",
                  "description": "status is QUEUE_ITEM_STATUS_CLOSED and actions contains a mergeRecords entry when a reviewer confirmed the duplicate and merged the records.",
                  "value": {
                    "id": "9c0d04fd-d073-6f74-b66c-33bfd6cd555a",
                    "source": "<tenant-subdomain>/webhooks/i893ced8-c07c-4a79-8d52-ee55573a639c",
                    "time": "2026-04-01T09:20:00.000Z",
                    "type": "tamr.api.queues.v1alpha2.CurationEvent",
                    "specVersion": "1.0",
                    "dataContentType": "application/json",
                    "data": {
                      "projectId": "p_w9frUL3zFrOA13JPnbqDsYeozGgA",
                      "item": {
                        "itemId": "item_lDiK6X6sIIu07qG9kkLn4TAW0KeR",
                        "queueId": "q_29302jdd29302jdd",
                        "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                        "status": "QUEUE_ITEM_STATUS_CLOSED",
                        "createTime": "2026-03-25T20:34:29.110Z",
                        "updateTime": "2026-04-01T09:20:00.000Z",
                        "createdBy": {
                          "userId": "u_23fvf32",
                          "email": "reviewer@example.com"
                        },
                        "updatedBy": {
                          "userId": "u_56ghi89",
                          "email": "manager@example.com"
                        },
                        "suggestedDuplicate": {
                          "primaryRecord": {
                            "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                            "recordId": "rec_1O7barfHu4MpmCL3tDPztfoQMNgA",
                            "versionId": "5101658922142470993"
                          },
                          "candidateRecord": {
                            "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                            "recordId": "rec_8Xp2mRkJT9nqWvLcbQRstfoQMNgA",
                            "versionId": "5101658922142470994"
                          },
                          "matchType": "SEARCH_MATCH"
                        },
                        "actions": [
                          {
                            "actionId": "act_29302jdd2",
                            "createTime": "2026-04-01T09:20:00.000Z",
                            "user": {
                              "userId": "u_56ghi89",
                              "email": "manager@example.com"
                            },
                            "mergeRecords": {
                              "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                              "toRecordId": "rec_1O7barfHu4MpmCL3tDPztfoQMNgA",
                              "toRecordVersionId": "5101658922142470993",
                              "fromRecordId": "rec_8Xp2mRkJT9nqWvLcbQRstfoQMNgA",
                              "fromRecordVersionId": "5101658922142470994"
                            },
                            "result": {
                              "resultRecordId": "rec_1O7barfHu4MpmCL3tDPztfoQMNgA",
                              "resultVersionId": "5101658922142470995"
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                "ItemClosedEditApplied": {
                  "summary": "Edit record item closed after reviewer applied the edit",
                  "description": "status is QUEUE_ITEM_STATUS_CLOSED and actions contains an applyEdit entry when a reviewer applied a suggested field-level edit to a record.",
                  "value": {
                    "id": "1e2f15ae-e184-4b85-c77d-44abe7de666c",
                    "source": "<tenant-subdomain>/webhooks/i893ced8-c07c-4a79-8d52-ee55573a639c",
                    "time": "2026-04-02T11:05:00.000Z",
                    "type": "tamr.api.queues.v1alpha2.CurationEvent",
                    "specVersion": "1.0",
                    "dataContentType": "application/json",
                    "data": {
                      "projectId": "p_w9frUL3zFrOA13JPnbqDsYeozGgA",
                      "item": {
                        "itemId": "item_mEjL7Y7tJJv18rH0llMo5UBX1LfS",
                        "queueId": "q_29302jdd29302jdd",
                        "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                        "status": "QUEUE_ITEM_STATUS_CLOSED",
                        "createTime": "2026-04-02T10:00:00.000Z",
                        "updateTime": "2026-04-02T11:05:00.000Z",
                        "createdBy": {
                          "userId": "u_23fvf32",
                          "email": "reviewer@example.com"
                        },
                        "updatedBy": {
                          "userId": "u_56ghi89",
                          "email": "manager@example.com"
                        },
                        "editRecord": {
                          "recordId": "rec_1O7barfHu4MpmCL3tDPztfoQMNgA",
                          "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                          "expectedVersionId": "5101658922142470993"
                        },
                        "actions": [
                          {
                            "actionId": "act_39413kee3",
                            "createTime": "2026-04-02T11:05:00.000Z",
                            "user": {
                              "userId": "u_56ghi89",
                              "email": "manager@example.com"
                            },
                            "applyEdit": {
                              "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
                              "recordId": "rec_1O7barfHu4MpmCL3tDPztfoQMNgA",
                              "expectedVersionId": "5101658922142470993"
                            },
                            "result": {
                              "resultRecordId": "rec_1O7barfHu4MpmCL3tDPztfoQMNgA",
                              "resultVersionId": "5101658922142470996"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the event was received successfully."
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CurationEvent": {
        "type": "object",
        "required": [
          "id",
          "source",
          "time",
          "type",
          "specVersion",
          "dataContentType",
          "data"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "CloudEvents unique id of the event."
          },
          "source": {
            "type": "string",
            "description": "CloudEvents uri-reference of the event."
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "description": "CloudEvents time the event occurred (ISO 8601)."
          },
          "type": {
            "type": "string",
            "description": "CloudEvents type."
          },
          "specVersion": {
            "type": "string",
            "description": "CloudEvents specification version."
          },
          "dataContentType": {
            "type": "string",
            "description": "CloudEvents HTTP content type."
          },
          "data": {
            "$ref": "#/components/schemas/CurationEventData",
            "description": "Event type-specific contents of the payload."
          }
        },
        "example": {
          "id": "5a6f82da-bf51-4d52-944a-11feb4ab333e",
          "source": "<tenant-subdomain>/webhooks/i893ced8-c07c-4a79-8d52-ee55573a639c",
          "time": "2026-10-23T16:22:11.453Z",
          "type": "tamr.api.queues.v1alpha2.CurationEvent",
          "specVersion": "1.0",
          "dataContentType": "application/json",
          "data": {
            "projectId": "p_w9frUL3zFrOA13JPnbqDsYeozGgA",
            "item": {
              "itemId": "item_lDiK6X6sIIu07qG9kkLn4TAW0KeR",
              "queueId": "q_29302jdd29302jdd",
              "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
              "status": "QUEUE_ITEM_STATUS_OPEN",
              "createTime": "2026-03-25T20:34:29.110Z",
              "updateTime": "2026-03-25T20:34:29.110Z"
            }
          }
        }
      },
      "CurationEventData": {
        "type": "object",
        "required": [
          "projectId",
          "item"
        ],
        "properties": {
          "projectId": {
            "type": "string",
            "description": "The id of the project the queue belongs to."
          },
          "item": {
            "$ref": "#/components/schemas/QueueItem",
            "description": "The queue item."
          }
        },
        "example": {
          "projectId": "p_w9frUL3zFrOA13JPnbqDsYeozGgA",
          "item": {
            "itemId": "item_lDiK6X6sIIu07qG9kkLn4TAW0KeR",
            "queueId": "q_29302jdd29302jdd",
            "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
            "status": "QUEUE_ITEM_STATUS_OPEN",
            "createTime": "2026-03-25T20:34:29.110Z",
            "updateTime": "2026-03-25T20:34:29.110Z"
          }
        }
      },
      "QueueItem": {
        "type": "object",
        "required": [
          "itemId",
          "queueId",
          "tableId",
          "status",
          "createTime",
          "updateTime"
        ],
        "properties": {
          "itemId": {
            "type": "string",
            "description": "The unique identifier for the item. Generated by the service on creation."
          },
          "queueId": {
            "type": "string",
            "description": "The queue this item belongs to."
          },
          "tableId": {
            "type": "string",
            "description": "The table this item belongs to."
          },
          "status": {
            "type": "string",
            "enum": [
              "QUEUE_ITEM_STATUS_OPEN",
              "QUEUE_ITEM_STATUS_CLOSED"
            ],
            "description": " - QUEUE_ITEM_STATUS_OPEN: Item is active and awaiting review. Includes items that have been re-opened.\n - QUEUE_ITEM_STATUS_CLOSED: Item is inactive. Includes items that were dismissed (actions is empty) or had an action applied (actions contains one entry)."
          },
          "createTime": {
            "type": "string",
            "format": "date-time",
            "description": "The time at which the item was created."
          },
          "updateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the item was last updated."
          },
          "editRecord": {
            "$ref": "#/components/schemas/QueueItemEditRecord",
            "description": "Optional. Item for editing a record."
          },
          "suggestedDuplicate": {
            "$ref": "#/components/schemas/QueueItemSuggestedDuplicate",
            "description": "Optional. Item for reviewing a suggested duplicate."
          },
          "actions": {
            "type": "array",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/QueueItemAction"
            },
            "description": "Optional. Actions that have been submitted for this item."
          },
          "createdBy": {
            "$ref": "#/components/schemas/User",
            "description": "Output Only. The user who created this item."
          },
          "updatedBy": {
            "$ref": "#/components/schemas/User",
            "description": "Output Only. The user who last updated this item."
          }
        },
        "example": {
          "itemId": "item_lDiK6X6sIIu07qG9kkLn4TAW0KeR",
          "queueId": "q_29302jdd29302jdd",
          "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
          "status": "QUEUE_ITEM_STATUS_OPEN",
          "createTime": "2026-03-25T20:34:29.110Z",
          "updateTime": "2026-03-25T20:34:29.110Z"
        }
      },
      "User": {
        "type": "object",
        "required": [
          "userId"
        ],
        "properties": {
          "userId": {
            "type": "string",
            "description": "The unique identifier of the user."
          },
          "email": {
            "type": "string",
            "description": "The email address of the user."
          }
        },
        "example": {
          "userId": "u_23fvf32",
          "email": "aoife@oiwmf.com"
        }
      },
      "QueueItemEditRecord": {
        "type": "object",
        "required": [
          "recordId",
          "expectedVersionId",
          "tableId"
        ],
        "properties": {
          "recordId": {
            "type": "string",
            "description": "The record ID to edit."
          },
          "expectedVersionId": {
            "type": "string",
            "format": "int64",
            "description": "The expected record version to edit. Will fail if the record has been updated since this version."
          },
          "tableId": {
            "type": "string",
            "description": "The table containing the record."
          }
        },
        "example": {
          "recordId": "rec_1O7barfHu4MpmCL3tDPztfoQMNgA",
          "tableId": "tbl_n3q3mX8g7QNNehfKPywF8b8F0Bsp",
          "expectedVersionId": "5101658922142470993"
        }
      },
      "QueueItemSuggestedDuplicate": {
        "type": "object",
        "properties": {
          "primaryRecord": {
            "$ref": "#/components/schemas/QueueItemSuggestedRecord",
            "description": "The primary record (typically the one to keep)."
          },
          "candidateRecord": {
            "$ref": "#/components/schemas/QueueItemSuggestedRecord",
            "description": "The candidate duplicate record."
          },
          "matchType": {
            "$ref": "#/components/schemas/QueueItemSuggestedMatchType",
            "description": "The type of match that identified this potential duplicate."
          }
        },
        "required": [
          "primaryRecord",
          "candidateRecord",
          "matchType"
        ]
      },
      "QueueItemSuggestedRecord": {
        "type": "object",
        "properties": {
          "tableId": {
            "type": "string",
            "description": "The table containing the record."
          },
          "recordId": {
            "type": "string",
            "description": "The record ID at the time the item was created."
          },
          "versionId": {
            "type": "string",
            "format": "int64",
            "description": "The record version at the time the item was created."
          },
          "currentRecordId": {
            "type": "string",
            "description": "The current record ID. May differ from record_id if the record was merged."
          },
          "currentVersionId": {
            "type": "string",
            "format": "int64",
            "description": "The current record version."
          }
        },
        "required": [
          "tableId",
          "recordId",
          "versionId"
        ]
      },
      "QueueItemSuggestedMatchType": {
        "type": "string",
        "enum": [
          "SUGGESTED_MATCH_TYPE_UNSPECIFIED",
          "ID_MATCH",
          "SEARCH_MATCH",
          "POSSIBLE_DUPLICATE",
          "USER_FEEDBACK"
        ],
        "description": " - SUGGESTED_MATCH_TYPE_UNSPECIFIED: Match type could not be determined.\n - ID_MATCH: Match based on record ID.\n - SEARCH_MATCH: Match based on search similarity.\n - POSSIBLE_DUPLICATE: Possible duplicate with lower confidence.\n - USER_FEEDBACK: User indicated potential duplicate."
      },
      "QueueItemAction": {
        "type": "object",
        "required": [
          "actionId",
          "createTime",
          "result",
          "user"
        ],
        "properties": {
          "actionId": {
            "type": "string",
            "description": "The unique identifier for the action."
          },
          "createTime": {
            "type": "string",
            "format": "date-time",
            "description": "The time at which the action was created."
          },
          "mergeRecords": {
            "$ref": "#/components/schemas/QueueItemMergeRecords",
            "description": "Merge two records together."
          },
          "applyEdit": {
            "$ref": "#/components/schemas/QueueItemApplyEdit",
            "description": "Apply an edit to a record."
          },
          "result": {
            "$ref": "#/components/schemas/QueueItemActionResult",
            "description": "The result of the action."
          },
          "user": {
            "$ref": "#/components/schemas/User",
            "description": "The user who performed this action."
          }
        },
        "example": {
          "actionId": "act_29302jdd2",
          "createTime": "2026-03-25T20:34:29.110Z",
          "user": {
            "userId": "u_56ghi89",
            "email": "manager@example.com"
          },
          "result": {
            "resultRecordId": "rec_1O7barfHu4MpmCL3tDPztfoQMNgA",
            "resultVersionId": "5101658922142470995"
          }
        }
      },
      "QueueItemMergeRecords": {
        "type": "object",
        "required": [
          "tableId",
          "toRecordId",
          "toRecordVersionId",
          "fromRecordId",
          "fromRecordVersionId"
        ],
        "properties": {
          "tableId": {
            "type": "string",
            "description": "Required. The table containing the records."
          },
          "toRecordId": {
            "type": "string",
            "description": "Required. The ID of the record to keep (merge target)."
          },
          "toRecordVersionId": {
            "type": "string",
            "format": "int64",
            "description": "Required. The expected version of the record to keep."
          },
          "fromRecordId": {
            "type": "string",
            "description": "Required. The ID of the record to retire (merge source)."
          },
          "fromRecordVersionId": {
            "type": "string",
            "format": "int64",
            "description": "Required. The expected version of the record to retire."
          }
        }
      },
      "QueueItemApplyEdit": {
        "type": "object",
        "required": [
          "tableId",
          "recordId",
          "expectedVersionId"
        ],
        "properties": {
          "tableId": {
            "type": "string",
            "description": "The table containing the record."
          },
          "recordId": {
            "type": "string",
            "description": "The record ID to edit."
          },
          "expectedVersionId": {
            "type": "string",
            "format": "int64",
            "description": "The expected record version. Action will fail if the record has been updated."
          }
        }
      },
      "QueueItemActionResult": {
        "type": "object",
        "required": [
          "resultRecordId",
          "resultVersionId"
        ],
        "properties": {
          "resultRecordId": {
            "type": "string",
            "description": "The resulting record ID after the action."
          },
          "resultVersionId": {
            "type": "string",
            "format": "int64",
            "description": "The resulting record version after the action."
          }
        }
      }
    }
  }
}
```