Hard-deletes the listed webhooks only if they belong to the calling API key. Webhooks owned by a different API key are silently skipped — only successfully deleted ids appear in deletedIds. This prevents one API key from probing or removing rows owned by another.The deletion runs in a single transaction: any FailedEvent rows referencing a deleted webhook are removed first, then the Stream rows themselves — you can’t end up with a half-deleted webhook plus orphan failed-event rows.
An API key is required. The mutation throws UNAUTHENTICATED if it is missing or invalid.