I'm currently trying to access the change log for an AGOL hosted feature layer we have using the ExtractChanges method outlined here. However, upon sending the request, I am receiving an error:
File "..Scratch\main.py", line 20, in <module>
changes = flc.extract_changes(layers=l.layers[0], layer_servergen=l_server_gen, return_inserts=True, return_updates=True, return_deletes=True)
File "...\lib\site-packages\arcgis\features\layer.py", line 4822, in extract_changes
res = self._con.post(url, params)
File "...\lib\site-packages\arcgis\gis\_impl\_con\_connection.py", line 1524, in post
return self._handle_response(
File "...\lib\site-packages\arcgis\gis\_impl\_con\_connection.py", line 1000, in _handle_response
self._handle_json_error(data["error"], errorcode)
File "...\lib\site-packages\arcgis\gis\_impl\_con\_connection.py", line 1023, in _handle_json_error
raise Exception(errormessage)
Exception:
'layerDefs' parameter is invalid
(Error Code: 400)
Here is the code snippet being ran:
l = gis.content.search("<layerid>")[0]
l_object = l.layers[0].container
server_gen_obj = l_object.properties.changeTrackingInfo
print(server_gen_obj)
l_server_gen = []
for i in server_gen_obj["layerServerGens"]:
l_server_gen.append({"id": i["id"], "serverGen": i["serverGen"]})
print(l_server_gen)
flc = FeatureLayerCollection.fromitem(l)
changes = flc.extract_changes(layers=l.layers[0], layer_servergen=l_server_gen, return_inserts=True, return_updates=True, return_deletes=True)
I also receive the same error when trying to submit through the service page:

There are no definition queries on the data, so I'm not sure why the layerDefs parameter is invalid when request is sent