Skip to content
MothershipDevelopers

Webhook eventsDocuments

Proof of delivery updated

Sent when a new version of a proof of delivery is attached.

EVENTproofOfDelivery.updated
POST to your endpointSigned with HMAC-SHA256Retried for up to 4 days
RequestPOSThttps://your-server.example.com/webhooks/mothership
Content-Type:application/json
X-Mothership-Signature:b6d461cc1f146920cb74d52e58041566ba1e81f0222cd9b982f3e0e16e447c12
X-Mothership-Delivery-Id:3f6c1a9e-8b2d-4c7a-9e15-2d8b7f4a6c01
{
: "proofOfDelivery.updated",
: {
: "MS123456",
: "proofOfDelivery",
: "https://files.mothership.com/MS123456/proofOfDelivery.pdf",
: "2026-10-15T15:04:05.000Z",
: 1791471838000,
: "2026-10-08T15:04:01.000Z"
},
: "2026-10-08T15:04:05.000Z",
: 1,
: 16
}

Hover a key to see what it means. Click it to jump to the field.

Sent each time a new proof of delivery is attached after the first. Each version has its own url.

Add proofOfDelivery.updated to a configuration's subscribedEvents with Create a webhook configuration or in the dashboard.

Event data

data · 6 keys
  • shipmentIdstring

    The shipment's reference number, such as MS123456. Pass it to Get shipment details.

  • typestring

    The kind of document.

    proofOfDelivery
  • urlstring

    Where to download the document. Download it when the event arrives. To fetch it later, call List shipment documents for a current URL.

  • expiresAtstringDeprecated

    An ISO 8601 string a month after Mothership built the event. It still goes out on every document event, but it doesn't say when url stops working.

  • createdAtinteger

    When the document was created, in milliseconds since the Unix epoch, such as 1791471838000. Unlike every other timestamp in a webhook, this one is a number. On the rare document with no creation time it is an ISO 8601 string instead, so accept both.

  • updatedAtstring

    When Mothership built the event for the new version, as an ISO 8601 string in UTC.

  • eventTypestring

    The event. Always proofOfDelivery.updated here. Route on it, and answer 2xx to types you don't handle.

  • sentAtstring

    When Mothership queued the event to send, as an ISO 8601 string in UTC. Every retry and resend carries the same value, so it does not say when this attempt went out.

  • deliveryAttemptinteger

    Which send of this event this is, starting at 1. Resends from the dashboard count too.

  • pendingRetriesinteger

    How many automatic attempts are left if this one fails. 0 on the last one.

Related