Skip to main content
Stringhive Delivery & Retries

Delivery & Retries

Stringhive delivers webhooks asynchronously. Your endpoint receives a POST request within a few seconds of the event. If delivery fails, Stringhive retries automatically.

Retry policy

Stringhive makes up to 3 delivery attempts per event:

Attempt Delay after previous
1st Immediate
2nd 5 minutes
3rd 30 minutes

After 3 failures, the delivery is marked as failed and no more attempts are made.

What counts as a failure

Any response with a non-2xx status code is treated as a failure. Connection timeouts (after 10 seconds) are also failures.

Your endpoint should return a 2xx status as quickly as possible. If you need to do slow processing, queue the work and respond immediately.

Responding to webhooks

Return any 2xx status. The response body is stored in the delivery log (up to 10KB) but not used for anything. A simple 200 OK is fine.

Delivery log

Each webhook has a delivery log showing the last 10 deliveries. Open the webhook in Settings > Webhooks to see:

  • The event type
  • The timestamp
  • The HTTP status code from your endpoint
  • The first 10KB of your response body

This is the first place to check if your webhook isn't firing as expected.

Unique delivery IDs

Every delivery has a unique X-Stringhive-Delivery header. If you receive the same delivery ID twice (due to network weirdness), you can safely ignore the duplicate. Log the delivery IDs you've processed and check for duplicates on your end.