Hi Shwetha,
Thanks for your answer. Indeed I'm looking to set up a predicate on the keyword status, the same way I can set up a predicate on group and campaign status, to ensure that all keywords are included.
Why? In other reports of AdWords API, over the years, when you did NOT set a predicate, the meaning changed a lot - at least four times. Sometimes removed keywords/groups/campaigns were included, sometimes not, etc.etc. Sometimes the change of meaning was intended and documented, sometimes it wasn't, but it was hard for Google to revert the change in a short time.
Anyway, this part of API proved not to be so reliable over time. Some developers (like me but others too) work around possible future problems by always including a predicate on all statuses.
Hence my surprise that on SEARCH_QUERY_PERFORMANCE_REPORT you can set up predicates on campaign and group status, but not on keyword status. Can you pass the wish to include this field?
A related question, you can set up a predicate on KeywordTextMatchingQuery but not on KeywordId. Any particular reason? (And yes, I want to exclude certain keywords but it's hard to derive KeywordTextMatchingQuery from a keyword).