OpenAPI Specification
openapi: 3.1.0
info:
title: WatchGuard Cloud Platform Accounts Devices API
description: The WatchGuard Cloud Platform API provides RESTful access to WatchGuard Cloud account management, including account creation and management, authorization for managed accounts, device and license activations, asset allocations, and operator management. All endpoints require an OAuth 2.0 bearer token and a WatchGuard-API-Key header.
version: v1
contact:
name: WatchGuard Support
url: https://www.watchguard.com/help/docs/API/
servers:
- url: https://api.usa.cloud.watchguard.com/rest
description: USA Region
- url: https://api.eu.cloud.watchguard.com/rest
description: EU Region
- url: https://api.apac.cloud.watchguard.com/rest
description: APAC Region
tags:
- name: Devices
description: Manage and query endpoint devices.
paths:
/accounts/{accountId}/devices:
get:
operationId: listDevices
summary: List Devices
description: Retrieve a paginated, searchable list of managed endpoint devices for the account. Supports OData-style query parameters.
tags:
- Devices
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ODataTop'
- $ref: '#/components/parameters/ODataSkip'
- $ref: '#/components/parameters/ODataSearch'
- $ref: '#/components/parameters/ODataCount'
- $ref: '#/components/parameters/ODataOrderby'
- name: $config
in: query
description: Include configuration details in the response.
schema:
type: string
security:
- bearerAuth: []
apiKeyAuth: []
responses:
'200':
description: List of managed devices.
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceList'
'401':
$ref: '#/components/responses/Unauthorized'
/accounts/{accountId}/devicesprotectionstatus:
get:
operationId: getDevicesProtectionStatus
summary: Get Devices Protection Status
description: Retrieve protection status information for all managed devices.
tags:
- Devices
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ODataTop'
- $ref: '#/components/parameters/ODataSkip'
- $ref: '#/components/parameters/ODataSearch'
- $ref: '#/components/parameters/ODataCount'
- $ref: '#/components/parameters/ODataOrderby'
security:
- bearerAuth: []
apiKeyAuth: []
responses:
'200':
description: Device protection status list.
'401':
$ref: '#/components/responses/Unauthorized'
/accounts/{accountId}/unmanageddevices:
get:
operationId: listUnmanagedDevices
summary: List Unmanaged Devices
description: Retrieve devices discovered on the network that are not yet managed.
tags:
- Devices
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ODataTop'
- $ref: '#/components/parameters/ODataSkip'
- $ref: '#/components/parameters/ODataSearch'
- $ref: '#/components/parameters/ODataCount'
- $ref: '#/components/parameters/ODataOrderby'
security:
- bearerAuth: []
apiKeyAuth: []
responses:
'200':
description: List of unmanaged devices.
'401':
$ref: '#/components/responses/Unauthorized'
components:
parameters:
ODataOrderby:
name: $orderby
in: query
description: Sort results (e.g., hostname+asc).
schema:
type: string
ODataSearch:
name: $search
in: query
description: Text search across supported fields.
schema:
type: string
AccountId:
name: accountId
in: path
required: true
description: WatchGuard Cloud account ID.
schema:
type: string
ODataTop:
name: $top
in: query
description: Number of records to return (max 3000).
schema:
type: integer
maximum: 3000
ODataCount:
name: $count
in: query
description: Include total count in response.
schema:
type: boolean
ODataSkip:
name: $skip
in: query
description: Number of records to skip for pagination.
schema:
type: integer
responses:
Unauthorized:
description: Unauthorized — invalid or expired access token or API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
Device:
type: object
description: An endpoint device managed by WatchGuard Endpoint Security.
properties:
deviceId:
type: string
hostname:
type: string
ipAddress:
type: string
operatingSystem:
type: string
agentVersion:
type: string
protectionStatus:
type: string
enum:
- Protected
- AtRisk
- Unprotected
lastSeen:
type: string
format: date-time
ErrorResponse:
type: object
properties:
code:
type: integer
message:
type: string
DeviceList:
type: object
properties:
value:
type: array
items:
$ref: '#/components/schemas/Device'
count:
type: integer
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth 2.0 access token obtained from the WatchGuard Authentication API.
apiKeyAuth:
type: apiKey
in: header
name: WatchGuard-API-Key
description: API key from the WatchGuard Cloud Managed Access page.