Drata Devices API

Devices are computers used by personnel. The data is provided by the Drata Agent or an MDM connection.

Operations 7

GET /devices List Devices #
GET /personnel/{personnelId}/devices List Devices for Personnel #
GET /devices/{deviceId} Get Device #
GET /connections/{connectionId}/devices List Devices for Connection 🧪 #
GET /devices/{deviceId}/apps List Apps for Device #
POST /custom-connections/{connectionId}/devices Create or update Device for Custom Connection 🧪 #
DELETE /custom-connections/{connectionId}/devices/{deviceId} Delete Device #

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/drata-devices-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

drata-devices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Drata Devices API
  version: V2
  contact: {}
  description: 'Operations tagged Devices across 2 of this provider''s published API definitions: drata-api-v2-openapi.json, drata-api-v2-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://public-api.drata.com/public/v2
- url: https://public-api.eu.drata.com/public/v2
- url: https://public-api.apac.drata.com/public/v2
tags:
- name: Devices
  description: Devices are computers used by personnel. The data is provided by the Drata Agent or an MDM connection.
paths:
  /devices:
    get:
      operationId: DevicesPublicV2Controller_getDevices
      parameters:
      - name: cursor
        required: false
        in: query
        description: This parameter is used to paginate through results. No value is needed for the first request. If there are additional results, the response will contain a `pagination.cursor` value that can be used in the subsequent request to retrieve the next page of results
        schema:
          type: string
      - name: size
        required: false
        in: query
        description: Number of results to return
        schema:
          minimum: 1
          maximum: 500
          default: 50
          type: number
      - name: sort
        required: false
        in: query
        description: Which field to sort by
        schema:
          $ref: '#/components/schemas/SortTypeLimitedEnum'
      - name: sortDir
        required: false
        in: query
        description: The direction to sort the data
        schema:
          $ref: '#/components/schemas/SortDirectionEnum'
      - name: includeTotalCount
        required: false
        in: query
        description: Include total count of all matching records in response. Only honored on first page (when cursor is null).
        schema:
          default: false
          example: false
          type: boolean
      - name: externalId
        required: false
        in: query
        description: An externally sourced unique identifier for a device
        schema:
          maxLength: 191
          type: string
      - name: expand[]
        required: false
        in: query
        description: List of subcollections and sub-objects to expand
        schema:
          type: array
          items:
            $ref: '#/components/schemas/DeviceExpandEnum'
      - name: macAddress
        required: false
        in: query
        description: The device MAC address
        schema:
          example: 65-F9-3D-85-7B-6B,99-A9-3E-14-7A-3E
          type: string
      - name: serialNumber
        required: false
        in: query
        description: The device serial number
        schema:
          example: NKRTSPY456
          type: string
      - name: sourceType
        required: false
        in: query
        description: Device source type
        schema:
          $ref: '#/components/schemas/MobileDeviceManagementSourceTypeEnum'
      - name: personnelId
        required: false
        in: query
        description: Personnel ID
        schema:
          type: number
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesResponsePublicV2Dto'
        '400':
          description: Malformed data and/or validation errors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
        '401':
          description: Invalid Authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '403':
          description: You are not allowed to perform this action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '412':
          description: You must accept the Drata terms and conditions to use the API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
      security:
      - bearer: []
      summary: List Devices
      tags:
      - Devices
      x-drata-permissions:
      - devices-get
      x-product-area:
      - MDM
      description: '🔒 Requires **Devices: List Devices** permission.'
    servers:
    - url: https://public-api.drata.com/public/v2
    - url: https://public-api.eu.drata.com/public/v2
    - url: https://public-api.apac.drata.com/public/v2
  /personnel/{personnelId}/devices:
    get:
      operationId: DevicesPublicV2Controller_getDevicesForPersonnel
      parameters:
      - name: personnelId
        required: true
        in: path
        schema:
          type: number
      - name: cursor
        required: false
        in: query
        description: This parameter is used to paginate through results. No value is needed for the first request. If there are additional results, the response will contain a `pagination.cursor` value that can be used in the subsequent request to retrieve the next page of results
        schema:
          type: string
      - name: size
        required: false
        in: query
        description: Number of results to return
        schema:
          minimum: 1
          maximum: 500
          default: 50
          type: number
      - name: sort
        required: false
        in: query
        description: Which field to sort by
        schema:
          $ref: '#/components/schemas/SortTypeLimitedEnum'
      - name: sortDir
        required: false
        in: query
        description: The direction to sort the data
        schema:
          $ref: '#/components/schemas/SortDirectionEnum'
      - name: includeTotalCount
        required: false
        in: query
        description: Include total count of all matching records in response. Only honored on first page (when cursor is null).
        schema:
          default: false
          example: false
          type: boolean
      - name: externalId
        required: false
        in: query
        description: An externally sourced unique identifier for a device
        schema:
          maxLength: 191
          type: string
      - name: expand[]
        required: false
        in: query
        description: List of subcollections and sub-objects to expand
        schema:
          type: array
          items:
            $ref: '#/components/schemas/DeviceExpandEnum'
      - name: macAddress
        required: false
        in: query
        description: The device MAC address
        schema:
          example: 65-F9-3D-85-7B-6B,99-A9-3E-14-7A-3E
          type: string
      - name: serialNumber
        required: false
        in: query
        description: The device serial number
        schema:
          example: NKRTSPY456
          type: string
      - name: sourceType
        required: false
        in: query
        description: Device source type
        schema:
          $ref: '#/components/schemas/MobileDeviceManagementSourceTypeEnum'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesResponsePublicV2Dto'
        '401':
          description: Invalid Authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '403':
          description: You are not allowed to perform this action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
        '412':
          description: You must accept the Drata terms and conditions to use the API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
      security:
      - bearer: []
      summary: List Devices for Personnel
      tags:
      - Devices
      x-drata-permissions:
      - devices-get
      x-product-area:
      - MDM
      description: '🔒 Requires **Devices: List Devices** permission.'
    servers:
    - url: https://public-api.drata.com/public/v2
    - url: https://public-api.eu.drata.com/public/v2
    - url: https://public-api.apac.drata.com/public/v2
  /devices/{deviceId}:
    get:
      operationId: DevicesPublicV2Controller_getDevice
      parameters:
      - name: deviceId
        required: true
        in: path
        description: The device ID
        schema:
          type: number
      - name: expand[]
        required: false
        in: query
        description: List of subcollections and sub-objects to expand
        schema:
          example: complianceChecks
          type: array
          items:
            type: string
            enum:
            - asset
            - complianceChecks
            - documents
            - identifiers
            - deviceApps
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceResponseIdPublicV2Dto'
        '400':
          description: Malformed data and/or validation errors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
        '401':
          description: Invalid Authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '403':
          description: You are not allowed to perform this action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '412':
          description: You must accept the Drata terms and conditions to use the API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
      security:
      - bearer: []
      summary: Get Device
      tags:
      - Devices
      x-drata-permissions:
      - devices-get
      x-product-area:
      - MDM
      description: '🔒 Requires **Devices: List Devices** permission.'
    servers:
    - url: https://public-api.drata.com/public/v2
    - url: https://public-api.eu.drata.com/public/v2
    - url: https://public-api.apac.drata.com/public/v2
  /connections/{connectionId}/devices:
    get:
      description: 'Get a list of Devices for a given connection


        🧪 **Note:** This endpoint is in beta and may change.


        🔒 Requires **Devices: List Devices** permission.'
      operationId: DevicesPublicV2Controller_getDevicesForCustomConnection
      parameters:
      - name: connectionId
        required: true
        in: path
        description: "\nThe ID of the connection may be obtained in one of two ways:\n* Calling GET /connections and noting the `id` of the desired custom device connection in the response.\n* In the Drata App: \n    * **New Device Connection** \n        1. Navigate to *Connections* **>** *MDM*.\n        2. Select the *Available Connections* tab.\n        3. Chose *Custom Device Connection*.\n        \n        After successfully creating a device connection, the connection ID will be displayed under *Account Information*.\n    * **Existing Device Connection**\n        1. Navigate to *Connections* **>** *MDM*.\n        2. Select the *Active Connections*  tab.\n        3. View a previously created custom device connection.\n\n        The connection ID will be displayed under *Account Information*.\n"
        schema:
          type: number
      - name: cursor
        required: false
        in: query
        description: This parameter is used to paginate through results. No value is needed for the first request. If there are additional results, the response will contain a `pagination.cursor` value that can be used in the subsequent request to retrieve the next page of results
        schema:
          type: string
      - name: size
        required: false
        in: query
        description: Number of results to return
        schema:
          minimum: 1
          maximum: 500
          default: 50
          type: number
      - name: sort
        required: false
        in: query
        description: Which field to sort by
        schema:
          $ref: '#/components/schemas/SortTypeLimitedEnum'
      - name: sortDir
        required: false
        in: query
        description: The direction to sort the data
        schema:
          $ref: '#/components/schemas/SortDirectionEnum'
      - name: includeTotalCount
        required: false
        in: query
        description: Include total count of all matching records in response. Only honored on first page (when cursor is null).
        schema:
          default: false
          example: false
          type: boolean
      - name: externalId
        required: false
        in: query
        description: An externally sourced unique identifier for a device
        schema:
          maxLength: 191
          type: string
      - name: expand[]
        required: false
        in: query
        description: List of subcollections and sub-objects to expand
        schema:
          type: array
          items:
            $ref: '#/components/schemas/DeviceExpandEnum'
      - name: macAddress
        required: false
        in: query
        description: The device MAC address
        schema:
          example: 65-F9-3D-85-7B-6B,99-A9-3E-14-7A-3E
          type: string
      - name: serialNumber
        required: false
        in: query
        description: The device serial number
        schema:
          example: NKRTSPY456
          type: string
      - name: personnelId
        required: false
        in: query
        description: Personnel Id
        schema:
          type: number
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesResponsePublicV2Dto'
        '401':
          description: Invalid Authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '403':
          description: You are not allowed to perform this action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
        '412':
          description: You must accept the Drata terms and conditions to use the API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
      security:
      - bearer: []
      summary: List Devices for Connection 🧪
      tags:
      - Devices
      x-drata-permissions:
      - devices-get
      x-product-area:
      - MDM
    servers:
    - url: https://public-api.drata.com/public/v2
    - url: https://public-api.eu.drata.com/public/v2
    - url: https://public-api.apac.drata.com/public/v2
  /devices/{deviceId}/apps:
    get:
      description: 'Get a list of Apps associated with a given Device.


        🔒 Requires **Devices: List Devices** permission.'
      operationId: DevicesPublicV2Controller_getDeviceApps
      parameters:
      - name: deviceId
        required: true
        in: path
        description: The device ID
        schema:
          type: number
      - name: cursor
        required: false
        in: query
        description: This parameter is used to paginate through results. No value is needed for the first request. If there are additional results, the response will contain a `pagination.cursor` value that can be used in the subsequent request to retrieve the next page of results
        schema:
          type: string
      - name: size
        required: false
        in: query
        description: Number of results to return
        schema:
          minimum: 1
          maximum: 500
          default: 50
          type: number
      - name: sort
        required: false
        in: query
        description: Which field to sort by
        schema:
          $ref: '#/components/schemas/SortTypeLimitedEnum'
      - name: sortDir
        required: false
        in: query
        description: The direction to sort the data
        schema:
          $ref: '#/components/schemas/SortDirectionEnum'
      - name: includeTotalCount
        required: false
        in: query
        description: Include total count of all matching records in response. Only honored on first page (when cursor is null).
        schema:
          default: false
          example: false
          type: boolean
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceAppsResponsePublicV2Dto'
        '400':
          description: Malformed data and/or validation errors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
        '401':
          description: Invalid Authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '403':
          description: You are not allowed to perform this action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '412':
          description: You must accept the Drata terms and conditions to use the API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
      security:
      - bearer: []
      summary: List Apps for Device
      tags:
      - Devices
      x-drata-permissions:
      - devices-get
      x-product-area:
      - MDM
    servers:
    - url: https://public-api.drata.com/public/v2
    - url: https://public-api.eu.drata.com/public/v2
    - url: https://public-api.apac.drata.com/public/v2
  /custom-connections/{connectionId}/devices:
    post:
      description: 'Create a new device or update an existing device for a custom connection.


        An existing device is searched for based upon matching one or more of these supplied properties in the request payload:

        * `serialNumber`

        * `macAddress`

        * `externalId`


        If an existing device is found, the existing device is updated.

        Otherwise a new device is created.


        🧪 **Note:** This endpoint is in beta and may change.


        🔒 Requires **Devices: Create Device** permission.'
      operationId: DevicesPublicV2Controller_createDeviceForCustomConnection
      parameters:
      - name: connectionId
        required: true
        in: path
        description: "\nThe ID of the connection may be obtained in one of two ways:\n* Calling GET /connections and noting the `id` of the desired custom device connection in the response.\n* In the Drata App: \n    * **New Device Connection** \n        1. Navigate to *Connections* **>** *MDM*.\n        2. Select the *Available Connections* tab.\n        3. Chose *Custom Device Connection*.\n        \n        After successfully creating a device connection, the connection ID will be displayed under *Account Information*.\n    * **Existing Device Connection**\n        1. Navigate to *Connections* **>** *MDM*.\n        2. Select the *Active Connections*  tab.\n        3. View a previously created custom device connection.\n\n        The connection ID will be displayed under *Account Information*.\n"
        schema:
          type: number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceCreateRequestPublicV2Dto'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceResponsePublicV2Dto'
        '400':
          description: Malformed data and/or validation errors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
        '401':
          description: Invalid Authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '403':
          description: You are not allowed to perform this action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
        '412':
          description: You must accept the Drata terms and conditions to use the API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '413':
          description: The file was too large to upload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '503':
          description: Third party system was unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
      security:
      - bearer: []
      summary: Create or update Device for Custom Connection 🧪
      tags:
      - Devices
      x-drata-permissions:
      - devices-post
      x-product-area:
      - MDM
    servers:
    - url: https://public-api.drata.com/public/v2
    - url: https://public-api.eu.drata.com/public/v2
    - url: https://public-api.apac.drata.com/public/v2
  /custom-connections/{connectionId}/devices/{deviceId}:
    delete:
      description: 'Delete a Device from a Custom Connection.


        🔒 Requires **Devices: Delete Device** permission.'
      operationId: DevicesPublicV2Controller_deleteDeviceFromCustomConnection
      parameters:
      - name: connectionId
        required: true
        in: path
        description: "\nThe ID of the connection may be obtained in one of two ways:\n* Calling GET /connections and noting the `id` of the desired custom device connection in the response.\n* In the Drata App: \n    * **New Device Connection** \n        1. Navigate to *Connections* **>** *MDM*.\n        2. Select the *Available Connections* tab.\n        3. Chose *Custom Device Connection*.\n        \n        After successfully creating a device connection, the connection ID will be displayed under *Account Information*.\n    * **Existing Device Connection**\n        1. Navigate to *Connections* **>** *MDM*.\n        2. Select the *Active Connections*  tab.\n        3. View a previously created custom device connection.\n\n        The connection ID will be displayed under *Account Information*.\n"
        schema:
          type: number
      - name: deviceId
        required: true
        in: path
        description: The Device ID
        schema:
          type: number
      responses:
        '204':
          description: No Content
        '400':
          description: Malformed data and/or validation errors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
        '401':
          description: Invalid Authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '403':
          description: You are not allowed to perform this action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponsePublicV2Dto'
        '412':
          description: You must accept the Drata terms and conditions to use the API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseDto'
      security:
      - bearer: []
      summary: Delete Device
      tags:
      - Devices
      x-drata-permissions:
      - devices-delete-from-custom-connection
      x-product-area:
      - MDM
    servers:
    - url: https://public-api.drata.com/public/v2
    - url: https://public-api.eu.drata.com/public/v2
    - url: https://public-api.apac.drata.com/public/v2
components:
  schemas:
    DeviceDocumentResponsePublicV2Dto:
      type: object
      properties:
        id:
          type: number
          example: 1
          description: Device document ID
        type:
          type: string
          example: PASSWORD_MANAGER_EVIDENCE
          description: The device document type
        name:
          type: string
          example: Password Manager Evidence
          description: The document name
        fileUrl:
          type:
          - string
          - 'null'
          example: http://localhost:5000/download/device-documents/1
          description: The secure URL to the device document
        createdAt:
          type: string
          format: date-time
          example: '2025-07-01T16:45:55.246Z'
          description: Device document created date timestamp
        updatedAt:
          type: string
          format: date-time
          example: '2025-07-01T16:45:55.246Z'
          description: Device document updated date timestamp
        downloadUrl:
          description: The signed URL to download the Device Document, only returned when `expand[]=downloadUrl` is passed.
          allOf:
          - $ref: '#/components/schemas/SignedUrlResponsePublicV2Dto'
      required:
      - id
      - type
      - name
      - fileUrl
      - createdAt
      - updatedAt
    AppTypeRequestPublicV2Dto:
      type: object
      properties:
        name:
          type: string
          maxLength: 191
          example: Microsoft Defender Antivirus
          description: Name of application
        version:
          type: string
          maxLength: 191
          example: 1.421.12.0
          description: Version of application
        description:
          type:
          - string
          - 'null'
          example: Microsoft Defender Antivirus
          description: Protects against new malware and attack techniques.
      required:
      - name
      - version
    ExceptionResponseDto:
      type: object
      properties:
        statusCode:
          type: number
        message:
          type: string
        code:
          type: number
        debugInfo:
          type: object
          properties:
            name:
              type: string
            message:
              type: string
            stack:
              type: string
          required:
          - name
          - message
      required:
      - statusCode
      - message
      - code
    DeviceCreateRequestPublicV2Dto:
      type: object
      properties:
        personnelId:
          description: Personnel integer ID or user's email address prefixed with `email:`
          oneOf:
          - type: number
            example: 1
            description: Personnel ID
          - type: string
            example: email:user@example.com
            description: Email of the Personnel's User, prefixed with 'email:'
        alias:
          type: string
          maxLength: 191
          example: danielm-01
          description: Name of the device.
        antivirusEnabled:
          type:
          - boolean
          - 'null'
          example: true
          description: Flag to indicate antivirus software is installed and enabled
        antivirusExplanation:
          type: object
          example:
            antivirusApps:
            - Crowdstrike windows sensor
          description: Any additional information to explain the antivirusEnabled value
        appList:
          description: List of installed applications
          type: array
          items:
            $ref: '#/components/schemas/AppTypeRequestPublicV2Dto'
        autoUpdateEnabled:
          type:
          - boolean
          - 'null'
          example: true
          description: Flag to indicate auto-update enabled or disabled
        autoUpdateExplanation:
          type: object
          example: Disabled
          description: Any additional information to explain the autoUpdateEnabled value
        browserExtensions:
          description: List of installed browser extensions
          type: array
          items:
            $ref: '#/components/schemas/AppTypeRequestPublicV2Dto'
        externalId:
          type: string
          example: 0a33231a-3af0-4402-a1a9-e25da841b58f
          description: An externally-sourced unique identifier for a device
        firewallEnabled:
          type:
          - boolean
          - 'null'
          example: true
          description: Flag to indicate the firewall is enabled or disabled
        firewallExplanation:
          type: object
          example: 'On'
          description: Any additional information to explain the firewallEnabled value
        passwordManagerEnabled:
          type:
          - boolean
          - 'null'
          example: true
          description: Flag to indicate a password manager is in use
        encryptionEnabled:
          type:
          - boolean
          - 'null'
          example: true
          description: Flag to indicate hard disk is encrypted
        encryptionExplanation:
          type: object
          example:
            bootPartitionEncryptionDetails:
              partitionFileVault2Percent: 100
              partitionFileVault2State: ENCRYPTED
              partitionName: Macintosh HD (Boot Partition)
          description: Any additional information to explain the encryptionEnabled value
        model:
          type: string
          maxLength: 191
          example: Mac16,1
          description: Hardware model
        serialNumber:
          type: string
          example: BKH8RXT4T9
          description: Hardware serial number
        macAddress:
          type:
          - string
          - 'null'
          example: 01-23-45-67-89-AB
          description: MAC address
        passwordManagerExplanation:
          type: object
          example:
      

# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/drata/refs/heads/main/openapi/drata-devices-api-openapi.yml