WatchGuard Accounts API
Manage WatchGuard Cloud accounts and sub-accounts.
Manage WatchGuard Cloud accounts and sub-accounts.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/watchguard-accounts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: WatchGuard Cloud Platform Accounts 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: Accounts
description: Manage WatchGuard Cloud accounts and sub-accounts.
paths:
/platform/accounts/v1/accounts/{accountId}:
get:
operationId: getAccount
summary: Get Account Information
description: Retrieve information about a WatchGuard Cloud account including contacts, addresses, parent account, and service properties.
tags:
- Accounts
parameters:
- $ref: '#/components/parameters/AccountId'
- name: fields
in: query
description: Specify additional fields to include in the response.
schema:
type: array
items:
type: string
enum:
- contacts
- parent
- addresses
- serviceProperties
- delegatedParent
security:
- bearerAuth: []
apiKeyAuth: []
responses:
'200':
description: Account information retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountInfo'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: createAccount
summary: Create Account
description: Create a new WatchGuard Cloud managed account (service provider or subscriber).
tags:
- Accounts
parameters:
- $ref: '#/components/parameters/AccountId'
security:
- bearerAuth: []
apiKeyAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAccountRequest'
responses:
'200':
description: Account created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAccountResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
patch:
operationId: updateAccount
summary: Update Account
description: Update the name and primary contact details of a managed account.
tags:
- Accounts
parameters:
- $ref: '#/components/parameters/AccountId'
security:
- bearerAuth: []
apiKeyAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAccountRequest'
responses:
'204':
description: Account updated successfully.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
delete:
operationId: deleteAccount
summary: Delete Account
description: Delete a managed WatchGuard Cloud account and optionally all its sub-accounts.
tags:
- Accounts
parameters:
- $ref: '#/components/parameters/AccountId'
- name: force
in: query
description: If true, delete the account and all managed sub-accounts.
schema:
type: boolean
default: false
security:
- bearerAuth: []
apiKeyAuth: []
responses:
'200':
description: Account deleted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteAccountResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/platform/accounts/v1/accounts/{accountId}/children:
get:
operationId: getManagedAccounts
summary: Get Managed Accounts
description: Retrieve a paginated list of accounts managed by the specified account.
tags:
- Accounts
parameters:
- $ref: '#/components/parameters/AccountId'
- name: type
in: query
description: Filter by account type (0=All, 1=Service Provider, 2=Subscriber).
schema:
type: integer
enum:
- 0
- 1
- 2
- name: sortBy
in: query
schema:
type: string
enum:
- name
- type
- name: sortOrder
in: query
schema:
type: string
enum:
- asc
- desc
- name: offset
in: query
schema:
type: integer
minimum: 0
- name: limit
in: query
schema:
type: integer
minimum: 1
- name: name
in: query
description: Filter accounts by name.
schema:
type: string
- name: includeDelegatedAccounts
in: query
schema:
type: boolean
default: false
security:
- bearerAuth: []
apiKeyAuth: []
responses:
'200':
description: List of managed accounts.
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedAccountList'
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
BadRequest:
description: Bad request — validation error in request body or parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: Resource not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Unauthorized — invalid or expired access token or API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
parameters:
AccountId:
name: accountId
in: path
required: true
description: WatchGuard Cloud account ID (e.g., WGC-1-123abc456 or ACC-1234567).
schema:
type: string
schemas:
ErrorResponse:
type: object
properties:
code:
type: integer
message:
type: string
details:
type: string
CreateAccountRequest:
type: object
required:
- type
- name
- firstName
- lastName
- email
properties:
type:
type: integer
enum:
- 1
- 2
description: 1=Service Provider, 2=Subscriber
name:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
format: email
CreateAccountResponse:
type: object
properties:
accountID:
type: string
description: Newly created account ID.
UpdateAccountRequest:
type: object
required:
- name
- firstName
- lastName
- email
properties:
name:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
format: email
PageControls:
type: object
properties:
limit:
type: integer
offset:
type: integer
totalItems:
type: integer
ManagedAccount:
type: object
properties:
accountId:
type: string
name:
type: string
type:
type: integer
parentAccess:
type: string
totalOperators:
type: integer
AccountInfo:
type: object
description: WatchGuard Cloud account information.
properties:
accountId:
type: string
name:
type: string
status:
type: string
type:
type: integer
description: 1=Service Provider, 2=Subscriber
contacts:
type: object
properties:
primaryContactId:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
phone:
type: string
addresses:
type: object
parent:
type: object
properties:
id:
type: string
access:
type: string
serviceProperties:
type: object
DeleteAccountResponse:
type: object
properties:
childIds:
type: array
items:
type: string
description: IDs of deleted child accounts.
ManagedAccountList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/ManagedAccount'
pageControls:
$ref: '#/components/schemas/PageControls'
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.