Microsoft Entra External ID guest invitations repeatedly blocked due to suspicious activity

Hai Pham 0 Reputation points
2026-09-29T07:26:46.6933333+00:00

We are experiencing a recurring tenant-wide block when creating external users through the Microsoft Graph invitations API.

Our Azure Function uses application authentication and the Microsoft Graph POST /invitations endpoint to invite external users. The App Registration has the required application permission with administrator consent.

The process initially works successfully. However, after a period of normal use, all subsequent invitations start returning the following response:

{
  "error": {
    "code": "Forbidden",
    "message": "Invitations are blocked for this directory due to suspicious activity. Please contact Microsoft support for help."
  }
}

Once this happens:

  • New invitations through Microsoft Graph return HTTP 403.

Manual invitations from the Microsoft Entra admin center also fail.

The problem affects all administrators, including Global Administrators.

External collaboration settings are configured to allow guest invitations.

Waiting and retrying does not remove the block.

The tenant must apparently be reviewed and unblocked by the Microsoft backend team.

We have reproduced this behaviour across multiple newly created Microsoft Entra External ID tenants. Each tenant works initially and is then blocked after using the same legitimate onboarding process.

We previously observed that attempting to invite an email address that already existed could be followed by the tenant-wide block. We have since implemented the following controls:

Check whether the email address already exists before creating an invitation.

Do not resend an invitation for an existing or pending user.

Do not retry HTTP 400 or 403 responses.

Process invitations sequentially rather than concurrently.

Stop invitation processing immediately when the suspicious-activity response is received.

Despite these changes, newly created tenants are still eventually blocked.

We also noticed several medium-risk Anomalous token detections for the administrator account in Microsoft Entra ID Protection. We are investigating these detections separately. We cannot confirm whether they are related to the invitation restriction.

Could Microsoft please clarify the following?

Is this a known issue or false positive affecting new Microsoft Entra External ID tenants?

Are there unpublished anti-abuse limits for POST /invitations, particularly for new tenants?

Can the same application, administrator account, Azure subscription, or Azure Function outbound IP cause multiple tenants to be risk-flagged?

Can a duplicate invitation attempt trigger a tenant-wide invitation restriction?

Is there a supported invitation rate or daily limit that applications should follow?

Is POST /invitations the recommended approach for application-controlled customer onboarding in an External ID tenant, or should a sign-up user flow be used instead?

How can we prevent the tenant from being blocked again after Microsoft Support removes the restriction?

This is a legitimate business onboarding process, not bulk marketing or unsolicited email. We need a supported long-term solution because requesting a separate backend unblock for every affected tenant is not operationally sustainable.

We can provide tenant IDs, timestamps, Graph request IDs, application IDs, administrator UPNs, and Azure Function outbound IP addresses privately to Microsoft Support if required.We are experiencing a recurring tenant-wide block when creating external users through the Microsoft Graph invitations API.

Our Azure Function uses application authentication and the Microsoft Graph POST /invitations endpoint to invite external users. The App Registration has the required application permission with administrator consent.

The process initially works successfully. However, after a period of normal use, all subsequent invitations start returning the following response:

{
  "error": {
    "code": "Forbidden",
    "message": "Invitations are blocked for this directory due to suspicious activity. Please contact Microsoft support for help."
  }
}

Once this happens:

New invitations through Microsoft Graph return HTTP 403.

Manual invitations from the Microsoft Entra admin center also fail.

The problem affects all administrators, including Global Administrators.

External collaboration settings are configured to allow guest invitations.

Waiting and retrying does not remove the block.

The tenant must apparently be reviewed and unblocked by the Microsoft backend team.

We have reproduced this behaviour across multiple newly created Microsoft Entra External ID tenants. Each tenant works initially and is then blocked after using the same legitimate onboarding process.

We previously observed that attempting to invite an email address that already existed could be followed by the tenant-wide block. We have since implemented the following controls:

Check whether the email address already exists before creating an invitation.

Do not resend an invitation for an existing or pending user.

Do not retry HTTP 400 or 403 responses.

Process invitations sequentially rather than concurrently.

Stop invitation processing immediately when the suspicious-activity response is received.

Despite these changes, newly created tenants are still eventually blocked.

We also noticed several medium-risk Anomalous token detections for the administrator account in Microsoft Entra ID Protection. We are investigating these detections separately. We cannot confirm whether they are related to the invitation restriction.

Could Microsoft please clarify the following?

Is this a known issue or false positive affecting new Microsoft Entra External ID tenants?

Are there unpublished anti-abuse limits for POST /invitations, particularly for new tenants?

Can the same application, administrator account, Azure subscription, or Azure Function outbound IP cause multiple tenants to be risk-flagged?

Can a duplicate invitation attempt trigger a tenant-wide invitation restriction?

Is there a supported invitation rate or daily limit that applications should follow?

Is POST /invitations the recommended approach for application-controlled customer onboarding in an External ID tenant, or should a sign-up user flow be used instead?

How can we prevent the tenant from being blocked again after Microsoft Support removes the restriction?

This is a legitimate business onboarding process, not bulk marketing or unsolicited email. We need a supported long-term solution because requesting a separate backend unblock for every affected tenant is not operationally sustainable.

We can provide tenant IDs, timestamps, Graph request IDs, application IDs, administrator UPNs, and Azure Function outbound IP addresses privately to Microsoft Support if required.

Microsoft Security | Microsoft Entra | Microsoft Entra ID
0 comments No comments

1 answer

Sort by: Newest
  1. Egiziago Cioffi 181 Reputation points
    2026-09-30T11:02:13.4+00:00

    Hi Hai,

    Taking your sixth question first, because I think it is the one that matters and it has a documented answer: no, POST /invitations is not the intended path for customer onboarding in an External ID tenant.

    The invitations API belongs to B2B collaboration, which is a workforce tenant feature for inviting partners and vendors as guests. An External ID tenant is CIAM, and the supported way to bring customers in is a self-service sign-up user flow, which creates member accounts rather than guests. So what you have built is a workforce pattern running inside a customer tenant.

    I cannot prove that is what triggers the block, and I will not pretend otherwise. But it would explain something your own testing already shows: the rate controls did not help. You checked for existing addresses, stopped retrying, went sequential, and stopped on the first 403, and new tenants still get blocked. That is not how a rate limit behaves. It is how an anti-abuse signal behaves when the shape of the activity is unexpected for that kind of tenant.

    It is worth knowing that you are the fourth report of this I have seen in about ten weeks, and the four together say something none of them says alone:

    Paul Stirpe, July: brand new tenant, around ten guests invited by hand from the portal, then blocked. He reproduced it deliberately. https://learn.microsoft.com/en-us/answers/questions/5960612/why-is-my-tenant-suddenly-not-allowing-me-to-invit

    Jorrit Wagenaar, September: tenant over four months old, eleven invitations in a single day from the portal, blocked ever since. https://learn.microsoft.com/en-us/answers/questions/6005246/error-when-inviting-external-users-in-ms-azure-use

    Samuel Carswell, September: bulk import through Graph on a production directory, blocked mid-import with the same message you are getting. https://learn.microsoft.com/en-us/answers/questions/6007216/invitations-are-blocked-for-this-directory-due-to

    Different volumes, different tenant ages, portal in two cases and Graph in the other two, same outcome. So there is no threshold number to stay under, which is the answer to your fifth question even though it is not the answer you wanted.

    Two other things from those threads that bear on what you asked. Jorrit's block has been in place for three months, so this does not appear to time out on its own, which matters for your point about operational sustainability. And the portal reports it as a generic "Insufficient privileges" error rather than the suspicious-activity message, which is why several people spend days checking role assignments. You are seeing the real message because you are going through Graph.

    On your third question, whether the same application, admin account or Function outbound IP can get multiple tenants flagged: I do not know, and I have not seen it documented anywhere. But you are the only one of the four who has reproduced this across multiple tenants while holding the app, the admin account and the egress IP constant, so your own setup is the best evidence anyone has on that, and it is worth putting exactly that way to support.

    If you do move to a sign-up user flow, it would be genuinely useful to report back here whether the blocks stop. Between the four threads there is still no documented fix, and that would be the closest thing to one.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.