Triggers

Resend failed deliveries to an endpoint

Changed on

Starts a recovery that resends every trigger event whose delivery to one endpoint failed within a time window. Use this endpoint once your endpoint is healthy again after an outage, instead of resending each failed delivery with BatchResendTriggerDeliveries. Pass the delivery endpoint ID in the path, and since and optionally until in the body. The recovery covers events with a failed attempt to this endpoint from since up to, not including, until. It skips an event that also has a successful attempt to this endpoint within the window, and it never sends an event that was not already sent to this endpoint. The window is at most 14 days; omit until to recover up to the present. The recovery runs in the background after this call returns, so the response confirms that it started, not that anything was delivered. Each recovered event gets a new attempt, which appears in ListTriggerDeliveriesByEndpoint and ListTriggerDeliveryAttemptsByMessage like any other. One call recovers at most 10,000 events and stops there without reporting it: when more may have failed, cover the period with several calls over narrower windows. Recovery progress cannot be read through the API. task_id identifies this recovery in Scalekit's logs for support, and there is no endpoint to poll it. Not idempotent: calling again re-queues every event that is still failed, and a second call made before the first finishes can queue a second attempt for the same event. Returns the recovery's task_id and its status when this call returned. The event payload is never returned.

post/api/v1/trigger-delivery/endpoints/{endpoint_id}:recover

Request

Path parameters

endpoint_idstring required

ID of the delivery endpoint whose failed deliveries to resend: ep_ followed by 1 to 64 letters or digits.

Request body

sincestring date-time required

Start of the window, inclusive: events with a failed attempt to this endpoint at or after this instant are recovered. Must not be in the future, and must be at most 14 days before until, or before now when until is omitted.

untilstring date-time

End of the window, exclusive. Omit it to recover up to now. Must be after since, must not be in the future, and must be at most 14 days after since.

Example request

{
  "since": "2026-10-08T00:00:00Z",
  "until": "2026-10-09T00:00:00Z"
}

Response

The recovery started; includes its task_id and its status when this call returned. Events are resent in the background after this response. In the rare case that the recovery was accepted without an identifier, task_id and status are empty; the recovery still runs

statusstring

The recovery's state when this call returned. running in practice: the recovery continues after the response, and its later state is not reported.

task_idstring

Identifies this recovery in Scalekit's logs; quote it when contacting support. It cannot be looked up or polled through the API.

Example response

{
  "status": "running",
  "task_id": "qtask_2yAqV1pZbF8sRj3nWkXcT5mLh0"
}

Changes