Webhook delivery failures — any retry mechanism?

I set up webhooks to get notified when document processing completes, but I noticed that if my server is temporarily down, the webhook just fails silently. Is there any retry mechanism? Or do I need to also poll the status endpoint as a fallback?

For context, I’m building a pipeline where reliability is critical — we can’t afford to miss a completed document.

2 Likes

I had the same concern. What I do is run a reconciliation job every 15 minutes that checks for any documents in “completed” status that my system hasn’t processed. Belt and suspenders approach.

import requests

def reconcile():
    # Get all completed docs from last hour
    resp = requests.get(
        'https://api.qomplement.com/v1/documents',
        headers={'Authorization': 'Bearer YOUR_KEY'},
        params={'status': 'completed', 'since': '1h'}
    )
    for doc in resp.json()['documents']:
        if not already_processed(doc['id']):
            process_document(doc)
4 Likes

We do have retries — 3 attempts with exponential backoff (1min, 5min, 30min). But Dev’s approach is solid as an additional safety net. We’re also working on a webhook delivery log in the dashboard so you can see delivery status.

1 Like