For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDashboard
GuidesAPI Reference
GuidesAPI Reference
  • Endpoints
      • GETTab counts for the loads list
      • GETGet calls for a load
      • GETGet failed carrier verifications for a load
      • GETGet active escalations for a load
      • GETList webhook endpoints
      • POSTRegister a webhook endpoint
      • GETGet a webhook endpoint
      • DELDelete a webhook endpoint
      • PATCHUpdate a webhook endpoint
      • POSTRotate the signing secret
      • GETList delivery attempts for an endpoint
      • GETList attempts for a logical message
      • POSTReplay a delivery
      • GETList subscribable event types
LogoLogo
SupportDashboard
EndpointsAPI

Replay a delivery

POST
/webhooks/messages/:message_id/replay
POST
/api/v1/webhooks/messages/:message_id/replay
$curl -X POST https://tryenvoy.ai/api/v1/webhooks/messages/message_id/replay \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "endpoint_id": "ep_3f9a1c2b-7d4e-4f8a-9b2e-1a2b3c4d5e6f"
>}'
1{
2 "id": "msg_7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
3 "endpoint_id": "ep_3f9a1c2b-7d4e-4f8a-9b2e-1a2b3c4d5e6f",
4 "latest_status": "PENDING",
5 "attempt_count": 1,
6 "last_response_status_code": 202,
7 "created_at": "2024-04-20T14:45:00Z",
8 "payload": {}
9}

Schedule a fresh attempt for the given (message, endpoint). Idempotent via the stable webhook-id.

Authentication: Supports API key and bearer token authentication.

Was this page helpful?
Previous

List subscribable event types

Next
Built with

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

message_idstringRequiredformat: "uuid"

Headers

X-Organization-IDstring or nullOptional

Request

This endpoint expects an object.
endpoint_idstringRequiredformat: "^ep_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
Endpoint to redeliver to.

Response

Successful Response
idstringformat: "^msg_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
endpoint_idstringformat: "^ep_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
latest_statusenum

Per-attempt delivery state.

SENDING is the transient state that prevents double-sends: the delivery task atomically flips PENDING → SENDING (compare-and-set on the row) before doing the outbound POST, so any other worker that picks up the same row from the sweeper backs off cleanly. Always a terminal status (SUCCEEDED/FAILED/DEAD) by the time the task returns.

Allowed values:
attempt_countinteger
last_response_status_codeinteger or null
created_atdatetime
payloadmap from strings to any or null

The envelope as delivered (id, type, timestamp, data).

Errors

401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
422
Unprocessable Entity Error
429
Too Many Requests Error