openapi: 3.2.0 info: title: Datto RMM /v3/account 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: /v3/account description: Operations on accounts (v3 API) paths: /v3/account/devices: get: tags: - /v3/account summary: Fetches the devices of the authenticated user's account with structured UDF format. description: Returns device information with UDFs in structured format including type information and custom labels. operationId: getUserAccountDevices parameters: - 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 description: Optional. If applied, this filter exclusively determines the results. required: false schema: type: integer format: int64 - name: hostname in: query description: Optional. Filters results based on the provided value using the LIKE operator. Partial matches are allowed. required: false schema: type: string - name: deviceType in: query description: Optional. Filters results based on the provided value using the LIKE operator. Partial matches are allowed. required: false schema: type: string - name: operatingSystem in: query description: Optional. Filters results based on the provided value using the LIKE operator. Partial matches are allowed. required: false schema: type: string - name: siteName in: query description: Optional. Filters results based on the provided value using the LIKE operator. Partial matches are allowed. required: false 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: /v3/account/devices '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: timestamp: 1781181715656 status: 409 error: Conflict path: /v3/account/devices '200': description: Devices retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/DevicesPageV3' '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: /v3/account/devices '401': description: Request can not be authorized. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: timestamp: 1781181715656 status: 401 error: Unauthorized path: /v3/account/devices '404': description: Filter was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: timestamp: 1781181715656 status: 404 error: Not Found path: /v3/account/devices components: schemas: PatchManagement: type: object description: Patch management data properties: patchStatus: type: string enum: - NoPolicy - NoData - RebootRequired - InstallError - ApprovedPending - FullyPatched patchesApprovedPending: type: integer format: int64 patchesNotApproved: type: integer format: int64 patchesInstalled: type: integer format: int64 PaginationData: type: object description: Pagination data properties: count: type: integer format: int32 totalCount: type: integer format: int64 prevPageUrl: type: string nextPageUrl: type: string DevicesPageV3: type: object description: Devices page with structured UDF format properties: pageDetails: $ref: '#/components/schemas/PaginationData' devices: type: array description: List of devices with structured UDF format items: $ref: '#/components/schemas/DeviceV3' ErrorResponse: description: Default error response body properties: timestamp: type: integer format: int64 description: Epoch millis when the error occurred status: type: integer format: int32 description: HTTP status code error: type: string description: HTTP reason phrase path: type: string description: Request path that produced the error UdfItem: type: object description: User defined field with type-safe value storage properties: ordinal: type: integer format: int32 description: Ordinal position of the UDF (1-300) maximum: 300 minimum: 1 type: type: string description: Type of the UDF value enum: - STRING - BOOLEAN - NUMBER - DATE valueBoolean: type: boolean description: Value when type is BOOLEAN valueString: type: string description: Value when type is STRING valueDate: type: string format: date description: 'Value when type is DATE (Format: yyyy-MM-dd)' valueNumber: type: number description: Value when type is NUMBER label: type: string description: Custom label for this UDF from the account settings typeMisMatch: type: boolean description: Indicates type mismatch with expected configuration. Only appears in GET responses when data was updated via V2 API or UI. required: - ordinal - type Antivirus: type: object description: Device antivirus data properties: antivirusProduct: type: string antivirusStatus: type: string enum: - RunningAndUpToDate - RunningAndNotUpToDate - NotRunning - NotDetected DeviceV3: type: object description: Device data with structured UDF format properties: id: type: integer format: int64 uid: type: string siteId: type: integer format: int64 siteUid: type: string siteName: type: string deviceType: $ref: '#/components/schemas/DevicesType' hostname: type: string intIpAddress: type: string operatingSystem: type: string lastLoggedInUser: type: string domain: type: string cagVersion: type: string displayVersion: type: string extIpAddress: type: string description: type: string a64Bit: type: boolean rebootRequired: type: boolean online: type: boolean suspended: type: boolean deleted: type: boolean lastSeen: type: string format: date-time lastReboot: type: string format: date-time lastAuditDate: type: string format: date-time creationDate: type: string format: date-time snmpEnabled: type: boolean deviceClass: type: string enum: - device - printer - esxihost - rmmnetworkdevice - unknown portalUrl: type: string warrantyDate: type: string antivirus: $ref: '#/components/schemas/Antivirus' patchManagement: $ref: '#/components/schemas/PatchManagement' softwareStatus: type: string webRemoteUrl: type: string networkProbe: type: boolean onboardedViaNetworkMonitor: type: boolean udfs: type: array description: User defined fields in structured format items: $ref: '#/components/schemas/UdfItem' DevicesType: type: object description: Devices Type properties: category: type: string type: type: string