> ## Documentation Index
> Fetch the complete documentation index at: https://developers.clay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# tables rows get

> Get a single table row by id.

Fetch a single row by id. Works for both regular and archive tables. To list or filter rows, use [`clay tables rows list`](/cli/reference/tables-rows-list).

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
clay tables rows get <tableId> <rowId>
```

## Arguments

| Argument  | Description                                                            |
| --------- | ---------------------------------------------------------------------- |
| `tableId` | The id of the table (regular or archive) the row belongs to. Required. |
| `rowId`   | The id of the row to fetch. Required.                                  |

## Output

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "rec_456",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "cells": {
    "col_email": { "status": "success", "value": "jane@acme.com", "fields": null }
  }
}
```

| Field       | Type   | Description                                    |
| ----------- | ------ | ---------------------------------------------- |
| `id`        | string | Row id.                                        |
| `updatedAt` | string | Last-updated timestamp.                        |
| `cells`     | object | Map of column id to a cell object (see below). |

### Cell shape

Each cell is discriminated on `status`:

| Status                                                            | Fields                                                                           | Meaning                                                           |
| ----------------------------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| `success`                                                         | `value` (computed value), `fields` (object \| null), `isStale` (optional `true`) | The cell has a computed value; structured content is in `fields`. |
| `error`                                                           | `error` (string, optional)                                                       | The cell errored; `error` carries the message.                    |
| `running`, `queued`, `retry`, `rate_limited`, `awaiting_callback` | —                                                                                | The cell is still being computed.                                 |
| `empty`                                                           | —                                                                                | The cell has no value yet.                                        |

## Errors

| Code             | Exit | Notes                                                                 |
| ---------------- | ---- | --------------------------------------------------------------------- |
| `not_found`      | 6    | No table or no row with that id in the workspace.                     |
| `auth_forbidden` | 3    | The API key lacks the `cli:all` scope, or you cannot read this table. |

## Examples

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
clay tables rows get tbl_123 rec_456
clay tables rows get tbl_123 rec_456 | jq '.cells'
clay tables rows get tbl_archive rec_789 | jq -r '.cells | keys[]'
```
