PDQ Component
PDQ provides a suite of management tools to automate software deployment, manage patches, and track inventory across a company’s networks. Use the PDQ component to manage deployments, devices, groups, and packages.
Component key: pdq
Description
PDQ provides a suite of management tools to automate software deployment, manage patches, and track inventory across a company’s networks.
Use the PDQ component to manage deployments, devices, groups, and packages.
API Documentation:
The component was built using the PDQ V1 API
Connections
PDQ Connection
Follow these steps to generate a new API key in PDQ:
- Login to your PDQ Connect account and select the settings icon represented by a cog located in the lower left corner.
- Navigate to the API keys section and select Create API Key.
- Provide a unique name for the API key and select Create.
- Copy and save the generated API key as it will not be shown again.
- Enter the generated API key into the connection configuration of your integration.
Input | Notes |
---|---|
API Key string / Required apiKey | The PDQ API Key |
Data Sources
Select Device
Select a Device from a dropdown menu. | key: selectDevice | type: picklist
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Device
{
"result": [
{
"key": "dvc_1bced782734040a581d",
"label": "LAB01"
}
]
}
Select Group
Select a Group from a dropdown menu. | key: selectGroup | type: picklist
Input | Notes |
---|---|
Connection connection / Required connection |
Example Payload for Select Group
{
"result": [
{
"key": "grp_1bced782734040a581d",
"label": "Firefox"
}
]
}
Actions
Create Deployment
Deploy a package version to target devices or groups | key: createDeployment
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
Package string / Required packageInput | The package id to deploy. | pkg_123abc | |
Targets string / Required targets | Comma-delimitted Device IDs or Group IDs. | grp_123abc,dvc_123abc |
Example Payload for Create Deployment
{
"data": "CREATED SUCCESSFULLY"
}
Get Device
Retrieve a device by ID | key: getDevice
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
Device ID string / Required deviceId | The ID of the device to retrieve. | 123456 |
Example Payload for Get Device
{
"data": {
"architecture": "64-bit",
"hostname": "LAB01",
"id": "dvc_1bced782734040a581d",
"insertedAt": "2024-01-01T00:00:00.000000Z",
"lastUser": "someuser",
"model": "8884664217",
"name": "LAB01",
"osVersion": "10.0.17328",
"publicIpAddress": "451E:6414:DEC9:2428:7154:D717:8D0F:7D2C",
"serialNumber": "56701fc8-de8f-4ccb-9a4d-3b97676d04d2",
"servicePack": "wav"
}
}
Get Package
Retrieve a package by ID | key: getPackage
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
Package ID string / Required packageId | The ID of the package | 123456 |
Example Payload for Get Package
{
"data": {
"id": "pkg_1bced782734040a581d",
"name": "Firefox",
"publisher": "Mozilla",
"source": "pdq"
}
}
List Devices
Retrieve a list of devices | key: listDevices
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Custom Query Params string Key Value List customQueryParams | Custom fields filter | key1=value1 | |
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
Fetch All boolean fetchAll | false | If true, fetch all data. | |
Filter string filter | String filter values will filter on exact values unless a supported operator is provided. | {"hostname":"~hostname"} | |
Group string group | The id of the group to filter by. | 123456 | |
Includes string includes | Include related resources. | networking,processors | |
Page string page | The page number to return. | 1 | |
Page Size string pageSize | The number of records to return per page. Maximum is 100. | 100 | |
Sort string sort | Sort by a field in camel case. By default a field name sorts with 'Asc'. Add the suffix 'Desc' to sort by that field in descending order. | insertedAtDesc |
Example Payload for List Devices
{
"data": {
"data": [
{
"architecture": "64-bit",
"hostname": "LAB01",
"id": "dvc_1bced782734040a581d",
"insertedAt": "2024-01-01T00:00:00.000000Z",
"lastUser": "someuser",
"model": "8884664217",
"name": "LAB01",
"osVersion": "10.0.17328",
"publicIpAddress": "451E:6414:DEC9:2428:7154:D717:8D0F:7D2C",
"serialNumber": "56701fc8-de8f-4ccb-9a4d-3b97676d04d2",
"servicePack": "wav"
}
]
}
}
List Groups
Retrieve a list of groups | key: listGroups
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Custom Query Params string Key Value List customQueryParams | Custom fields filter | key1=value1 | |
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
Fetch All boolean fetchAll | false | If true, fetch all data. | |
Filter string filter | String filter values will filter on exact values unless a supported operator is provided. | {"hostname":"~hostname"} | |
Page string page | The page number to return. | 1 | |
Page Size string pageSize | The number of records to return per page. Maximum is 100. | 100 | |
Sort string sort | Sort by a field in camel case. By default a field name sorts with 'Asc'. Add the suffix 'Desc' to sort by that field in descending order. | insertedAtDesc |
Example Payload for List Groups
{
"data": {
"data": [
{
"id": "grp_1bced782734040a581d",
"insertedAt": "2024-01-01T00:00:00.000000Z",
"name": "Firefox",
"source": "custom",
"type": "dynamic"
}
]
}
}
List Packages
Retrieve a list of packages | key: listPackages
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Custom Query Params string Key Value List customQueryParams | Custom fields filter | key1=value1 | |
Debug Request boolean debug | false | Enabling this flag will log out the current request. | |
Fetch All boolean fetchAll | false | If true, fetch all data. | |
Filter string filter | String filter values will filter on exact values unless a supported operator is provided. | {"hostname":"~hostname"} | |
Page string page | The page number to return. | 1 | |
Page Size string pageSize | The number of records to return per page. Maximum is 100. | 100 | |
Sort string sort | Sort by a field in camel case. By default a field name sorts with 'Asc'. Add the suffix 'Desc' to sort by that field in descending order. | insertedAtDesc |
Example Payload for List Packages
{
"data": {
"data": [
{
"id": "pkg_1bced782734040a581d",
"name": "Firefox",
"publisher": "Mozilla",
"source": "pdq"
}
]
}
}
Raw Request
Send raw HTTP request to the PDQ API | key: rawRequest
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Data string data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} | |
Debug Request boolean debugRequest | false | Enable this to log the request and response | |
File Data string Key Value List fileData | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] | |
File Data File Names string Key Value List fileDataFileNames | File names to apply to the file data inputs. Keys must match the file data keys above. | ||
Form Data string Key Value List formData | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] | |
Header string Key Value List headers | A list of headers to send with the request. | User-Agent: curl/7.64.1 | |
Max Retry Count string maxRetries | 0 | The maximum number of retries to attempt. Specify 0 for no retries. | |
Method string / Required method | The HTTP method to use. | ||
Query Parameter string Key Value List queryParams | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | ||
Response Type string / Required responseType | json | The type of data you expect in the response. You can request json, text, or binary data. | |
Retry On All Errors boolean retryAllErrors | false | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | |
Retry Delay (ms) string retryDelayMS | 0 | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | |
Timeout string timeout | The maximum time that a client will await a response to its request | 2000 | |
URL string / Required url | Input the path only (/deployments), The base URL is already included (https://app.pdq.com/v1/api). For example, to connect to https://app.pdq.com/v1/api/deployments, only /deployments is entered in this field. e.g. /deployments | /deployments | |
Use Exponential Backoff boolean useExponentialBackoff | false | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. |