---
title: "Get Row"
method: GET
path: "/api/v1/ontology/entities/{entity_id}/rows/{row_key}"
tags: ["ontology-rows"]
---

# Get Row

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

Fetch a single merged row by key (source ⊕ overlay), RLS-applied.

Powers "open this row" links (e.g. the action audit trail). 404 when the
row is tombstoned, RLS-hidden, or unknown.

## Path parameters

- `entity_id` string, uuid, required
- `row_key` string, required

## Response `200`

Successful Response

- EntityRowRead — One merged row (source ⊕ overlay).
  - `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.

## 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)
