Resend event by ID
{ "name" "endpoint /webhooks/v1/events/{id}/resend", "method" "post", "url" "https //sandbox crbcos com/webhooks/v1/events/{id}/resend", "description" "manually resends a webhook event to the partner's registered callback url", "tab" "examples", "examples" { "languages" \[ { "id" "curl resend event", "language" "curl", "code" "curl location request post 'https //sandbox crbcos com/webhooks/v1/events/8d6115c0 2a88 4a58 b731 b306002e8bc2/resend' \\\\", "customlabel" "" }, { "id" "nodejs resend event", "language" "nodejs", "code" "var https = require('follow redirects') https;\n\nvar options = {\n 'method' 'post',\n 'hostname' 'sandbox crbcos com',\n 'path' '/webhooks/v1/events/8d6115c0 2a88 4a58 b731 b306002e8bc2/resend',\n 'headers' {},\n 'maxredirects' 20\n};\n\nvar req = https request(options, function (res) {\n var chunks = \[];\n\n res on(\\"data\\", function (chunk) {\n chunks push(chunk);\n });\n\n res on(\\"end\\", function (chunk) {\n var body = buffer concat(chunks);\n console log(body tostring());\n });\n\n res on(\\"error\\", function (error) {\n console error(error);\n });\n});\n\nreq end();", "customlabel" "" }, { "id" "python resend event", "language" "python", "code" "import requests\n\nurl = \\"https //sandbox crbcos com/webhooks/v1/events/8d6115c0 2a88 4a58 b731 b306002e8bc2/resend\\"\n\npayload = {}\nheaders = {}\n\nresponse = requests request(\\"post\\", url, headers=headers, json=payload)\n\nprint(response text)", "customlabel" "" }, { "id" "ruby resend event", "language" "ruby", "code" "require \\"uri\\"\nrequire \\"net/http\"\n\nurl = uri(\\"https //sandbox crbcos com/webhooks/v1/events/8d6115c0 2a88 4a58 b731 b306002e8bc2/resend\\")\n\nhttps = net http new(url host, url port)\nhttps use ssl = true\n\nrequest = net http post new(url)\n\nresponse = https request(request)\nputs response read body", "customlabel" "" }, { "id" "go resend event", "language" "go", "code" "package main\n\nimport (\n \\"fmt\\"\n \\"net/http\"\n \\"io\\"\n)\n\nfunc main() {\n\n url = \\"https //sandbox crbcos com/webhooks/v1/events/8d6115c0 2a88 4a58 b731 b306002e8bc2/resend\\"\n method = \\"post\\"\n\n client = \&http client {}\n req, err = http newrequest(method, url, nil)\n\n if err != nil {\n fmt println(err)\n return\n }\n res, err = client do(req)\n if err != nil {\n fmt println(err)\n return\n }\n defer res body close()\n\n body, err = io readall(res body)\n if err != nil {\n fmt println(err)\n return\n }\n fmt println(string(body))\n}", "customlabel" "" } ], "selectedlanguageid" "curl resend event" }, "results" { "languages" \[ { "id" "200 resend event", "language" "200", "customlabel" "", "code" "{\n \\"id\\" \\"8d6115c0 2a88 4a58 b731 b306002e8bc2\\",\n \\"eventname\\" \\"cards card activated\\",\n \\"status\\" \\"pending\\",\n \\"partnerid\\" \\"19222b81 0e1e 452d a842 b2f1011c16f3\\",\n \\"createdat\\" \\"2026 05 07t10 30 00z\\",\n \\"lastattemptedat\\" \\"2026 05 07t14 15 30z\\",\n \\"resources\\" \[\n \\"card 12345678 1234 1234 1234 123456789012\\"\n ],\n \\"details\\" \[\n {\n \\"cardid\\" \\"12345678 1234 1234 1234 123456789012\\",\n \\"status\\" \\"activated\\"\n }\n ],\n \\"isping\\" false\n}" } ], "selectedlanguageid" "200 resend event" }, "request" { "pathparameters" \[ { "name" "id", "kind" "required", "type" "string", "description" "the webhook registration id you receive this id in the response when you register a webhook event this id is in guid format ", "" "the webhook registration id you receive this id in the response when you register a webhook event this id is in guid format " } ], "queryparameters" \[], "headerparameters" \[], "formdataparameters" \[], "bodydataparameters" \[] }, "currentnewparameter" { "label" "path parameter", "value" "pathparameters" }, "response" \[ { "name" "id", "kind" "optional", "type" "string", "description" "the webhook event id this id is in guid format " }, { "name" "partnerid", "kind" "optional", "type" "string", "description" "your unique id in the cross river system this id is in guid format ", "children" \[] }, { "name" "eventname", "kind" "optional", "type" "string", "description" "webhook event being reported", "children" \[] }, { "name" "status", "kind" "required", "type" "string", "description" "current status of the webhook event \n pending event is queued for delivery\n success event was successfully delivered\n failed event delivery failed\n expired event exceeded retry attempts and expired", "children" \[] }, { "name" "createdat", "kind" "required", "type" "string", "description" "iso 8601 timestamp when the event was originally created", "children" \[] }, { "name" "lastattemptedat", "kind" "optional", "type" "string", "description" "iso 8601 timestamp of the last delivery attempt null if no attempts have been made yet ", "children" \[] }, { "name" "resources", "kind" "optional", "type" "array", "description" "array of resource identifiers affected by this event (e g , card\ guid, payment\ guid)", "children" \[] }, { "name" "details", "kind" "optional", "type" "array", "description" "array of key value pair objects containing event specific details and metadata", "children" \[] }, { "name" "isping", "kind" "optional", "type" "boolean", "description" "indicates whether this is a ping/test event (true) or a real event (false)", "children" \[] } ], "hastryitout" false, "autogeneratedanchorslug" "endpoint webhooksv1eventsidresend", "legacyhash" "qnhhv6xew6wos5g667tv4" } overview the resend event by id endpoint allows you to manually retry delivery of a webhook event to the partner's configured callback url this is useful when the initial delivery failed, timed out, or if you need to recover from a missed event without manual intervention when to use use this endpoint in the following scenarios failed delivery recovery when an event delivery failed due to network issues or partner endpoint downtime timeout recovery when the initial webhook delivery timed out manual retry when support teams need to manually retry specific webhook deliveries testing to verify webhook processing after partner endpoint fixes or during development requirements before using this endpoint, ensure event exists the event id must be valid (returns 404 if not found) active registration partner must have an active webhook registration for that event type push type only the registration must be push type you cannot resend poll type or file type webhooks permissions requires permissions events resend permission how it works when you call this endpoint event retrieval the system retrieves the event by its id from the database asynchronous queueing the resend request is queued via nservicebus ( issueeventcallback command) for asynchronous processing immediate response the endpoint returns immediately with the current event information it does not wait for the delivery attempt to complete background delivery the event is delivered to the registered callback url in the background status update after the delivery attempt, the event's status and lastattemptedat timestamp are updated accordingly important this is an asynchronous operation the 200 ok response indicates the resend was successfully queued, not that the event was delivered check the event status after a few seconds using get /v1/events/{id} to verify delivery error codes this endpoint may return the following application specific error codes error code description events registrationnotfoundforevent no webhook registration found for this event type events canonlyresendpush can only resend push type webhooks (not poll or file types) 404 not found event id does not exist 403 forbidden missing required permissions important notes asynchronous operation this endpoint does not wait for the resend to complete the response shows the event's status at the time of the api call, not after the resend attempt check delivery status to verify if the resend was successful, use the get /v1/events/{id} endpoint or get /v1/events/{id}/logs endpoint after a few seconds to check the updated status and delivery logs any status eligible you can resend events in any status (pending, success, failed, or expired) no idempotency protection calling resend multiple times will queue multiple deliveries the system does not prevent duplicate event deliveries partner endpoint ensure the partner's callback url is available before resending registration status if the webhook registration is suspended, the resend may fail response fields explained status values the status field in the response indicates the current state of the event status description pending event is queued and waiting for delivery success event was successfully delivered to the callback url failed event delivery failed (temporary failure, will retry) expired event exceeded maximum retry attempts and expired after calling resend, the event typically returns to pending status while the delivery attempt is processed in the background resources array the resources array contains identifiers for entities affected by the event, formatted as resourcetype\ guid "resources" \[ "card 12345678 1234 1234 1234 123456789012", "account 98765432 8765 4321 8765 987654321098" ] details array the details array contains event specific metadata as key value pairs "details" \[ { "cardid" "12345678 1234 1234 1234 123456789012", "status" "activated", "activationmethod" "api" } ] best practices verify registration confirm the webhook registration is active and properly configured using get /v1/registrations monitor delivery after resending, wait a few seconds then check your callback to confirm successful delivery avoid rapid retries don't repeatedly call resend in quick succession allow time for asynchronous processing (recommend 5 10 second intervals)