Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/watchguard-devices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.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:
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
ODataSearch:
name: $search
in: query
description: Text search across supported fields.
schema:
type: string
ODataCount:
name: $count
in: query
description: Include total count in response.
schema:
type: boolean
ODataOrderby:
name: $orderby
in: query
description: Sort results (e.g., hostname+asc).
schema:
type: string
ODataSkip:
name: $skip
in: query
description: Number of records to skip for pagination.
schema:
type: integer
schemas:
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
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
responses:
Unauthorized:
description: Unauthorized — invalid or expired access token or API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
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.