Help CenterGitHub

Webhook Event Types

Webhooks allow you to receive real-time notifications when events occur in your atoship account. Configure webhook endpoints to listen for specific event types.

Signature Verification

All webhook requests include a signature header for verification. Verify the signature by computing HMAC-SHA256 of the raw request body using your webhook secret.

X-Atoship-Signature: sha256=abc123...

Available Events

Label Events

Events related to shipping label lifecycle

label.created

Triggered when a new shipping label is successfully purchased

label.voided

Triggered when a shipping label is voided/cancelled

label.refunded

Triggered when a label refund is processed

Tracking Events

Events related to package tracking updates

tracking.updated

Triggered when tracking status changes for a shipment

tracking.delivered

Triggered when a package is successfully delivered

tracking.exception

Triggered when a delivery exception occurs

tracking.return_to_sender

Triggered when a package is being returned to sender

Insurance Events

Events related to shipping insurance

insurance.purchased

Triggered when insurance is purchased for a shipment

insurance.claim.filed

Triggered when an insurance claim is filed

insurance.claim.approved

Triggered when an insurance claim is approved

insurance.claim.denied

Triggered when an insurance claim is denied

Return Events

Events related to return shipments

return.created

Triggered when a return label is created

return.in_transit

Triggered when a return package is in transit

return.received

Triggered when a return package is received

Account Events

Events related to account and billing

account.balance.low

Triggered when account balance falls below threshold

account.balance.depleted

Triggered when account balance reaches zero

Best Practices

Respond quickly

Return a 200 status within 30 seconds to acknowledge receipt

Handle duplicates

Use the event ID to deduplicate events

Verify signatures

Always validate the webhook signature before processing

Retry handling

Failed webhooks are retried up to 5 times with exponential backoff

WEBHOOK
Event Payload Structure
1{
2 "id": "evt_1234567890",
3 "object": "Event",
4 "type": "label.created",
5 "created_at": "2025-01-14T10: 00: 00Z",
6 "data": {
7 "id": "lbl_k7x9m2p4q8r5",
8 "object": "Label",
9 "status": "purchased",
10 "tracking_number": "9400111899223456789012",
11 "carrier": "USPS",
12 "service": "Priority Mail",
13 "rate": 8.95,
14 "currency": "USD"
15 }
16}
Request Headers
Content-Type:application/json
X-Atoship-Signature:sha256=...
X-Atoship-Event:label.created
X-Atoship-Delivery-ID:dlv_abc123
Retry Schedule
Attempt 1Immediate
Attempt 25 minutes
Attempt 330 minutes
Attempt 42 hours
Attempt 524 hours
atoship © 2026