Kaseya /v2/site API

Operations on sites

Operations 16

PUT /v2/site Creates a new site in the authenticated user's account. #
PUT /v2/site/{siteUid}/variable Creates a site variable in the site identified by the given site Uid. #
GET /v2/site/{siteUid} Fetches data of the site (including total number of devices) identified by the given site Uid. #
POST /v2/site/{siteUid} Updates the site identified by the given site Uid. #
POST /v2/site/{siteUid}/variable/{variableId} Updates the site variable identified by the given site Uid and variable Id. #
DELETE /v2/site/{siteUid}/variable/{variableId} Deletes the site variable identified by the given site Uid and variable Id. #
POST /v2/site/{siteUid}/settings/proxy Creates/updates the proxy settings for the site identified by the given site Uid. #
DELETE /v2/site/{siteUid}/settings/proxy Deletes site proxy settings for the site identified by the given site Uid. #
GET /v2/site/{siteUid}/variables Fetches the variables of the site identified by the given site Uid. #
GET /v2/site/{siteUid}/settings Fetches settings of the site identified by the given site Uid. #
GET /v2/site/{siteUid}/patches Fetches the patches of all devices in the site identified by the given site Uid. #
GET /v2/site/{siteUid}/filters Fetches the site device filters (that the user can see with administrator role) of the site identified by the given site Uid. #
GET /v2/site/{siteUid}/devices Fetches the devices records of the site identified by the given site Uid. #
GET /v2/site/{siteUid}/devices/network-interface Fetches the shortened devices records with network interface information of the site identified by the given site Uid. #
GET /v2/site/{siteUid}/alerts/resolved Fetches the resolved alerts of the site identified by the given site Uid. #
GET /v2/site/{siteUid}/alerts/open Fetches the open alerts of the site identified by the given site Uid. #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kaseya-v2-site-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

kaseya-v2-site-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Datto RMM /v2/site API
  description: Datto RMM (Remote Monitoring and Management) REST API
  license:
    name: '©Datto, Inc. - All rights reserved. '
    url: http://www.datto.com/
  version: 2.0.0 (Build 235_0add0e4d537431f30405d568ccb46b6d7af1f183)
servers:
- url: https://syrah-api.centrastage.net/api
  description: Generated server url
tags:
- name: /v2/site
  description: Operations on sites
paths:
  /v2/site:
    put:
      tags:
      - /v2/site
      summary: Creates a new site in the authenticated user's account.
      operationId: create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSiteRequest'
        required: true
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site
        '400':
          description: Request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 400
                error: Bad Request
                path: /v2/site
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 401
                error: Unauthorized
                path: /v2/site
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: Site data
                properties:
                  id:
                    type: integer
                    format: int64
                  uid:
                    type: string
                    description: Unique alphanumeric UID of this site
                  accountUid:
                    type: string
                    description: Unique alphanumeric UID of the account to which this site belongs
                  name:
                    type: string
                  description:
                    type: string
                  notes:
                    type: string
                  onDemand:
                    type: boolean
                  splashtopAutoInstall:
                    type: boolean
                  proxySettings:
                    $ref: '#/components/schemas/ProxySettings'
                  devicesStatus:
                    $ref: '#/components/schemas/DevicesStatus'
                  autotaskCompanyName:
                    type: string
                  autotaskCompanyId:
                    type: string
                  portalUrl:
                    type: string
  /v2/site/{siteUid}/variable:
    put:
      tags:
      - /v2/site
      summary: Creates a site variable in the site identified by the given site Uid.
      operationId: createSiteVariable
      parameters:
      - name: siteUid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Variable_Creation_Request'
        required: true
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site/{siteUid}/variable
        '409':
          description: Request aborted due to concurrent write access to this record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site/{siteUid}/variable
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 403
                error: Forbidden
                path: /v2/site/{siteUid}/variable
        '400':
          description: Request parameters are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 400
                error: Bad Request
                path: /v2/site/{siteUid}/variable
        '404':
          description: Variable was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 404
                error: Not Found
                path: /v2/site/{siteUid}/variable
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 401
                error: Unauthorized
                path: /v2/site/{siteUid}/variable
        '200':
          description: OK
  /v2/site/{siteUid}:
    get:
      tags:
      - /v2/site
      summary: Fetches data of the site (including total number of devices) identified by the given site Uid.
      operationId: getSite
      parameters:
      - name: siteUid
        in: path
        required: true
        schema:
          type: string
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site/{siteUid}
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site/{siteUid}
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 404
                error: Not Found
                path: /v2/site/{siteUid}
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 403
                error: Forbidden
                path: /v2/site/{siteUid}
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 401
                error: Unauthorized
                path: /v2/site/{siteUid}
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: Site data
                properties:
                  id:
                    type: integer
                    format: int64
                  uid:
                    type: string
                    description: Unique alphanumeric UID of this site
                  accountUid:
                    type: string
                    description: Unique alphanumeric UID of the account to which this site belongs
                  name:
                    type: string
                  description:
                    type: string
                  notes:
                    type: string
                  onDemand:
                    type: boolean
                  splashtopAutoInstall:
                    type: boolean
                  proxySettings:
                    $ref: '#/components/schemas/ProxySettings'
                  devicesStatus:
                    $ref: '#/components/schemas/DevicesStatus'
                  autotaskCompanyName:
                    type: string
                  autotaskCompanyId:
                    type: string
                  portalUrl:
                    type: string
    post:
      tags:
      - /v2/site
      summary: Updates the site identified by the given site Uid.
      operationId: update
      parameters:
      - name: siteUid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteRequest'
        required: true
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site/{siteUid}
        '409':
          description: Request aborted due to concurrent write access to this record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site/{siteUid}
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 403
                error: Forbidden
                path: /v2/site/{siteUid}
        '400':
          description: Request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 400
                error: Bad Request
                path: /v2/site/{siteUid}
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 401
                error: Unauthorized
                path: /v2/site/{siteUid}
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 404
                error: Not Found
                path: /v2/site/{siteUid}
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: Site data
                properties:
                  id:
                    type: integer
                    format: int64
                  uid:
                    type: string
                    description: Unique alphanumeric UID of this site
                  accountUid:
                    type: string
                    description: Unique alphanumeric UID of the account to which this site belongs
                  name:
                    type: string
                  description:
                    type: string
                  notes:
                    type: string
                  onDemand:
                    type: boolean
                  splashtopAutoInstall:
                    type: boolean
                  proxySettings:
                    $ref: '#/components/schemas/ProxySettings'
                  devicesStatus:
                    $ref: '#/components/schemas/DevicesStatus'
                  autotaskCompanyName:
                    type: string
                  autotaskCompanyId:
                    type: string
                  portalUrl:
                    type: string
  /v2/site/{siteUid}/variable/{variableId}:
    post:
      tags:
      - /v2/site
      summary: Updates the site variable identified by the given site Uid and variable Id.
      operationId: updateSiteVariable
      parameters:
      - name: siteUid
        in: path
        required: true
        schema:
          type: string
      - name: variableId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Variable_Update_Request'
        required: true
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site/{siteUid}/variable/{variableId}
        '409':
          description: Request aborted due to concurrent write access to this record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site/{siteUid}/variable/{variableId}
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 403
                error: Forbidden
                path: /v2/site/{siteUid}/variable/{variableId}
        '400':
          description: Request parameters are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 400
                error: Bad Request
                path: /v2/site/{siteUid}/variable/{variableId}
        '404':
          description: Variable was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 404
                error: Not Found
                path: /v2/site/{siteUid}/variable/{variableId}
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 401
                error: Unauthorized
                path: /v2/site/{siteUid}/variable/{variableId}
        '200':
          description: OK
    delete:
      tags:
      - /v2/site
      summary: Deletes the site variable identified by the given site Uid and variable Id.
      operationId: deleteSiteVariable
      parameters:
      - name: siteUid
        in: path
        required: true
        schema:
          type: string
      - name: variableId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site/{siteUid}/variable/{variableId}
        '409':
          description: Request aborted due to concurrent write access to this record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site/{siteUid}/variable/{variableId}
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 403
                error: Forbidden
                path: /v2/site/{siteUid}/variable/{variableId}
        '400':
          description: Request parameters are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 400
                error: Bad Request
                path: /v2/site/{siteUid}/variable/{variableId}
        '404':
          description: Variable was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 404
                error: Not Found
                path: /v2/site/{siteUid}/variable/{variableId}
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 401
                error: Unauthorized
                path: /v2/site/{siteUid}/variable/{variableId}
        '200':
          description: OK
  /v2/site/{siteUid}/settings/proxy:
    post:
      tags:
      - /v2/site
      summary: Creates/updates the proxy settings for the site identified by the given site Uid.
      operationId: updateProxy
      parameters:
      - name: siteUid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProxySettings'
        required: true
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site/{siteUid}/settings/proxy
        '409':
          description: Request aborted due to concurrent write access to this record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site/{siteUid}/settings/proxy
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 403
                error: Forbidden
                path: /v2/site/{siteUid}/settings/proxy
        '400':
          description: Request parameters are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 400
                error: Bad Request
                path: /v2/site/{siteUid}/settings/proxy
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 404
                error: Not Found
                path: /v2/site/{siteUid}/settings/proxy
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 401
                error: Unauthorized
                path: /v2/site/{siteUid}/settings/proxy
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: Site settings data
                properties:
                  generalSettings:
                    $ref: '#/components/schemas/GeneralSettings'
                  proxySettings:
                    $ref: '#/components/schemas/ProxySettings'
                  mailRecipients:
                    type: array
                    items:
                      $ref: '#/components/schemas/MailRecipient'
    delete:
      tags:
      - /v2/site
      summary: Deletes site proxy settings for the site identified by the given site Uid.
      operationId: deleteProxy
      parameters:
      - name: siteUid
        in: path
        required: true
        schema:
          type: string
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site/{siteUid}/settings/proxy
        '409':
          description: Request aborted due to concurrent write access to this record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site/{siteUid}/settings/proxy
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 404
                error: Not Found
                path: /v2/site/{siteUid}/settings/proxy
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 403
                error: Forbidden
                path: /v2/site/{siteUid}/settings/proxy
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 401
                error: Unauthorized
                path: /v2/site/{siteUid}/settings/proxy
        '204':
          description: Nothing was done because the proxy data doesn't exist.
  /v2/site/{siteUid}/variables:
    get:
      tags:
      - /v2/site
      summary: Fetches the variables of the site identified by the given site Uid.
      operationId: getSiteVariables
      parameters:
      - name: siteUid
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: max
        in: query
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site/{siteUid}/variables
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site/{siteUid}/variables
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 404
                error: Not Found
                path: /v2/site/{siteUid}/variables
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 403
                error: Forbidden
                path: /v2/site/{siteUid}/variables
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 401
                error: Unauthorized
                path: /v2/site/{siteUid}/variables
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: Variables page
                properties:
                  pageDetails:
                    $ref: '#/components/schemas/PaginationData'
                  variables:
                    type: array
                    items:
                      $ref: '#/components/schemas/Variable'
                    uniqueItems: true
  /v2/site/{siteUid}/settings:
    get:
      tags:
      - /v2/site
      summary: Fetches settings of the site identified by the given site Uid.
      operationId: getSiteSettings
      parameters:
      - name: siteUid
        in: path
        required: true
        schema:
          type: string
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site/{siteUid}/settings
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site/{siteUid}/settings
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 404
                error: Not Found
                path: /v2/site/{siteUid}/settings
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 403
                error: Forbidden
                path: /v2/site/{siteUid}/settings
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 401
                error: Unauthorized
                path: /v2/site/{siteUid}/settings
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: Site settings data
                properties:
                  generalSettings:
                    $ref: '#/components/schemas/GeneralSettings'
                  proxySettings:
                    $ref: '#/components/schemas/ProxySettings'
                  mailRecipients:
                    type: array
                    items:
                      $ref: '#/components/schemas/MailRecipient'
  /v2/site/{siteUid}/patches:
    get:
      tags:
      - /v2/site
      summary: Fetches the patches of all devices in the site identified by the given site Uid.
      description: Returns a paginated list of patches aggregated across the site's devices. When the optional installStatus parameter is omitted, a single patch may appear up to three times — once per bucket (INSTALLED/APPROVED_PENDING/NOT_APPROVED) it has devices in, each with its own totalDevices count.
      operationId: getSitePatches
      parameters:
      - name: siteUid
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: max
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: installStatus
        in: query
        required: false
        schema:
          type: string
          enum:
          - INSTALLED
          - APPROVED_PENDING
          - NOT_APPROVED
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 500
                error: Internal Server Error
                path: /v2/site/{siteUid}/patches
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                timestamp: 1781181715656
                status: 409
                error: Conflict
                path: /v2/site/{siteUid}/patches
        '404':
    

# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kaseya/refs/heads/main/openapi/kaseya-v2-site-api-openapi.yml