Same error here. We are getting it on the CAMPAIGN_PERFORMANCE_REPORT, CAMPAIGN_PLATFORM_TARGET_REPORT and AD_PERFORMANCE_REPORT reports. We are using the v201603 API.
Here's an example from the report log, with our auth info *'d out.
[Apr 25 2016 11:59:55.000000 - ERROR] POST /api/adwords/reportdownload/v201603 HTTP/1.1
User-Agent: curl, gzip
Accept: */*
Accept-Encoding: gzip
Authorization: Bearer **************************************************************
developerToken: ***************
clientCustomerId: **********
skipReportHeader: true
skipReportSummary: true
includeZeroImpressions: true
Content-Length: 512
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------2b73dfc263ea
Parameters:
__rdquery: SELECT
ExternalCustomerId
, CampaignId
, BidModifier
FROM CAMPAIGN_PLATFORM_TARGET_REPORT
WHERE CampaignStatus IN [ENABLED, PAUSED]
AND Id = 30001
DURING TODAY
__fmt: GZIPPED_CSV
Response Code: 400
Error Message: Report download failed. Underlying errors are
Type = 'LoasAuthenticationError.CLIENT_NOT_AUTHORIZED', Trigger = '<null>', FieldPath = ''.