Using a predicate with campaign status when requesting a CAMPAIGN_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT is giving an error in the sandbox. This appears to be an issue in both v201409 and v201502. I don't know if this is relevant, but there are no campaign negatives in the account. I don't know if this occurs against production servers.
This request is failing with status code 400:
<reportDefinition>
<selector>
<fields>Id</fields>
<fields>CampaignId</fields>
<fields>KeywordText</fields>
<fields>KeywordMatchType</fields>
<predicates>
<field>CampaignStatus</field>
<operator>EQUALS</operator>
<values>ENABLED</values>
</predicates>
</selector>
<reportName>v201409#TODAY##2#6796</reportName>
<reportType>CAMPAIGN_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT</reportType>
<dateRangeType>TODAY</dateRangeType>
<downloadFormat>GZIPPED_CSV</downloadFormat>
<includeZeroImpressions>true</includeZeroImpressions>
</reportDefinition>
Here's the error message v10409:
[07 Apr 2015 15:33:09,894 - WARN ] Outgoing failed report request:
POST
https://adwords.google.com/api/adwords/reportdownload/v201409Accept-Encoding: gzip, x-gzip, deflate, x-bzip2
Authorization: REDACTED
User-Agent: REDACTED
Content-Type: application/x-www-form-urlencoded
ClientCustomerId: REDACTED
DeveloperToken: REDACTED
__rdxml=%3CreportDefinition%3E%3Cselector%3E%3Cfields%3EId%3C%2Ffields%3E%3Cfields%3ECampaignId%3C%2Ffields%3E%3Cfields%3EKeywordText%3C%2Ffields%3E%3Cfields%3EKeywordMatchType%3C%2Ffields%3E%3Cpredicates%3E%3Cfield%3ECampaignStatus%3C%2Ffield%3E%3Coperator%3EEQUALS%3C%2Foperator%3E%3Cvalues%3EENABLED%3C%2Fvalues%3E%3C%2Fpredicates%3E%3C%2Fselector%3E%3CreportName%3E%23v201409%23TODAY%23%232%2311264%3C%2FreportName%3E%3CreportType%3ECAMPAIGN_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT%3C%2FreportType%3E%3CdateRangeType%3ETODAY%3C%2FdateRangeType%3E%3CdownloadFormat%3EGZIPPED_CSV%3C%2FdownloadFormat%3E%3CincludeZeroImpressions%3Etrue%3C%2FincludeZeroImpressions%3E%3C%2FreportDefinition%3E
However this request succeeds (no campaign status predicate):
<reportDefinition>
<selector>
<fields>Id</fields>
<fields>CampaignId</fields>
<fields>KeywordText</fields>
<fields>KeywordMatchType</fields>
</selector>
<reportName>v201409#TODAY##2#12353</reportName>
<reportType>CAMPAIGN_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT</reportType>
<dateRangeType>TODAY</dateRangeType>
<downloadFormat>GZIPPED_CSV</downloadFormat>
<includeZeroImpressions>true</includeZeroImpressions>
</reportDefinition>
As does this request (different report but with campaign status predicate)
<reportDefinition>
<selector>
<fields>AdGroupId</fields>
<fields>CampaignId</fields>
<fields>AdGroupName</fields>
<fields>CpcBid</fields>
<fields>TargetCpa</fields>
<fields>AdGroupStatus</fields>
<predicates>
<field>CampaignStatus</field>
<operator>EQUALS</operator>
<values>ENABLED</values>
</predicates>
</selector>
<reportName>v201409#TODAY##2#13953</reportName>
<reportType>ADGROUP_PERFORMANCE_REPORT</reportType>
<dateRangeType>TODAY</dateRangeType>
<downloadFormat>GZIPPED_CSV</downloadFormat>
<includeZeroImpressions>true</includeZeroImpressions>
</reportDefinition>