Kaseya RMM Integration API

The RMMIntegration API from Kaseya — 10 operation(s) for rmmintegration.

Operations 11

GET /v2/rmm/{integrationType}/status #
GET /v2/rmm/integrations #
POST /v2/rmm/{integrationType}/tickets #
POST /v2/rmm/{integrationType}/tickets/resolve #
POST /v2/rmm/{integrationType}/tickets/duplicate #
GET /v2/rmm/{integrationType}/tickets/status/{jobId} #
POST /v2/rmm/{integrationType}/assets #
PUT /v2/rmm/{integrationType}/assets #
PUT /v2/rmm/{integrationType}/assets/deactivate #
GET /v2/rmm/{integrationType}/assets/status/{jobId} #
GET /v2/rmm/{integrationType}/remotesessions/{assetId} #

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-rmmintegration-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-rmmintegration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BMS API 2.0 RMM Integration API
  description: Documentation of APIs Version 2.0
  version: '2.0'
servers:
- url: https://api.bms.kaseya.com
security:
- bearerAuth: []
tags:
- name: RMMIntegration
paths:
  /v2/rmm/{integrationType}/status:
    get:
      tags:
      - RMMIntegration
      operationId: GetRMMIntegrationStatus
      parameters:
      - name: integrationType
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IntegrationStatusOutputDtoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationStatusOutputDtoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/IntegrationStatusOutputDtoResponse'
  /v2/rmm/integrations:
    get:
      tags:
      - RMMIntegration
      operationId: GetRMMSettings
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/RMMSettingsDtoListResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/RMMSettingsDtoListResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/RMMSettingsDtoListResponse'
  /v2/rmm/{integrationType}/tickets:
    post:
      tags:
      - RMMIntegration
      operationId: PostTickets
      parameters:
      - name: integrationType
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketInputDto'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketInputDto'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketInputDto'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketInputDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
  /v2/rmm/{integrationType}/tickets/resolve:
    post:
      tags:
      - RMMIntegration
      operationId: ResolveTickets
      parameters:
      - name: integrationType
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketResolveInputDto'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketResolveInputDto'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketResolveInputDto'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketResolveInputDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
  /v2/rmm/{integrationType}/tickets/duplicate:
    post:
      tags:
      - RMMIntegration
      operationId: DuplicateTickets
      parameters:
      - name: integrationType
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketDuplicateInputDto'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketDuplicateInputDto'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketDuplicateInputDto'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationTicketDuplicateInputDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
  /v2/rmm/{integrationType}/tickets/status/{jobId}:
    get:
      tags:
      - RMMIntegration
      operationId: GetJobstatus
      parameters:
      - name: integrationType
        in: path
        required: true
        schema:
          type: string
      - name: jobId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IntegrationTicketJobStatusOutputDtoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationTicketJobStatusOutputDtoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/IntegrationTicketJobStatusOutputDtoResponse'
  /v2/rmm/{integrationType}/assets:
    post:
      tags:
      - RMMIntegration
      operationId: PostAssets
      parameters:
      - name: integrationType
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationtAssetInputDto'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationtAssetInputDto'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationtAssetInputDto'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationtAssetInputDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
    put:
      tags:
      - RMMIntegration
      operationId: PutAssets
      parameters:
      - name: integrationType
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationtAssetInputDto'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationtAssetInputDto'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationtAssetInputDto'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationtAssetInputDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
  /v2/rmm/{integrationType}/assets/deactivate:
    put:
      tags:
      - RMMIntegration
      operationId: DeactivateAssets
      parameters:
      - name: integrationType
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationDeactivateAssetInputDto'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationDeactivateAssetInputDto'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationDeactivateAssetInputDto'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationDeactivateAssetInputDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/IntegrationJobOutputDtoResponse'
  /v2/rmm/{integrationType}/assets/status/{jobId}:
    get:
      tags:
      - RMMIntegration
      operationId: GetAssetJobStatus
      parameters:
      - name: integrationType
        in: path
        required: true
        schema:
          type: string
      - name: jobId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IntegrationAssetJobStatusOutputDtoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationAssetJobStatusOutputDtoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/IntegrationAssetJobStatusOutputDtoResponse'
  /v2/rmm/{integrationType}/remotesessions/{assetId}:
    get:
      tags:
      - RMMIntegration
      operationId: GetRemoteSessions
      parameters:
      - name: integrationType
        in: path
        required: true
        schema:
          type: string
      - name: assetId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/RemoteSessionsOutputDtoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteSessionsOutputDtoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/RemoteSessionsOutputDtoResponse'
components:
  schemas:
    IntegrationDeactivateAssetInputDto:
      type: object
      properties:
        TransactionId:
          type:
          - string
          - 'null'
        AssetId:
          type:
          - string
          - 'null'
      additionalProperties: false
    IntegrationStatusOutputDto:
      type: object
      properties:
        IsEnabled:
          type: boolean
      additionalProperties: false
    ErrorInfo:
      type: object
      properties:
        Code:
          type: integer
          format: int32
        Message:
          type:
          - string
          - 'null'
        Details:
          type:
          - string
          - 'null'
        StackStrace:
          type:
          - string
          - 'null'
        SubErrors:
          type:
          - array
          - 'null'
          items:
            type: string
      additionalProperties: false
    AssetDetailsInputDto:
      type: object
      properties:
        AssetManufacturer:
          type:
          - string
          - 'null'
        SerialNumber:
          type:
          - string
          - 'null'
        ModelNumber:
          type:
          - string
          - 'null'
        ProductName:
          type:
          - string
          - 'null'
        MachineVersion:
          type:
          - string
          - 'null'
        OsType:
          type:
          - string
          - 'null'
        OsInfo:
          type:
          - string
          - 'null'
        MajorVersion:
          type:
          - string
          - 'null'
        MinorVersion:
          type:
          - string
          - 'null'
        LoginName:
          type:
          - string
          - 'null'
        LastLoginName:
          type:
          - string
          - 'null'
        CurrentUser:
          type:
          - string
          - 'null'
        FirstCheckIn:
          type:
          - string
          - 'null'
          format: date-time
        LastCheckIn:
          type:
          - string
          - 'null'
          format: date-time
        LastReboot:
          type:
          - string
          - 'null'
          format: date-time
        AssetTag:
          type:
          - string
          - 'null'
        MaxMemorySize:
          type:
          - string
          - 'null'
        MaxMemorySlots:
          type:
          - string
          - 'null'
      additionalProperties: false
    AssetMotherboardInfoInputDto:
      type: object
      properties:
        MotherboardManufacturer:
          type:
          - string
          - 'null'
        MotherboardProductCode:
          type:
          - string
          - 'null'
        MotherboardVersion:
          type:
          - string
          - 'null'
        MotherboardSerialNumber:
          type:
          - string
          - 'null'
        BusSpeed:
          type:
          - string
          - 'null'
      additionalProperties: false
    IntegrationTicketInputDto:
      type: object
      properties:
        TransactionId:
          type:
          - string
          - 'null'
        AlertRefId:
          type:
          - string
          - 'null'
        Organization:
          $ref: '#/components/schemas/IntegrationAccountInputDto'
        Title:
          type:
          - string
          - 'null'
        Details:
          type:
          - string
          - 'null'
        OpenDate:
          type: string
          format: date-time
        Asset:
          $ref: '#/components/schemas/IntegrationTicketAssetInputDto'
        DuplicationCount:
          type: integer
          format: int32
        LastOccurence:
          type:
          - string
          - 'null'
          format: date-time
      additionalProperties: false
    AssetDiskVolumeInputDto:
      type: object
      properties:
        Drive:
          type:
          - string
          - 'null'
        Type:
          type:
          - string
          - 'null'
        Format:
          type:
          - string
          - 'null'
        FreeMBytes:
          type: integer
          format: int64
        UsedMBytes:
          type: integer
          format: int64
        TotalMBytes:
          type: integer
          format: int64
        Label:
          type:
          - string
          - 'null'
      additionalProperties: false
    IntegrationAssetJobStatusOutputDto:
      type: object
      properties:
        JobId:
          type: integer
          format: int64
        JobStatus:
          type:
          - string
          - 'null'
        ActionType:
          type: integer
          format: int32
        Details:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/IntegrationAssetJobDetailOutput'
      additionalProperties: false
    IntegrationTicketJobStatusOutputDtoResponse:
      type: object
      properties:
        Success:
          type: boolean
          readOnly: true
        Error:
          $ref: '#/components/schemas/ErrorInfo'
        Result:
          $ref: '#/components/schemas/IntegrationTicketJobStatusOutputDto'
      additionalProperties: false
    IntegrationAssetJobStatusOutputDtoResponse:
      type: object
      properties:
        Success:
          type: boolean
          readOnly: true
        Error:
          $ref: '#/components/schemas/ErrorInfo'
        Result:
          $ref: '#/components/schemas/IntegrationAssetJobStatusOutputDto'
      additionalProperties: false
    IntegrationTicketJobStatusOutputDto:
      type: object
      properties:
        JobId:
          type: integer
          format: int64
        JobStatus:
          type:
          - string
          - 'null'
        ActionType:
          type: integer
          format: int32
        Details:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/IntegrationTicketJobDetailOutputDto'
      additionalProperties: false
    IntegrationTicketJobDetailOutputDto:
      type: object
      properties:
        StatusCode:
          type:
          - string
          - 'null'
        StatusMessage:
          type:
          - string
          - 'null'
        TransactionId:
          type:
          - string
          - 'null'
        AlertRefId:
          type:
          - string
          - 'null'
        TicketNumber:
          type:
          - string
          - 'null'
        TicketId:
          type:
          - integer
          - 'null'
          format: int32
      additionalProperties: false
    RMMSettingsDtoListResponse:
      type: object
      properties:
        Success:
          type: boolean
          readOnly: true
        Error:
          $ref: '#/components/schemas/ErrorInfo'
        Result:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/RMMSettingsDto'
      additionalProperties: false
    IntegrationTicketDuplicateInputDto:
      type: object
      properties:
        TransactionId:
          type:
          - string
          - 'null'
        AlertRefId:
          type:
          - string
          - 'null'
        DuplicationCount:
          type: integer
          format: int32
        LastOccurence:
          type:
          - string
          - 'null'
          format: date-time
        ReopenTicket:
          type: boolean
      additionalProperties: false
    IntegrationTicketResolveInputDto:
      type: object
      properties:
        TransactionId:
          type:
          - string
          - 'null'
        AlertRefId:
          type:
          - string
          - 'null'
        ResolutionNote:
          type:
          - string
          - 'null'
      additionalProperties: false
    IntegrationtAssetInputDto:
      type: object
      properties:
        TransactionId:
          type:
          - string
          - 'null'
        AssetId:
          type:
          - string
          - 'null'
        AgentId:
          type:
          - string
          - 'null'
        Organization:
          $ref: '#/components/schemas/IntegrationAccountInputDto'
        Name:
          type:
          - string
          - 'null'
        Description:
          type:
          - string
          - 'null'
        MachineGroupId:
          type:
          - string
          - 'null'
        Type:
          type:
          - string
          - 'null'
        LocationId:
          type:
          - string
          - 'null'
        AdditionalInfo:
          $ref: '#/components/schemas/AssetAdditionalInfoInputDto'
        AssetDetails:
          $ref: '#/components/schemas/AssetDetailsInputDto'
        AssetNetworkDetails:
          $ref: '#/components/schemas/AssetNetworkDetailsInputDto'
        AssetMotherboardInfo:
          $ref: '#/components/schemas/AssetMotherboardInfoInputDto'
        AssetChassisInfo:
          $ref: '#/components/schemas/AssetChassisInfoInputDto'
        AssetDiskVolumes:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/AssetDiskVolumeInputDto'
      additionalProperties: false
    IntegrationJobOutputDto:
      type: object
      properties:
        JobId:
          type:
          - string
          - 'null'
      additionalProperties: false
    RMMSettingsDto:
      type: object
      properties:
        Type:
          type: integer
          format: int32
        Enabled:
          type: boolean
        Target:
          type:
          - string
          - 'null'
        EnableRemoteConnect:
          type: boolean
        ShowServerAddressOnTicket:
          type: boolean
      additionalProperties: false
    AssetAdditionalInfoInputDto:
      type: object
      properties:
        AcquisitionDate:
          type:
          - string
          - 'null'
          format: date-time
        WarrantyExpDate:
          type:
          - string
          - 'null'
          format: date-time
        ExpiryDate:
          type:
          - string
          - 'null'
          format: date-time
        Barcode:
          type:
          - string
          - 'null'
        PurchaseCost:
          type:
          - number
          - 'null'
          format: double
      additionalProperties: false
    IntegrationJobOutputDtoResponse:
      type: object
      properties:
        Success:
          type: boolean
          readOnly: true
        Error:
          $ref: '#/components/schemas/ErrorInfo'
        Result:
          $ref: '#/components/schemas/IntegrationJobOutputDto'
      additionalProperties: false
    RemoteSessionsOutputDto:
      type: object
      properties:
        AuthorizationLink:
          type:
          - string
          - 'null'
        Sessions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/PulsewayRemoteSessionEntity'
        IsOffline:
          type: boolean
      additionalProperties: false
    AssetNetworkDetailsInputDto:
      type: object
      properties:
        IpAddress:
          type:
          - string
          - 'null'
        SubnetMask:
          type:
          - string
          - 'null'
        DefaultGateway:
          type:
          - string
          - 'null'
        MacAddress:
          type:
          - string
          - 'null'
        DNSServers:
          type:
          - string
          - 'null'
        ConnectionGatewayIp:
          type:
          - string
          - 'null'
        WinsEnabled:
          type: boolean
        PrimaryWinsServer:
          type:
          - string
          - 'null'
        SecondaryWinsServer:
          type:
          - string
          - 'null'
        DHCPEnabled:
          type: boolean
        DHCPServer:
          type:
          - string
          - 'null'
      additionalProperties: false
    IntegrationStatusOutputDtoResponse:
      type: object
      properties:
        Success:
          type: boolean
          readOnly: true
        Error:
          $ref: '#/components/schemas/ErrorInfo'
        Result:
          $ref: '#/components/schemas/IntegrationStatusOutputDto'
      additionalProperties: false
    IntegrationAssetJobDetailOutput:
      type: object
      properties:
        StatusCode:
          type:
          - string
          - 'null'
        StatusMessage:
          type:
          - string
          - 'null'
        TransactionId:
          type:
          - string
          - 'null'
        AssetId:
          type:
          - string
          - 'null'
        PsaAssetId:
          type:
          - integer
          - 'null'
          format: int32
      additionalProperties: false
    PulsewayRemoteSessionEntity:
      type: object
      properties:
        Token:
          type:
          - string
          - 'null'
        Name:
          type:
          - string
          - 'null'
        Description:
          type:
          - string
          - 'null'
        Read_Only:
          type: boolean
        Is_Active:
          type: boolean
        Is_Console_Session:
          type: boolean
      additionalProperties: false
    RemoteSessionsOutputDtoResponse:
      type: object
      properties:
        Success:
          type: boolean
          readOnly: true
        Error:
          $ref: '#/components/schemas/ErrorInfo'
        Result:
          $ref: '#/components/schemas/RemoteSessionsOutputDto'
      additionalProperties: false
    AssetChassisInfoInputDto:
      type: object
      properties:
        ChassisManufacturer:
          type:
          - string
          - 'null'
        ChassisSerialNumber:
          type:
          - string
          - 'null'
        ChassisVersion:
          type:
          - string
          - 'null'
        ChassisAssetTag:
          type:
          - string
          - 'null'
        ChassisType:
          type:
          - string
          - 'null'
      additionalProperties: false
    IntegrationAccountInputDto:
      type: object
      properties:
        Id:
          type:
          - string
          - 'null'
        Name:
          type:
          - string
          - 'null'
      additionalProperties: false
    IntegrationTicketAssetInputDto:
      type: object
      properties:
        Id:
          type:
          - string
          - 'null'
        AgentId:
          type:
          - string
          - 'null'
        Name:
          type:
          - string
          - 'null'
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      description: JWT Authorization header using the Bearer scheme.
      scheme: bearer
      bearerFormat: JWT