Datto /v2/site API

Operations on sites

OpenAPI Specification

datto-v2-site-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Datto RMM /v2/account /v2/account /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 201_aadf6556fb176a75fbb9b2aad0f0d2301d64c88a)
servers:
- url: https://concord-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
        '409':
          description: Conflict
        '400':
          description: Request is invalid.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Site'
        '401':
          description: Request can not be authorized.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Site'
  /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
        '409':
          description: Request aborted due to concurrent write access to this record.
        '403':
          description: Authenticated user doesn't have access to this resource.
        '400':
          description: Request parameters are invalid.
        '404':
          description: Variable was not found.
        '401':
          description: Request can not be authorized.
  /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
        '409':
          description: Conflict
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Site'
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Site'
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Site'
    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
        '409':
          description: Request aborted due to concurrent write access to this record.
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Site'
        '400':
          description: Request is invalid.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Site'
        '401':
          description: Request can not be authorized.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Site'
        '404':
          description: Site was not found.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Site'
  /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
        '409':
          description: Request aborted due to concurrent write access to this record.
        '403':
          description: Authenticated user doesn't have access to this resource.
        '400':
          description: Request parameters are invalid.
        '404':
          description: Variable was not found.
        '401':
          description: Request can not be authorized.
    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
        '409':
          description: Request aborted due to concurrent write access to this record.
        '403':
          description: Authenticated user doesn't have access to this resource.
        '400':
          description: Request parameters are invalid.
        '404':
          description: Variable was not found.
        '401':
          description: Request can not be authorized.
  /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
        '409':
          description: Request aborted due to concurrent write access to this record.
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteSettings'
        '400':
          description: Request parameters are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteSettings'
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteSettings'
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteSettings'
    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
        '409':
          description: Request aborted due to concurrent write access to this record.
        '404':
          description: Site was not found.
        '403':
          description: Authenticated user doesn't have access to this resource.
        '401':
          description: Request can not be authorized.
        '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
        '409':
          description: Conflict
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariablesPage'
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariablesPage'
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariablesPage'
  /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
        '409':
          description: Conflict
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteSettings'
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteSettings'
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteSettings'
  /v2/site/{siteUid}/filters:
    get:
      tags:
      - /v2/site
      summary: Fetches the site device filters (that the user can see with administrator role) of the site identified by the given site Uid.
      operationId: getSiteDeviceFilters
      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
        '409':
          description: Conflict
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FiltersPage'
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FiltersPage'
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FiltersPage'
  /v2/site/{siteUid}/devices:
    get:
      tags:
      - /v2/site
      summary: Fetches the devices records of the site identified by the given site Uid.
      operationId: getSiteDevices
      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: filterId
        in: query
        required: false
        schema:
          type: integer
          format: int64
      responses:
        '500':
          description: Internal Server Error
        '409':
          description: Conflict
        '404':
          description: Site or filter not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesPage'
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesPage'
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesPage'
  /v2/site/{siteUid}/devices/network-interface:
    get:
      tags:
      - /v2/site
      summary: Fetches the shortened devices records with network interface information of the site identified by the given site Uid.
      operationId: getSiteDevicesWithNetworkInterface
      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
        '409':
          description: Conflict
        '404':
          description: Site or filter not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesNetworkInterfacePage'
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesNetworkInterfacePage'
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesNetworkInterfacePage'
  /v2/site/{siteUid}/alerts/resolved:
    get:
      tags:
      - /v2/site
      summary: Fetches the resolved alerts of the site identified by the given site Uid.
      description: If the muted parameter is not provided, both muted and umuted alerts will be queried.
      operationId: getSiteResolvedAlerts
      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: muted
        in: query
        required: false
        schema:
          type: boolean
      responses:
        '500':
          description: Internal Server Error
        '409':
          description: Conflict
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsPage'
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsPage'
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsPage'
  /v2/site/{siteUid}/alerts/open:
    get:
      tags:
      - /v2/site
      summary: Fetches the open alerts of the site identified by the given site Uid.
      description: If the muted parameter is not provided, both muted and umuted alerts will be queried.
      operationId: getSiteOpenAlerts
      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: muted
        in: query
        required: false
        schema:
          type: boolean
      responses:
        '500':
          description: Internal Server Error
        '409':
          description: Conflict
        '404':
          description: Site was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsPage'
        '403':
          description: Authenticated user doesn't have access to this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsPage'
        '401':
          description: Request can not be authorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsPage'
components:
  schemas:
    AlertMonitorInfo:
      type: object
      description: Alert monitor information
      properties:
        sendsEmails:
          type: boolean
        createsTicket:
          type: boolean
    DevicesPage:
      type: object
      description: Devices page
      properties:
        pageDetails:
          $ref: '#/components/schemas/PaginationData'
        devices:
          type: array
          items:
            $ref: '#/components/schemas/Device'
    DevicesNetworkInterfacePage:
      type: object
      description: Devices Network Interface page
      properties:
        pageDetails:
          $ref: '#/components/schemas/PaginationData'
        devices:
          type: array
          items:
            $ref: '#/components/schemas/Device Network Interface'
    Filter:
      type: object
      description: Filter data
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - rmm_default
          - custom
          - site
        dateCreate:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
    NetworkInterface:
      type: object
      description: Network interface audit data
      properties:
        instance:
          type: string
        ipv4:
          type: string
        ipv6:
          type: string
        macAddress:
          type: string
        type:
          type: string
    SiteSettings:
      type: object
      description: Site settings data
      properties:
        generalSettings:
          $ref: '#/components/schemas/GeneralSettings'
        proxySettings:
          $ref: '#/components/schemas/ProxySettings'
        mailRecipients:
          type: array
          items:
            $ref: '#/components/schemas/MailRecipient'
    EventLogContext:
      allOf:
      - $ref: '#/components/schemas/AlertContext'
      - type: object
        properties:
          logName:
            type: string
          code:
            type: string
          type:
            type: string
          source:
            type: string
          description:
            type: string
          triggerCount:
            type: integer
            format: int32
          lastTriggered:
            type: string
            format: date-time
          causedSuspension:
            type: boolean
    TemperatureContext:
      allOf:
      - $ref: '#/components/schemas/AlertContext'
      - type: object
        properties:
          degree:
            type: number
            format: float
          type:
            type: string
            enum:
            - CPU
            - MEMORY
            - TEMPERATURE
            - FAN
            - DISKHEALTH
            - PSU
            - SNMP_THROUGHPUT
    CustomSNMPContext:
      allOf:
      - $ref: '#/components/schemas/AlertContext'
      - type: object
        properties:
          displayName:
            type: string
          currentValue:
            type: string
          monitorInstance:
            type: string
    Udf:
      type: object
      description: User defined fields
      properties:
        udf1:
          type: string
        udf2:
          type: string
        udf3:
          type: string
        udf4:
          type: string
        udf5:
          type: string
        udf6:
          type: string
        udf7:
          type: string
        udf8:
          type: string
        udf9:
          type: string
        udf10:
          type: string
        udf11:
          type: string
        udf12:
          type: string
        udf13:
          type: string
        udf14:
          type: string
        udf15:
          type: string
        udf16:
          type: string
        udf17:
          type: string
        udf18:
          type: string
        udf19:
          type: string
        udf20:
          type: string
        udf21:
          type: string
        udf22:
          type: string
        udf23:
          type: string
        udf24:
          type: string
        udf25:
          type: string
        udf26:
          type: string
        udf27:
          type: string
        udf28:
          type: string
        udf29:
          type: string
        udf30:
          type: string
        udf31:
          type: string
        udf32:
          type: string
        udf33:
          type: string
        udf34:
          type: string
        udf35:
          type: string
        udf36:
          type: string
        udf37:
          type: string
        udf38:
          type: string
        udf39:
          type: string
        udf40:
          type: string
        udf41:
          type: string
        udf42:
          type: string
        udf43:
          type: string
        udf44:
          type: string
        udf45:
          type: string
        udf46:
          type: string
        udf47:
          type: string
        udf48:
          type: string
        udf49:
          type: string
        udf50:
          type: string
        udf51:
          type: string
        udf52:
          type: string
        udf53:
          type: string
        udf54:
          type: string
        udf55:
          type: string
        udf56:
          type: string
        udf57:
          type: string
        udf58:
          type: string
        udf59:
          type: string
        udf60:
          type: string
        udf61:
          type: string
        udf62:
          type: string
        udf63:
          type: string
        udf64:
          type: string
        udf65:
          type: string
        udf66:
          type: string
        udf67:
          type: string
        udf68:
          type: string
        udf69:
          type: string
        udf70:
          type: string
        udf71:
          type: string
        udf72:
          type: string
        udf73:
          type: string
        udf74:
          type: string
        udf75:
          type: string
        udf76:
          type: string
        udf77:
          type: string
        udf78:
          type: string
        udf79:
          type: string
        udf80:
          type: string
        udf81:
          type: string
        udf82:
          type: string
        udf83:
          type: string
        udf84:
          type: string
        udf85:
          type: string
        udf86:
          type: string
        udf87:
          type: string
        udf88:
          type: string
        udf89:
          type: string
        udf90:
          type: string
        udf91:
          type: string
        udf92:
          type: string
        udf93:
          type: string
        udf94:
          type: string
        udf95:
          type: string
        udf96:
          type: string
        udf97:
          type: string
        udf98:
          type: string
        udf99:
          type: string
        udf100:
          type: string
        udf101:
          type: string
        udf102:
          type: string
        udf103:
          type: string
        udf104:
          type: string
        udf105:
          type: string
        udf106:
          type: string
        udf107:
          type: string
        udf108:
          type: string
        udf109:
          type: string
        udf110:
          type: string
        udf111:
          type: string
        udf112:
          type: string
        udf113:
          type: string
        udf114:
          type: string
        udf115:
          type: string
        udf116:
          type: string
        udf117:
          type: string
        udf118:
          type: string
        udf119:
          type: string
        udf120:
          type: string
        udf121:
          type: string
        udf122:
          type: string
        udf123:
          type: string
        udf124:
          type: string
        udf125:
          type: string
        udf126:
          type: string
        udf127:
          type: string
        udf128:
          type: string
        udf129:
          type: string
        udf130:
          type: string
        udf131:
          type: string
        udf132:
          type: string
        udf133:
          type: string
        udf134:
          type: string
        udf135:
          type: string
        udf136:
          type: string
        udf137:
          type: string
        udf138:
          type: string
        udf139:
          type: string
        udf140:
          type: string
        udf141:
          type: string
        udf142:
          type: string
        udf143:
          type: string
        udf144:
          type: string
        udf145:
          type: string
        udf146:
          type: string
        udf147:
          type: string
        udf148:
          type: string
        udf149:
          type: string
        udf150:
          type: string
        udf151:
          type: string
        udf152:
          type: string
        udf153:
          type: string
        udf154:
          type: string
        udf155:
          type: string
        udf156:
          type: string
        udf157:
          type: string
        udf158:
          type: string
        udf159:
          type: string
        udf160:
          type: string
        udf161:
          type: string
        udf162:
          type: string
        udf163:
          type: string
        udf164:
          type: string
        udf165:
          type: string
        udf166:
          type: string
        udf167:
          type: string
        udf168:
          type: string
        udf169:
          type: string
        udf170:
          type: string
        udf171:
          type: string
        udf172:
          type: string
        udf173:
          type: string
        udf174:
          type: string
        udf175:
          type: string
        udf176:
          type: string
        udf177:
          type: string
        udf178:
          type: string
        udf179:
          type: string
        udf180:
          type: string
        udf181:
          type: string
        udf182:
          type: string
        udf183:
          type: string
        udf184:
          type: string
        udf185:
          type: string
        udf186:
          type: string
        udf187:
          type: string
        udf188:
          type: string
        udf189:
          type: string
        udf190:
          type: string
        udf191:
          type: string
        udf192:
          type: string
        udf193:
          type: string
        udf194:
          type: string
        udf195:
          type: string
        udf196:
          type: string
        udf197:
          type: string
        udf198:
          type: string
        udf199:
          type: string
        udf200:
          type: string
        udf201:
          type: string
        udf202:
          type: string
        udf203:
          type: string
        udf204:
          type: string
        udf205:
          type: string
        udf206:
          type: string
        udf207:
          type: string
        udf208:
          type: string
        udf209:
          type: string
        udf210:
          type: string
        udf211:
          type: string
        udf212:
          type: string
        udf213:
          type: string
        udf214:
          type: string
        udf215:
          type: string
        udf216:
          type: string
        udf217:
          type: string
        udf218:
          type: string
        udf219:
          type: string
        udf220:
          type: string
        udf221:
          type: string
        udf222:
          type: string
        udf223:
          type: string
        udf224:
          type: string
        udf225:
          type: string
        udf226:
          type: string
        udf227:
          type: string
        udf228:
          type: string
        udf229:
          type: string
        udf230:
          type: string
        udf231:
          type: string
        udf232:
          type: string
        udf233:
          type: string
        udf234:
          type: string
        udf235:
          type: string
        udf236:
          type: string
        udf237:
          type: string
        udf238:
          type: string
        udf239:
          type: string
        udf240:
          type: string
        udf241:
          type: string
        udf242:
          type: string
        udf243:
          type: string
        udf244:
          type: string
        udf245:
          type: string
        udf246:
          type: string
        udf247:
          type: string
        udf248:
          type: string
        udf249:
          type: string
        udf250:
          type: string
        udf251:
          type: string
        udf252:
          type: string
        udf253:
          type: string
        udf254:
          type: string
        udf255:
          type: string
        udf256:
          type: string
        udf257:
          type: string
        udf258:
          type: string
        udf259:
          type: string
        udf260:
          type: string
        udf261:
          type: string
        udf262:
          type: string
        udf263:
          type: string
        udf264:
          type: string
        udf265:
          type: string
        udf266:
          type: string
        udf267:
          type: string
        udf268:
          type: string
        udf269:
          type: string
        udf270:
          type: string
        udf271:
          type: string
        udf272:
          type: string
        udf273:
          type: string
        udf274:
          type: string
        udf275:
          type: string
        udf276:
          type: string
        udf277:
          type: string
        udf278:
          type: string
        udf279:
          type: string
        udf280:
          type: string
        udf281:
          type: string
        udf282:
          type: string
        udf283:
          type: string
        udf284:
          type: string
        udf285:
          type: string
        udf286:
          type: string
        udf287:
          type: string
        udf288:
          type: string
        udf289:
          type: string
        udf

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