Paitho
API & developer

Webhooks.

Subscribe to pipeline events. Signed payloads. At-least-once.

Webhooks fire when state changes. They are signed with HMAC-SHA256 using a per-endpoint secret. Verify the signature on every receive.

Events

EventFires when
lead.qualifiedA lead passes qualify()
lead.rejectedA lead fails any stage with a non-retry reason
draft.readyAn email draft is awaiting review
draft.approvedA reviewer approves a draft
draft.rejectedA reviewer rejects a draft
send.completedThe email is accepted by your relay
reply.receivedtrack() classifies a reply

Payload shape

POST https://you.example.com/paitho
        X-Paitho-Signature: t=1745588901,v1=...
        Content-Type: application/json

        {
          "event": "draft.ready",
          "id": "evt_01HX...",
          "occurred_at": "2026-04-25T14:08:21Z",
          "data": { "lead_id": "lead_01HX...", "draft_id": "drf_01HX...", "review_url": "https://app.paitho.ai/..." }
        }

Retries

We retry non-2xx responses with exponential backoff for 24 hours, then dead-letter the event. Dead letters are visible at Workspace → Settings → Webhooks → Dead letters and replayable from there.