---
title: "The caller's devices; every device in the tenant for an admin; or one person's with `user_id`"
method: GET
path: "/v1/devices"
tags: ["devices"]
---

# The caller's devices; every device in the tenant for an admin; or one person's with \`user_id\`

`GET /v1/devices`

## Request

- Base URL: `https://api.sixminute.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sixminute.ai/v1/devices`
- Auth: HTTP bearer

With `user_id`, that person's devices only: an admin may name anyone in the firm, anyone else only themselves (403 otherwise). A person with no devices in this firm is an empty list.

## Query parameters

- `user_id` string

## Response `200`

Newest first.

- object[]
  - `id` string, required
  - `user_id` string, required
  - `name` string, required
  - `platform` 'macos' | 'windows' | 'ios' | 'android' | 'web', required
  - `created_at` string, date-time, required
  - `last_seen_at` string, date-time, nullable
  - `revoked_at` string, date-time, nullable
  - `signed_in` boolean

## Other responses

- `400`: The body, query or path did not validate; `errors` lists the fields.
- `401`: No bearer token, or one that does not verify or has expired.
- `403`: The token verified but may not do this: no organisation, not provisioned, wrong role, or a device problem.

## Changes

- **2026-11-04** `605577eadc10`: 1 info
  - added the optional property `items/signed_in` to the response with the `200` status

[Operation history](https://skmtc.dev/sixminute/apis/sixminute-api/changes/v1/devices/get.md)

---

[API](https://skmtc.dev/sixminute/apis/sixminute-api.md) - [All operations](https://skmtc.dev/sixminute/apis/sixminute-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sixminute/apis/sixminute-api/revisions/605577eadc10?raw)
