<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic ExtractChanges - getting Error 'layerDefs' parameter is invalid in ArcGIS REST APIs and Services Questions</title>
    <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/extractchanges-getting-error-layerdefs-parameter/m-p/1559357#M4886</link>
    <description>&lt;P&gt;I'm currently trying to access the change log for an AGOL hosted feature layer we have using the ExtractChanges method outlined &lt;A href="https://developers.arcgis.com/rest/services-reference/enterprise/extract-changes-feature-service/#:~:text=The%20extractChanges%20operation%20can%20be%20used%20to%20retrieve,is%20an%20efficient%20change%20tracking%20mechanism%20for%20applications." target="_self"&gt;here. However, upon sending the request, I am receiving an error:&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;File "..Scratch\main.py", line 20, in &amp;lt;module&amp;gt;
    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)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the code snippet being ran:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;l = gis.content.search("&amp;lt;layerid&amp;gt;")[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)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also receive the same error when trying to submit through the service page:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FishMaps_0-1731699818933.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/119691iA4D7B545C485514A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="FishMaps_0-1731699818933.png" alt="FishMaps_0-1731699818933.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;There are no definition queries on the data, so I'm not sure why the layerDefs parameter is invalid when request is sent&lt;/P&gt;</description>
    <pubDate>Fri, 15 Nov 2024 19:45:12 GMT</pubDate>
    <dc:creator>FishMaps</dc:creator>
    <dc:date>2024-11-15T19:45:12Z</dc:date>
    <item>
      <title>ExtractChanges - getting Error 'layerDefs' parameter is invalid</title>
      <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/extractchanges-getting-error-layerdefs-parameter/m-p/1559357#M4886</link>
      <description>&lt;P&gt;I'm currently trying to access the change log for an AGOL hosted feature layer we have using the ExtractChanges method outlined &lt;A href="https://developers.arcgis.com/rest/services-reference/enterprise/extract-changes-feature-service/#:~:text=The%20extractChanges%20operation%20can%20be%20used%20to%20retrieve,is%20an%20efficient%20change%20tracking%20mechanism%20for%20applications." target="_self"&gt;here. However, upon sending the request, I am receiving an error:&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;File "..Scratch\main.py", line 20, in &amp;lt;module&amp;gt;
    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)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the code snippet being ran:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;l = gis.content.search("&amp;lt;layerid&amp;gt;")[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)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also receive the same error when trying to submit through the service page:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FishMaps_0-1731699818933.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/119691iA4D7B545C485514A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="FishMaps_0-1731699818933.png" alt="FishMaps_0-1731699818933.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;There are no definition queries on the data, so I'm not sure why the layerDefs parameter is invalid when request is sent&lt;/P&gt;</description>
      <pubDate>Fri, 15 Nov 2024 19:45:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/extractchanges-getting-error-layerdefs-parameter/m-p/1559357#M4886</guid>
      <dc:creator>FishMaps</dc:creator>
      <dc:date>2024-11-15T19:45:12Z</dc:date>
    </item>
  </channel>
</rss>

