---
title: "List Rows"
method: GET
path: "/api/v1/ontology/entities/{entity_id}/rows"
tags: ["ontology-rows"]
---

# List Rows

`GET /api/v1/ontology/entities/{entity_id}/rows`

List merged rows (source ⊕ overlay) for an entity, paginated.

Applies row-policy RLS so non-owner users only see rows their policies
allow — same enforcement as ``/records``.

## Path parameters

- `entity_id` string, uuid, required

## Query parameters

- `page` integer
- `page_size` integer

## Response `200`

Successful Response

- EntityRowList
  - `rows` EntityRowRead[], required
    - `row_key` string, required — Stable identity for this row within the entity.
    - `values` object, required — Column → value, post-merge.
    - `has_overlay` boolean — True if any overlay edits applied to this row.
    - `overlay_only` boolean — True if this row exists only in the overlay (no source counterpart).
    - `source_deleted` boolean — True if the source row vanished after refresh; row is hidden by default.
    - `updated_by` string, uuid, nullable — Last editor (None if no overlay).
    - `updated_at` string, date-time, nullable — Overlay updated_at if an overlay exists.
  - `page` integer, required
  - `page_size` integer, required
  - `total_source` integer, required — Source row count (excluding tombstones).
  - `total_overlay_only` integer, required — Count of overlay-only inserts.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/netter/apis/dmi-backend.md) · [All operations](https://skmtc.net/netter/apis/dmi-backend/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/netter/dmi-backend/versions/a59877bf911b/schema)
