An API that connects multiple Microsoft services, enabling data access and automation across platforms
id and category are documented as filterable on the threatSubmission resource, but there are some important limitations and behaviors with Microsoft Graph filters that explain what is being observed:
- The
/beta/security/threatSubmission/emailThreatsendpoint supports only a subset of OData query options and combinations. The documentation for listing email threat submissions explicitly calls out support for$filter,$top,$skipToken, and$count, but it does not guarantee that every filterable property works in every scenario or combination. - Microsoft Graph has known issues where query parameters can fail silently. In particular, the known issues state that:
- Query parameters specified in a request might fail silently.
- This can be true for unsupported query parameters and for unsupported combinations of query parameters.
$filter=source eq 'user'returns data, but$filter=id eq '...'or$filter=category eq 'phishing'returns an empty array, even though the properties exist and are populated. - The
threatSubmissionresource definition confirms that:-
idis the identifier of the threat submission. -
categoryis a filterable property with supported valuesnotJunk,spam,phishing,malware, andunkownFutureValue.
/betaAPI, the implementation of filtering on these properties can be incomplete or inconsistent, and the platform may ignore or mishandle certain filters without returning an error. -
Given the current behavior and the documented known issues, the blank array result for filters on id and category is consistent with an unsupported or partially implemented filter scenario on this beta endpoint. Where filtering is critical, a practical workaround is to:
- Call
GET /security/threatSubmission/emailThreats(optionally with other working filters such assource eq 'user'), and - Apply additional filtering on
idandcategoryclient-side in application code.
Because this is a beta API and query parameters can fail silently, this is a platform limitation rather than a usage error.
References: