To whom it may concern:
As of October 16, 2018 at around 18.00, we've been experiencing some issues when using the python API. I have spent today looking into the issue, but I found something strange. I made a small example so that I could share the problem with you.
I have the following code:
service = client.GetService('AdGroupCriterionService', version='v201809')
adgroup_adwords_id = 41434232302
selector = {
  'fields': [
    'Id',
    'CpcBid',
    'BaseAdGroupId',
    'CriteriaType',
    'PartitionType',
    'CaseValue'
  ],
  'predicates': [
    {
      'field': 'AdGroupId',
      'operator': 'IN',
      'values': [adgroup_adwords_id]
    },
    {
      'field': 'CriteriaType',
      'operator': 'EQUALS',
      'values': 'PRODUCT_PARTITION'
    },
    {
      'field': 'Status',
      'operator': 'NOT_EQUALS',
      'values': 'REMOVED'
    }
  ]
}
result = service.get(selector)
I am trying to query Google Ads to find all the Adgroup Criterions for a Shopping Campaign. When I run the above code, it results in different responses when I call it multiple times, i.e.
# First run
{
  'adgroup_id': 41434232302,
  'criterion_use': 'BIDDABLE',
  'criterion': {
    'id': 318749511508,
    'type': 'PRODUCT_PARTITION',
    'Criterion.Type': 'ProductPartition',
    'partitionType': 'UNIT',
    'parentCriterionId': 293946777986,
    'caseValue': {
      'ProductDimension.Type': 'ProductOfferId',
      'value': 'fbeni618004'
    }
  }
}
# A later run
{
  'adgroup_id': 41434232302,
  'criterion_use': 'BIDDABLE',
  'criterion': {
    'id': 318749511508,
    'type': 'PRODUCT_PARTITION',
    'Criterion.Type': 'ProductPartition',
    'partitionType': 'UNIT',
    'parentCriterionId': None,
    'caseValue': {
      'ProductDimension.Type': 'ProductOfferId',
      'value': 'fbeni618004'
    }
  }
}
The `parentCriterionId` changes from a value to a `None`. On Google Ads, nothing has changed about this criterion:

Could you share some insight into what is going on? We've been running this code for quite some time, so we were a bit surprised when we all of a sudden got errors for this.
We are using `v201809` of the API and version 14.1.0 of the `googleads` Python library