---
search:
  tags:
    - Views
    - GET
seo:
  description: >-
    Page the caller's org for one target, returning only the Views they may see.
    Reference for the GET /v1/views endpoint in the Roboto REST API.
sidebar:
  label: List views for org
  badge: GET
title: List views for org
type: openapi-operation
---
Page the caller's org for one target, returning only the Views they may see.

Visibility lives in OpenFGA rather than in a column, so it cannot be a ``WHERE`` clause the
way ``query_layouts_for_org`` filters on ``accessibility``. A page of rows is read first and
then narrowed with a batch check, the same shape ``workspaces_service`` uses.

That check runs after ``LIMIT``, so a page shrinks on the way out — and with Views private
by default, most of a page being dropped is the ordinary case rather than the edge. An
author with thirty private Views and twenty shared ones would get arbitrarily short pages,
and a client paging until it saw fewer rows than it asked for would stop in the middle of
the list. So this reads repeatedly until it can hand back a full page.

Each read asks for only the shortfall it still has to cover. A page can only shrink under
filtering, so that is as much over-fetching as is ever useful, and it makes overshoot
impossible — which matters because the page token is an offset over *rows*: truncating an
oversized read would drop rows the token has already counted, and they would never be seen
again. The token returned is the one belonging to the last read actually made.

Reading on is bounded by ``MAX_PAGE_FILL_READS``; see it for why filling is best-effort.

### Access control
 - Restricted tokens need the API scope `api.everything_else`

`GET /v1/views`
