---
title: "connect.device.read · OpenVibe.Services"
canonical: "https://openvibe.services/docs/capabilities/connect.device.read"
updated: null
---

# connect.device.read · OpenVibe.Services

HTML: [connect.device.read · OpenVibe.Services](https://openvibe.services/docs/capabilities/connect.device.read)

# `connect.device.read`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

Not grantable to apps (planned, public).

PLANNED for OpenVibe.Website Connect (audience openvibe.website, owner or project scope): list the devices in the caller's private mesh and read one by id (GET /api/v1/devices and GET /api/v1/devices/:id) as connect.device@1. Every device belongs to exactly one tenant, so a read never crosses a tenant boundary; a device in another tenant is 404. Posture is the self-reported signal last checked, never a claim the service verifies.

- Owner: connect (token audience `openvibe.connect`)
- Version: 1.0
- Status: planned
- Visibility: public
- Resource constraints: owner, project
- Quota class: connect-device
- Permissions: connect:devices:read
- Input: [common.no-body@1](/docs/contracts/common.no-body)
- Output: connect.device@1
- Events: —
- Implemented by: - `GET /api/v1/devices`
- `GET /api/v1/devices/:id`

[These routes in the API explorer](/docs/api/connect#cap-connect.device.read)
