WatchGuard Activations API

Activate hardware devices and software licenses.

OpenAPI Specification

watchguard-activations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: WatchGuard Cloud Platform Accounts Activations 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: Activations
  description: Activate hardware devices and software licenses.
paths:
  /platform/activation/v1/activate:
    post:
      operationId: activateDeviceOrLicense
      summary: Activate Device or License
      description: Activate one or more WatchGuard hardware devices or software licenses by serial number or license key. Activation is asynchronous — use the status URL to poll for completion.
      tags:
      - Activations
      security:
      - bearerAuth: []
        apiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivationRequest'
      responses:
        '202':
          description: Activation accepted and queued for processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /platform/activation/v1/recentactivations:
    get:
      operationId: getRecentActivations
      summary: Get Recent Activations
      description: Retrieve a paginated list of recent activation batches.
      tags:
      - Activations
      parameters:
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        schema:
          type: integer
          default: 100
      - name: sortBy
        in: query
        schema:
          type: string
          nullable: true
      security:
      - bearerAuth: []
        apiKeyAuth: []
      responses:
        '200':
          description: Recent activations list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecentActivationsList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /platform/activation/v1/activationbatchstatuses/{batchId}:
    put:
      operationId: getActivationStatus
      summary: Get Activation Status
      description: Retrieve the status of individual activation line items within a batch.
      tags:
      - Activations
      parameters:
      - name: batchId
        in: path
        required: true
        description: Activation batch ID returned by the activate endpoint.
        schema:
          type: string
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        schema:
          type: integer
          default: 100
      security:
      - bearerAuth: []
        apiKeyAuth: []
      responses:
        '200':
          description: Activation batch status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivationStatusResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    ActivationResponse:
      type: object
      properties:
        activations:
          type: array
          items:
            type: object
            properties:
              batchId:
                type: string
              status:
                type: string
                enum:
                - Processing
                - Created
                - Complete
                - CompleteWithErrors
              statusUrl:
                type: string
    ActivationRequest:
      type: object
      properties:
        activations:
          type: array
          items:
            type: object
            properties:
              activationKey:
                type: string
                description: Serial number or license key to activate.
    ActivationStatusResponse:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              lineItemId:
                type: string
              activationKey:
                type: string
              status:
                type: string
                enum:
                - Created
                - Queued
                - Pending
                - Success
                - Failed
              created:
                type: string
                format: date-time
              lastModified:
                type: string
                format: date-time
        pagination:
          $ref: '#/components/schemas/Pagination'
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        details:
          type: string
    RecentActivationsList:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              batchId:
                type: string
              activationStatus:
                type: string
              created:
                type: string
                format: date-time
              lastModified:
                type: string
                format: date-time
              lineItemCount:
                type: integer
        pagination:
          $ref: '#/components/schemas/Pagination'
    Pagination:
      type: object
      properties:
        offset:
          type: integer
        limit:
          type: integer
        totalResults:
          type: integer
  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'
    NotFound:
      description: Resource not found.
      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.