X_WEBHOOK_DELIVERY_THROTTLED
Means
the endpoint asked for the delivery later, and said when
Typical cause
a receiver that answered a retryable status AND a delay — a 403 carrying a Retry-After is still X_WEBHOOK_DELIVERY_REJECTED, because the status is what says a retry can change something. Its own code because the answer is different work: classified retry-after, so statedDelayMs reads meta.retryAfterSeconds and the nack waits exactly that long — clamped by the policy's maxDelay — instead of spending a curve against a number it was already given
Fix
no edit here — the next attempt waits the delay the receiver named; an endpoint that throttles constantly wants a higher retry.maxDelay or fewer events fanned out to it