Install
openclaw skills install prisma-apiInteract with the Strata Cloud Manager (SCM) API to manage Prisma Access configurations. Authenticate, query, create, update, and delete configuration objects. Use when automating Prisma Access operations or querying live tenant state.
openclaw skills install prisma-apiExecute operations against the Strata Cloud Manager (SCM) API for Prisma Access.
The following environment variables must be set:
export SCM_CLIENT_ID="your-client-id"
export SCM_CLIENT_SECRET="your-client-secret"
export SCM_TSG_ID="your-tsg-id"
Obtain an OAuth2 Bearer token before making API calls:
TOKEN=$(curl -s -X POST "https://auth.apps.paloaltonetworks.com/am/oauth2/access_token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=${SCM_CLIENT_ID}" \
-d "client_secret=${SCM_CLIENT_SECRET}" \
-d "scope=tsg_id:${SCM_TSG_ID}" | jq -r '.access_token')
Token validity: ~15 minutes. Re-authenticate before expiry.
https://api.sase.paloaltonetworks.com
When the user specifies $ARGUMENTS, execute the corresponding operation.
curl -s -X GET "https://api.sase.paloaltonetworks.com/sse/config/v1/{resource}?folder={folder}&limit=200" \
-H "Authorization: Bearer ${TOKEN}"
Available resources:
addresses, address-groupsservices, service-groupstagssecurity-rules (add &position=pre or &position=post)nat-rulesdecryption-rulesapplication-filters, application-groupsexternal-dynamic-listscustom-url-categoriesurl-filtering-profilesanti-virus-profiles, anti-spyware-profilesvulnerability-protection-profilesfile-blocking-profiles, wildfire-anti-virus-profilesprofile-groupslog-forwarding-profilesdecryption-profileship-objects, hip-profilesFolder values: "Prisma Access", "Mobile Users", "Remote Networks", "Service Connections"
curl -s -X POST "https://api.sase.paloaltonetworks.com/sse/config/v1/{resource}?folder={folder}" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{...}'
curl -s -X PUT "https://api.sase.paloaltonetworks.com/sse/config/v1/{resource}/{id}" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{...}'
curl -s -X DELETE "https://api.sase.paloaltonetworks.com/sse/config/v1/{resource}/{id}" \
-H "Authorization: Bearer ${TOKEN}"
Validate and push the candidate configuration:
# Push candidate config
curl -s -X POST "https://api.sase.paloaltonetworks.com/sse/config/v1/config-versions/candidate:push" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{"folders": ["Prisma Access"]}'
curl -s -X GET "https://api.sase.paloaltonetworks.com/sse/config/v1/jobs/{job-id}" \
-H "Authorization: Bearer ${TOKEN}"
curl -s -X GET "https://api.sase.paloaltonetworks.com/sse/config/v1/config-versions?limit=10" \
-H "Authorization: Bearer ${TOKEN}"
For resources with more than 200 items, paginate with offset:
# Page 1
curl -s "...?folder=Prisma Access&limit=200&offset=0"
# Page 2
curl -s "...?folder=Prisma Access&limit=200&offset=200"
Continue until total in response matches items retrieved.