API to create Address Group

Showing results for 
Show  only  | Search instead for 
Did you mean: 

API to create Address Group

L1 Bithead

I am trying to create a new address group using API but I always end up getting


<response status="error" code="12">

Invalid target object in set handler



Can someone help me with the correct xpath to create a new shared address group empty or with a list of address objects.


L4 Transporter

If you're using PAN-OS 9.0, I recommend the new REST API. You don't need XPaths to create Address Groups with the new REST API:



If you're using python, you might consider leveraging the Device Framework library. Here's an example of how to create an Address Object.



Address Groups are very similar:



If you're using GoLang, we also have the PanGo library:



If you're not using Python or Go, you can check out this XML API tutorial lab:



It uses pan-python library, but you don't need python code to use it.  There are several examples of creating Address Objects and Address Groups with XPaths and XML.


Hope that helps!




Hey Brian,


Thanks for the reply. I have been trying to use https://docs.paloaltonetworks.com/pan-os/9-0/pan-os-panorama-api.html#.


I am using JAVA to create address Groups and rules. And this doesnt work -



where the xpath-value is:


I am able create address objects using xpath = /config/shared/address/entry[@name='hostname'] and body/ element as element=<ip-netmask>"+ip+"</ip-netmask>.


But a similar one above doesnt work for address groups.


Also in



what is supposed to be the devices entry name and vsys entry name?

I keep getting

<response status="error" code="13">
<line>Could not find schema node for xpath /config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='device-group-name']/address-group</line>

L1 Bithead



see tool I've shared which can do this for you.





Do the operation in CLI first with the "debug cli on" command activated. This will give you the precise path you need for the API call.


See https://docs.paloaltonetworks.com/pan-os/8-0/pan-os-panorama-api/get-started-with-the-pan-os-xml-api...

L2 Linker

There are two types of address groups in the Palo Alto Networks firewalls; dynamic and static. By default, the firewall creates a static address group if you do not explicitly select dynamic. Therefore, you need to add the static element at the time of address group creation. The example below shows an example of creating an address-group named "test-address-group"


[https://<firewall-ip>/api/?type=config&action=set&xpath=/config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/address-group/entry[@name='test-address-group']&element=<static />&key=<yourfirewall-ip-key>]


Hope this explains the mystery.

  • 6 replies
  • 71 Subscriptions
Like what you see?

Show your appreciation!

Click Like if a post is helpful to you or if you just want to show your support.

Click Accept as Solution to acknowledge that the answer to your question has been provided.

The button appears next to the replies on topics you’ve started. The member who gave the solution and all future visitors to this topic will appreciate it!

These simple actions take just seconds of your time, but go a long way in showing appreciation for community members and the LIVEcommunity as a whole!

The LIVEcommunity thanks you for your participation!