Share via

Count mismatch for import indictors api.

Rushi Satani 0 Reputation points
2026-03-02T07:18:41.9566667+00:00

I am trying to call https://dotnet.territoriali.olinfo.it/en-us/defender-endpoint/api/import-ti-indicators api using azure function. However i have noticed that there is a mismatch among the count in response.

Basically i am sending X amount of indicators through API but I am getting response for Y indicators.

This issue isnt replicated every time however it does occur from time to time.

Azure Functions
Azure Functions

An Azure service that provides an event-driven serverless compute platform.


1 answer

Sort by: Most helpful
  1. Q&A Assist
    2026-03-02T07:18:56.0966667+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    The behavior matches known indicator and counting limitations rather than an Azure Functions issue.

    Key points relevant to the mismatch:

    1. Tenant-wide indicator limit
      Defender for Endpoint enforces a hard limit of 15,000 indicators per tenant. When this limit is approached or reached, not all submitted indicators can be stored. This can cause the API response to show fewer successfully processed indicators than were sent.
    2. Different enforcement types and behavior
      Indicators use updated enforcement types (audit, block and remediate, allow, block and warn). These do not change the raw count of indicators, but they can affect how indicators are processed and surfaced (for example, whether alerts are generated). If the same indicator (same key fields) is submitted multiple times with different actions, it may be updated instead of counted as a new indicator, which can also make the “processed” count appear lower than the number sent.
    3. Partner / threat-intelligence integration behavior
      When indicators come from threat-intelligence providers or partner integrations, Defender for Endpoint correlates and may remediate based on matches. If the same indicator already exists (for example, from a previous import or a partner feed), a new import may update the existing record rather than add a new one, again causing a mismatch between “sent” and “newly created” indicators.
    4. Intermittent nature
      The fact that the mismatch is intermittent is consistent with:
      • Periodically hitting or nearing the 15,000-indicator limit.
      • Re-sending indicators that already exist (updates vs. inserts) only in some batches.

    To troubleshoot concretely:

    1. Check current indicator count
      Use the Microsoft Graph Security threat intelligence profile indicator count cmdlets to see how many indicators currently exist:
      • Get-MgSecurityThreatIntelligenceProfileIndicatorCount (v1.0)
      • or Get-MgBetaSecurityThreatIntelligenceProfileIndicatorCount (beta)
      If the count is close to 15,000, prune old or unneeded indicators before importing new ones.
    2. Verify duplicates vs. new indicators
      Compare a sample of indicators from a batch where the mismatch occurs against existing indicators (same value, type, and scope). If they already exist, the API may be updating them instead of creating new entries, which explains a lower “created” count.
    3. Monitor per-batch results
      Log the API response from each Azure Function execution and compare:
      • Number of indicators sent in the request
      • Number reported as created/updated/failed in the response
      This helps distinguish between:
      • Indicators rejected due to tenant limits
      • Indicators treated as updates
      • Actual failures (which should be visible in the response details)

    If the current indicator count is well below 15,000 and the response does not classify the “missing” indicators as failures or updates, capture a failing batch (request and response metadata, excluding secrets) and open a support case, as that would fall outside documented behavior.


    References:

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.