Delivery
KeyPort attempts the first delivery immediately after an event fires. Your endpoint must return a2xx HTTP status code to acknowledge receipt. Any other response — including 3xx redirects, 4xx client errors, and 5xx server errors — is treated as a failed delivery.
Retry schedule
If a delivery fails, KeyPort retries at the following intervals after the previous attempt:
After the third retry fails, the delivery is marked as failed and no further attempts are made.
Recommendations
- Respond quickly. Return a
2xxstatus as soon as you receive the request, before doing any processing. If your handler takes too long to respond, KeyPort may treat it as a timeout and retry. - Process asynchronously. Enqueue the event and handle it in a background job rather than inline in the request handler. This keeps your response time short and separates concerns.
- Log deliveries. Record the event type, timestamp, and signature verification result on your side. This makes it easier to debug failed or duplicate deliveries.
