From the available information, the only supported, documented behavior for Azure Event Grid namespace topics is:
- Delivery is driven solely by existing event subscriptions on a namespace topic.
- Each event subscription defines the destination endpoint and delivery behavior (including retry and TTL).
- Undeliverable events can be retried for a period, but only within the configured retention and TTL windows.
Key points from the documentation relevant to this scenario:
- Event delivery is controlled by event subscriptions
An event subscription is the configuration that both selects events and defines the destination endpoint. When a subscription is deleted, its configuration (including the endpoint) is no longer part of the active delivery pipeline.
“An event subscription is a configuration resource associated with a single namespace topic… Using an event subscription, you also define the destination endpoint to which the events are sent. In addition, an event subscription allows you to set other properties, such as the maximum delivery retry count and the events' time to live, that define the event delivery's runtime behavior.”
- Namespace topic retention is bounded (1–7 days)
Namespace topics retain undelivered events only for a limited period:
“Namespace topic configuration for properties.eventRetentionDurationInDays … allows users to specify an integer between 1 to 7 days, inclusive.”
This means that even if there were undelivered events associated with an old subscription, they would not be retained or retried indefinitely beyond the configured retention window.
- Push delivery with retry is per subscription and at-least-once
Push delivery is durable and uses a retry policy, but is still scoped to existing subscriptions:
“Event Grid namespaces push delivery provides durable delivery. Event Grid tries to deliver each message at least once for each matching subscription immediately. If a subscriber's endpoint doesn't acknowledge receipt of an event or if there's a failure, Event Grid retries delivery based on a fixed retry schedule and retry policy.”
Once a subscription is removed, there is no documented mechanism by which Event Grid would continue to send new events to the deleted subscription’s endpoint.
- Webhook delivery and identities
For webhook endpoints (including those secured with Microsoft Entra / managed identities), the platform behavior is that Event Grid sends events to the configured webhook URL on the subscription. The documentation does not describe any background or “heartbeat” traffic to endpoints that are no longer configured as destinations.
Given this documented behavior:
- Persistent deliveries to an endpoint that is not configured on any current subscription are not described or supported behavior in the documentation.
- With retention limited to at most 7 days and delivery governed by existing subscriptions, there is no documented way for deleted subscriptions to continue delivering new events long after they were removed.
The issue described therefore does not match any documented, expected behavior for Event Grid namespace topics and event subscriptions. The appropriate next step is to open a support case with Azure Support so the Event Grid product group can inspect the specific namespace, topic, and subscription history in the UK South region and determine whether there is a platform-side issue (for example, a stale or orphaned subscription record not visible through normal management APIs).
When opening the case, include:
- Namespace resource ID and topic name.
- Region (UK South) and API version used (2024-06-01-preview).
- Timestamps and sample request IDs from the unexpected POSTs to the
api.* Container App.
- Confirmation of the currently active subscriptions and their endpoints.
This will allow the service team to correlate logs and internal state with the phantom deliveries and remediate if needed.
References: