# List company devices

**GET** `/devices`

## Parameters

### `limit` (_query_, optional)

Page size (max 100)

- **Type:** `integer`
- **Default:** `50`
- **Example:** `50`
- **Constraints:** >= 1, <= 100

### `offset` (_query_, optional)

Number of items to skip

- **Type:** `integer`
- **Nullable:** yes
- **Default:** `0`
- **Example:** `0`
- **Constraints:** >= 0

### `search` (_query_, optional)

Full-text search on device search_field (tsquery) and related assignee/tag fields

- **Type:** `string`
- **Example:** `"macbook SN123"`

### `user_id` (_query_, optional)

Filter by assigned user id

- **Type:** `integer`
- **Example:** `12`
- **Constraints:** > 0

### `client_status` (_query_, optional)

Filter by computed client_status (same uppercase keys as response `client_status`; applied in SQL)

- **Type:** `string`
- **Enum:** `"ARCHIVED"`, `"PENDING_VALIDATION"`, `"IN_PREPARATION"`, `"DELIVERED"`, `"SHIPPED"`, `"AVAILABLE"`, `"IN_SERVICE"`, `"IN_MAINTENANCE"`, `"OUT_OF_SERVICE"`

## Responses

### 200

Paginated devices

**application/json**

_Schema ref:_ `#/components/schemas/ListDevicesResponse` (ListDevicesResponse)

```json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "serial_number": {
            "type": "string",
            "nullable": true
          },
          "rent": {
            "type": "string",
            "nullable": true
          },
          "tracking_number": {
            "type": "string",
            "nullable": true
          },
          "client_status": {
            "type": "string",
            "enum": [
              "ARCHIVED",
              "PENDING_VALIDATION",
              "IN_PREPARATION",
              "DELIVERED",
              "SHIPPED",
              "AVAILABLE",
              "IN_SERVICE",
              "IN_MAINTENANCE",
              "OUT_OF_SERVICE"
            ],
            "description": "Device progress key for display and filtering"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true,
            "description": "Free-form device comment"
          },
          "characteristics": {
            "type": "object",
            "properties": {
              "screen_size": {
                "type": "string",
                "nullable": true
              },
              "graphic": {
                "type": "string",
                "nullable": true
              },
              "processor": {
                "type": "string",
                "nullable": true
              },
              "ram": {
                "type": "string",
                "nullable": true
              },
              "storage": {
                "type": "string",
                "nullable": true
              },
              "model_year": {
                "type": "string",
                "nullable": true
              },
              "connectivity": {
                "type": "string",
                "nullable": true
              },
              "keyboard_layout": {
                "type": "string",
                "nullable": true,
                "enum": [
                  "FRENCH_AZERTY",
                  "SPANISH_QWERTY",
                  "ITALIAN_QWERTY",
                  "INTERNATIONAL_ENGLISH_QWERTY",
                  "GERMAN_QWERTZ",
                  "PORTUGUESE_QWERTY",
                  "ENGLISH_QWERTY",
                  "SWISS_QWERTZ",
                  "AMERICAN_ENGLISH_QWERTY",
                  "CANADIAN_ENGLISH_QWERTY",
                  "DUTCH_QWERTY"
                ],
                "description": "Keyboard layout for delivery pricing (maps to Fleet keyboard_layouts.type)",
                "example": "FRENCH_AZERTY"
              },
              "resolution": {
                "type": "string",
                "nullable": true
              },
              "has_microphone": {
                "type": "boolean",
                "nullable": true
              },
              "has_webcam": {
                "type": "boolean",
                "nullable": true
              },
              "noise_cancellation": {
                "type": "boolean",
                "nullable": true
              },
              "compliance": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "string"
                }
              },
              "connection_type": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "string"
                }
              },
              "has_stool": {
                "type": "boolean",
                "nullable": true
              },
              "has_video_package": {
                "type": "boolean",
                "nullable": true
              },
              "has_screen": {
                "type": "boolean",
                "nullable": true
              },
              "has_premium_tablet": {
                "type": "boolean",
                "nullable": true
              },
              "color": {
                "type": "string",
                "nullable": true
              },
              "seats_number": {
                "type": "string",
                "nullable": true
              },
              "assembly": {
                "type": "string",
                "nullable": true
              },
              "os_platform": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "screen_size",
              "graphic",
              "processor",
              "ram",
              "storage",
              "model_year",
              "connectivity",
              "keyboard_layout",
              "resolution",
              "has_microphone",
              "has_webcam",
              "noise_cancellation",
              "compliance",
              "connection_type",
              "has_stool",
              "has_video_package",
              "has_screen",
              "has_premium_tablet",
              "color",
              "seats_number",
              "assembly",
              "os_platform"
            ]
          },
          "mdm": {
            "type": "object",
            "nullable": true,
            "properties": {
              "id": {
                "type": "integer"
              },
              "status": {
                "type": "string",
                "enum": [
                  "DRAFT",
                  "SUBSCRIBED",
                  "DOWNLOADED",
                  "IDENTIFIED",
                  "ENROLLMENT_IN_PROGRESS",
                  "ENROLLED",
                  "UNENROLLED",
                  "DEVICE_WIPE_PENDING"
                ],
                "description": "Raw MDM enrollment status from `devices_mdm`. `DRAFT` rows are omitted by the device relation; other values match DB enum."
              },
              "local_name": {
                "type": "string",
                "nullable": true
              },
              "is_locked": {
                "type": "boolean",
                "nullable": true
              },
              "lock_date": {
                "type": "string",
                "nullable": true
              },
              "firewall_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "os_updates_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "is_encrypted": {
                "type": "boolean",
                "nullable": true
              },
              "screenlock_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "is_compromised": {
                "type": "boolean",
                "nullable": true
              },
              "os_updates_available": {
                "type": "boolean",
                "nullable": true
              },
              "disk_encryption_profile_installed": {
                "type": "boolean",
                "nullable": true
              },
              "enrollment_date": {
                "type": "string",
                "nullable": true
              },
              "unenrollment_date": {
                "type": "string",
                "nullable": true
              },
              "download_date": {
                "type": "string",
                "nullable": true
              },
              "last_seen_date": {
                "type": "string",
                "nullable": true
              },
              "last_sync_date": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "id",
              "status",
              "local_name",
              "is_locked",
              "lock_date",
              "firewall_enabled",
              "os_updates_enabled",
              "is_encrypted",
              "screenlock_enabled",
              "is_compromised",
              "os_updates_available",
              "disk_encryption_profile_installed",
              "enrollment_date",
              "unenrollment_date",
              "download_date",
              "last_seen_date",
              "last_sync_date"
            ],
            "description": "MDM enrollment row when present (non-deleted, non-DRAFT); null otherwise"
          }
        },
        "required": [
          "id",
          "name",
          "serial_number",
          "rent",
          "tracking_number",
          "client_status",
          "type",
          "category",
          "source",
          "comment",
          "characteristics",
          "mdm"
        ]
      }
    },
    "meta": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "description": "Total rows matching filters (before paging)",
          "example": 42
        },
        "limit": {
          "type": "integer",
          "description": "Requested page size after validation",
          "example": 50
        },
        "offset": {
          "type": "integer",
          "description": "Requested offset after validation",
          "example": 0
        }
      },
      "required": [
        "total",
        "limit",
        "offset"
      ]
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
```

### 400

Validation error

**application/json**

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  },
  "required": [
    "error"
  ]
}
```

## Security

```json
[
  {
    "bearerAuth": []
  }
]
```

**bearerAuth:** Bearer token using a Fleet platform API key (flt_sk_…).

---

_Generated from the OpenAPI specification for raw Markdown / tooling use._
