Python requests library
With a little bit of boilerplate code, you can use the
Python requests
library to make API calls.
-
For more information about the
requests
library, refer to Requests: HTTP for Humans™. -
For more information about the structure of API calls, see Anatomy of an API request.
Tip
Zenoss recommends using Python with the zenApiLib
rather than the requests
library.
Get a list of devices
-
Import the
requests
andjson
libraries;pprint
is optional.import requests, json, pprint
-
Set your router endpoint URL, headers, SSL verification, and your username and password.
api_endpoint = 'https://my_zenoss_instance.company.com/zport/dmd/device_router' api_headers = {'Content-Type': 'application/json'} api_ssl = True api_username = 'myApiUsername' api_password = 'my$up3rS3cUr3ApiP@$$w0rd'
-
Build the API request.
api_action = 'DeviceRouter' api_method = 'getDevices' api_data = [] payload = json.dumps({'action': api_action, 'method': api_method, 'data': api_data, 'tid': 1})
-
Make the API request.
response = requests.post(api_endpoint, payload, headers=api_headers, auth=(api_username, api_password), verify=api_ssl)
-
Use
pprint
to view the result.pprint.pprint(response.json())