Replay webhook delivery
POST /webhook-subscriptions/{id}/deliveries/{deliveryId}/replay
Requires webhooks:write, public API access and webhook access for the organisation.
Authorization
X-API-Key required
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | RemyPass resource _id |
deliveryId | path | string | Yes | RemyPass delivery record _id, distinct from the payload event ID |
The subscription must be active. Only success, failed and cancelled deliveries can be replayed. The original payload and event ID are preserved, attempts reset to zero and replayCount increases. Delivery uses the current URL, headers and signing secret. Deduplicate by payload.id. A 200 response means queued, not delivered.
Request Examples
curl -X POST "https://api.remypass.com/api/v1/public/webhook-subscriptions/507f1f77bcf86cd799439011/deliveries/507f1f77bcf86cd799439011/replay" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"Responses
| Status | Description |
|---|---|
200 | Delivery queued again |
400 | Bad request. The top-level message explains what is invalid and, where applicable, the errors array contains structured field details. |
401 | Missing or invalid API key. |
403 | The caller is not allowed to access this resource. |
404 | Resource not found. |
409 | Delivery is missing, belongs to another subscription, or is already pending/processing |
429 | Rate limit exceeded. |
500 | Server error. |
200 Response Example
{
"success": true,
"message": "Success",
"data": {
"_id": "507f1f77bcf86cd799439011",
"subscription": "507f1f77bcf86cd799439011",
"eventId": "example",
"event": "example",
"payload": {
"id": "evt_example",
"event": "member.created",
"timestamp": "2026-10-06T12:00:00.000Z",
"organisation_id": "507f1f77bcf86cd799439011",
"schema_version": "1",
"source": "api",
"test": true,
"data": {
"member": {
"id": "507f1f77bcf86cd799439011",
"company": "507f1f77bcf86cd799439010",
"memberId": "MEM001",
"name": "Example Member",
"email": "member@example.com",
"status": "active"
}
}
},
"status": "pending",
"attempts": 0,
"replayCount": 0,
"nextAttemptAt": "2026-10-06T12:00:00.000Z",
"statusCode": 1,
"errorMessage": "example",
"deliveredAt": "2026-10-06T12:00:00.000Z",
"expiresAt": "2026-10-06T12:00:00.000Z",
"createdAt": "2026-10-06T12:00:00.000Z",
"updatedAt": "2026-10-06T12:00:00.000Z"
}
}
Response Fields
| Field | Type | Description | Attributes |
|---|---|---|---|
success | boolean | ||
message | string | ||
data | object | Show child attributes
|