Magic's servers will consider a webhook as successfully sent and received by you if it receives an HTTP 200 status code.
If the sending fails (i.e. a 400 response is received), the webhook will be retried with exponential backoff.
If a notification is retried, it may not be processed by your servers in sequence. You should therefore not make the assumption in your webhook processing logic that they are always sent to you in sequence.