> ## Documentation Index
> Fetch the complete documentation index at: https://docs.assetinfinity.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Every device discovery knows, across every source that has reported it: whether it is linked

> to an asset, unreviewed or dismissed, when it was first and last seen, and what it last said about
itself. Manufacturer, model and operating system are as the device spelled them.



## OpenAPI

````yaml /api-reference/openapi.json get /discovered_devices
openapi: 3.0.0
info:
  description: ''
  title: >-
    The only schema PostgREST exposes. Reads are security_invoker views; writes
    are SECURITY DEFINER functions. Rebuilt wholesale on every deploy — it holds
    no data.
  version: 12.2.3
servers:
  - url: https://app.assetinfinity.ai/api
security: []
tags:
  - name: Signing in
  - name: Profile
  - name: Assets
  - name: Asset lifecycle
  - name: Work lifecycle
  - name: Maintenance
  - name: Inventory
  - name: Inventory detail
  - name: Procurement
  - name: Contracts
  - name: Workforce
  - name: Capacity
  - name: Dispatch
  - name: Tools
  - name: Inspections
  - name: Verification
  - name: Reliability
  - name: Parts demand
  - name: Sensors and meters
  - name: Map
  - name: Floor plans
  - name: Labels
  - name: Lost and found
  - name: Root cause analysis
  - name: Reports
  - name: Audit center
  - name: Activity
  - name: Notifications
  - name: Channels
  - name: Search
  - name: Copilot
  - name: Import
  - name: Files
  - name: Sync
  - name: Support
  - name: Admin
  - name: Access
  - name: Lookups
  - name: Read models
  - name: Branding
  - name: Custom fields
  - name: Form studio
  - name: Workflows
  - name: Workflow studio
  - name: Rules
  - name: Statuses and transitions
  - name: Currencies and locales
  - name: Work configuration
  - name: Asset configuration
  - name: Inventory configuration
  - name: Tool configuration
  - name: Workforce configuration
  - name: Vendor and contract configuration
  - name: Document configuration
  - name: Inspection configuration
  - name: Sites, locations and the organisation
  - name: Platform
  - name: Amendments
  - name: Asset clone
  - name: Asset components
  - name: Asset register
  - name: Asset transfer
  - name: Audit feed
  - name: Billing
  - name: Bookings
  - name: Budgets
  - name: Bulk jobs
  - name: Calibration history
  - name: Capex plans
  - name: Conversations
  - name: Costing
  - name: Currency
  - name: Dashboards
  - name: Data exports
  - name: Directory sync
  - name: Document control
  - name: Document folders
  - name: Document tree
  - name: Documents
  - name: Energy
  - name: Extracts
  - name: Features
  - name: Feeds
  - name: Ffe plans
  - name: File exchange
  - name: Filing exceptions
  - name: Finance
  - name: Inbound mail
  - name: Itam
  - name: Keys
  - name: Knowledge
  - name: Licence
  - name: List views
  - name: Locations
  - name: Mapping
  - name: Mcp
  - name: Mcp oauth
  - name: Mfa
  - name: Numbering
  - name: Permits
  - name: Readers
  - name: Reference
  - name: Reference columns
  - name: Reference entry
  - name: Release
  - name: Scim
  - name: Security streams
  - name: Self verification
  - name: Setup
  - name: Shutdown
  - name: Sso
  - name: Telegram
  - name: Tenant switch
  - name: The caller's own work
  - name: The checklist library
  - name: Today
  - name: Tools on a job, and who has them out
  - name: Trackers
  - name: Tray
  - name: Vendor spend forecast
  - name: Vendors and contracts
  - name: Visitors
  - name: Webhooks
  - name: Work order execution
  - name: Work sequencing
  - name: Workforce detail
externalDocs:
  description: PostgREST Documentation
  url: https://postgrest.org/en/v12/references/api.html
paths:
  /discovered_devices:
    get:
      tags:
        - Itam
      summary: >-
        Every device discovery knows, across every source that has reported it:
        whether it is linked
      description: >-
        to an asset, unreviewed or dismissed, when it was first and last seen,
        and what it last said about

        itself. Manufacturer, model and operating system are as the device
        spelled them.
      parameters:
        - $ref: '#/components/parameters/rowFilter.discovered_devices.id'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.status'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.asset_id'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.asset_number'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.asset_name'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.site_id'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.first_seen_at'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.last_seen_at'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.last_source_id'
        - $ref: >-
            #/components/parameters/rowFilter.discovered_devices.last_source_name
        - $ref: '#/components/parameters/rowFilter.discovered_devices.is_managed'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.serial_number'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.hostname'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.primary_mac'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.ip_address'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.device_class'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.manufacturer'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.model'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.os_name'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.os_version'
        - $ref: >-
            #/components/parameters/rowFilter.discovered_devices.current_attributes
        - $ref: '#/components/parameters/rowFilter.discovered_devices.last_user_id'
        - $ref: >-
            #/components/parameters/rowFilter.discovered_devices.dismissed_reason
        - $ref: '#/components/parameters/rowFilter.discovered_devices.dismissed_note'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.dismissed_at'
        - $ref: >-
            #/components/parameters/rowFilter.discovered_devices.software_installed
        - $ref: '#/components/parameters/rowFilter.discovered_devices.identities'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.linked_by'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.linked_at'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.link_score'
        - $ref: '#/components/parameters/rowFilter.discovered_devices.link_reason'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/range'
        - $ref: '#/components/parameters/rangeUnit'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/preferCount'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/discovered_devices'
                type: array
            application/vnd.pgrst.object+json:
              schema:
                items:
                  $ref: '#/components/schemas/discovered_devices'
                type: array
            application/vnd.pgrst.object+json;nulls=stripped:
              schema:
                items:
                  $ref: '#/components/schemas/discovered_devices'
                type: array
            text/csv:
              schema:
                items:
                  $ref: '#/components/schemas/discovered_devices'
                type: array
          description: OK
        '206':
          description: Partial Content
components:
  parameters:
    rowFilter.discovered_devices.id:
      in: query
      name: id
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.status:
      in: query
      name: status
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.asset_id:
      in: query
      name: asset_id
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.asset_number:
      in: query
      name: asset_number
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.asset_name:
      in: query
      name: asset_name
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.site_id:
      in: query
      name: site_id
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.first_seen_at:
      in: query
      name: first_seen_at
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.last_seen_at:
      in: query
      name: last_seen_at
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.last_source_id:
      in: query
      name: last_source_id
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.last_source_name:
      in: query
      name: last_source_name
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.is_managed:
      in: query
      name: is_managed
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.serial_number:
      in: query
      name: serial_number
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.hostname:
      in: query
      name: hostname
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.primary_mac:
      in: query
      name: primary_mac
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.ip_address:
      in: query
      name: ip_address
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.device_class:
      in: query
      name: device_class
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.manufacturer:
      in: query
      name: manufacturer
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.model:
      in: query
      name: model
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.os_name:
      in: query
      name: os_name
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.os_version:
      in: query
      name: os_version
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.current_attributes:
      in: query
      name: current_attributes
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.last_user_id:
      in: query
      name: last_user_id
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.dismissed_reason:
      in: query
      name: dismissed_reason
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.dismissed_note:
      in: query
      name: dismissed_note
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.dismissed_at:
      in: query
      name: dismissed_at
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.software_installed:
      in: query
      name: software_installed
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.identities:
      in: query
      name: identities
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.linked_by:
      in: query
      name: linked_by
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.linked_at:
      in: query
      name: linked_at
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.link_score:
      in: query
      name: link_score
      required: false
      schema:
        type: string
    rowFilter.discovered_devices.link_reason:
      in: query
      name: link_reason
      required: false
      schema:
        type: string
    select:
      description: Filtering Columns
      in: query
      name: select
      required: false
      schema:
        type: string
    order:
      description: Ordering
      in: query
      name: order
      required: false
      schema:
        type: string
    range:
      description: Limiting and Pagination
      in: header
      name: Range
      required: false
      schema:
        type: string
    rangeUnit:
      description: Limiting and Pagination
      in: header
      name: Range-Unit
      required: false
      schema:
        default: items
        type: string
    offset:
      description: Limiting and Pagination
      in: query
      name: offset
      required: false
      schema:
        type: string
    limit:
      description: Limiting and Pagination
      in: query
      name: limit
      required: false
      schema:
        type: string
    preferCount:
      description: Preference
      in: header
      name: Prefer
      required: false
      schema:
        enum:
          - count=none
        type: string
  schemas:
    discovered_devices:
      description: >-
        Every device discovery knows, across every source that has reported it:
        whether it is linked

        to an asset, unreviewed or dismissed, when it was first and last seen,
        and what it last said about

        itself. Manufacturer, model and operating system are as the device
        spelled them.
      properties:
        asset_id:
          description: >-
            Note:

            This is a Foreign Key to `asset_contracts.asset_id`.<fk
            table='asset_contracts' column='asset_id'/>
          format: uuid
          type: string
        asset_name:
          format: character varying
          maxLength: 250
          type: string
        asset_number:
          format: character varying
          maxLength: 80
          type: string
        current_attributes:
          format: jsonb
        device_class:
          format: character varying
          maxLength: 60
          type: string
        dismissed_at:
          format: timestamp with time zone
          type: string
        dismissed_note:
          format: text
          type: string
        dismissed_reason:
          format: character varying
          maxLength: 30
          type: string
        first_seen_at:
          format: timestamp with time zone
          type: string
        hostname:
          format: character varying
          maxLength: 255
          type: string
        id:
          description: |-
            Note:
            This is a Primary Key.<pk/>
          format: uuid
          type: string
        identities:
          format: jsonb
        ip_address:
          format: text
          type: string
        is_managed:
          format: boolean
          type: boolean
        last_seen_at:
          format: timestamp with time zone
          type: string
        last_source_id:
          description: >-
            Note:

            This is a Foreign Key to `discovery_sources.id`.<fk
            table='discovery_sources' column='id'/>
          format: uuid
          type: string
        last_source_name:
          format: character varying
          maxLength: 200
          type: string
        last_user_id:
          description: >-
            Note:

            This is a Foreign Key to `capex_invite_candidates.id`.<fk
            table='capex_invite_candidates' column='id'/>
          format: uuid
          type: string
        link_reason:
          format: text
          type: string
        link_score:
          format: numeric
          type: number
        linked_at:
          format: timestamp with time zone
          type: string
        linked_by:
          format: character varying
          maxLength: 10
          type: string
        manufacturer:
          format: character varying
          maxLength: 400
          type: string
        model:
          format: character varying
          maxLength: 400
          type: string
        os_name:
          format: character varying
          maxLength: 400
          type: string
        os_version:
          format: character varying
          maxLength: 120
          type: string
        primary_mac:
          format: character varying
          maxLength: 17
          type: string
        serial_number:
          format: character varying
          maxLength: 120
          type: string
        site_id:
          description: >-
            Note:

            This is a Foreign Key to `entry_currencies.for_site_id`.<fk
            table='entry_currencies' column='for_site_id'/>
          format: uuid
          type: string
        software_installed:
          format: bigint
          type: integer
        status:
          format: character varying
          maxLength: 20
          type: string
      type: object

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.