Skip to main content
This is a Backend SDK method, not an HTTP endpoint.
Always save first, acknowledge second. If your database write fails before you acknowledge, the event will be re-delivered on the next poll. That is safe — as long as your save is idempotent (upsert on eventId).

Signature

client.acknowledgeWebhookEvents(eventIds: string[]): Promise<AcknowledgeResult>

Parameters

eventIds / event_ids
string[]
required
Array of eventId strings to remove from the queue. Get these from event.eventId (Node.js) or event["eventId"] (Python) inside the getWebhookEvents response.

Return value

acknowledged
number
Number of events successfully removed from the queue.

const { events } = await client.getWebhookEvents({ limit: 50 });

for (const event of events) {
  await saveToYourDatabase(event);
}

await client.acknowledgeWebhookEvents(events.map(e => e.eventId));
{
  "acknowledged": 2
}

Error cases

ConditionError message
eventIds / event_ids is not an array/listeventIds must be a non-empty array
eventIds / event_ids is emptyeventIds must be a non-empty array
One or more IDs already acknowledgedSilently skipped — no error