WatchGuard Operators API

Manage WatchGuard Cloud operator users.

OpenAPI Specification

watchguard-operators-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: WatchGuard Cloud Platform Accounts Operators 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: Operators
  description: Manage WatchGuard Cloud operator users.
paths:
  /platform/operator-mgmt/v1/operators:
    post:
      operationId: createOperators
      summary: Create Operators
      description: Create one or more WatchGuard Cloud operator users for an account.
      tags:
      - Operators
      security:
      - bearerAuth: []
        apiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOperatorRequest'
      responses:
        '200':
          description: Operator creation queued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatorTransactionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
    patch:
      operationId: updateOperators
      summary: Update Operators
      description: Update existing WatchGuard Cloud operator user information.
      tags:
      - Operators
      security:
      - bearerAuth: []
        apiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOperatorRequest'
      responses:
        '200':
          description: Operator update queued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatorTransactionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /platform/operator-mgmt/v1/DeleteOperators:
    post:
      operationId: deleteOperators
      summary: Delete Operators
      description: Delete one or more WatchGuard Cloud operator users.
      tags:
      - Operators
      security:
      - bearerAuth: []
        apiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteOperatorRequest'
      responses:
        '200':
          description: Operator deletion queued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatorTransactionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /platform/operator-mgmt/v1/TransactionStatus:
    get:
      operationId: getOperatorTransactionStatus
      summary: Get Operator Transaction Status
      description: Check the status of a previously submitted operator management transaction.
      tags:
      - Operators
      parameters:
      - name: transaction_id
        in: query
        required: true
        description: Transaction ID returned by a create/update/delete operator request.
        schema:
          type: string
      security:
      - bearerAuth: []
        apiKeyAuth: []
      responses:
        '200':
          description: Transaction status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionStatusResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /platform/operator-mgmt/v1/OperatorsByAccountId:
    get:
      operationId: getOperatorsByAccount
      summary: Get Operators by Account
      description: Retrieve all operator users associated with a WatchGuard Cloud account.
      tags:
      - Operators
      parameters:
      - name: account_id
        in: query
        required: true
        description: WatchGuard Cloud account ID.
        schema:
          type: string
      security:
      - bearerAuth: []
        apiKeyAuth: []
      responses:
        '200':
          description: List of operators for the account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatorListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    UpdateOperatorRequest:
      type: object
      required:
      - username
      - accountId
      properties:
        username:
          type: string
        accountId:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        phone:
          type: string
        role:
          type: string
    OperatorTransactionResponse:
      type: object
      properties:
        transaction_id:
          type: string
        status:
          type: string
        message:
          type: string
    DeleteOperatorRequest:
      type: object
      required:
      - username
      - accountId
      properties:
        username:
          type: string
        accountId:
          type: string
    OperatorListResponse:
      type: object
      properties:
        result:
          type: array
          items:
            type: object
            properties:
              accountId:
                type: string
              email:
                type: string
              firstName:
                type: string
              lastName:
                type: string
              phone:
                type: string
              mfa:
                type: boolean
              userName:
                type: string
        status:
          type: string
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        details:
          type: string
    TransactionStatusResponse:
      type: object
      properties:
        status:
          type: string
        transaction_status:
          type: array
          items:
            type: object
            properties:
              username:
                type: string
              status:
                type: string
              message:
                type: string
    CreateOperatorRequest:
      type: object
      required:
      - username
      - accountId
      - firstName
      - lastName
      - email
      - phone
      - role
      properties:
        username:
          type: string
        accountId:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
          format: email
        phone:
          type: string
        role:
          type: string
        password:
          type: string
  responses:
    Unauthorized:
      description: Unauthorized — invalid or expired access token or API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad request — validation error in request body or parameters.
      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.