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

# network.layout.read · OpenVibe.Services

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

# `network.layout.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 (active, first-party).

Read the active ui.layout@1 one person made for a product's own surface, with that surface's device class. A first-party service presents a service token for openvibe.network and names the person with X-OV-Subject (which must be the person in the path); it reads one layout and nothing else of their account, and never their saved or gallery layouts. The person's own token uses GET /api/v1/me/layouts/:surface instead, which reads and writes only their own rows.

- Owner: network (token audience `openvibe.network`)
- Version: 1.0
- Status: active
- Visibility: first-party
- Resource constraints: owner
- Quota class: standard
- Permissions: network:layout
- Input: [common.no-body@1](/docs/contracts/common.no-body)
- Output: ui.layout@1
- Events: —
- Implemented by: - `GET /api/v1/people/:subject/layouts/:surface`

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