---
title: "List tables"
method: GET
path: "/tables/"
tags: ["tables", "mcp-always-include"]
---

# List tables

`GET /tables/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/tables/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

List the organisation's tables with cursor pagination and optional filters. Every folder is reached unless folder_id or top_level narrows it, and archived tables are left out unless archived says otherwise. Each table says the folders on the way to it.

## Query parameters

- `filters` ListTablesFilterParamsSchema, required: Query parameters for filtering tables.
  - `archived` 'exclude' | 'include' | 'only': Which tables a listing reaches, as far as the archive goes.
  - `created_at__after` string, date-time, nullable: Filter by created_at after this instant (ISO 8601).
  - `created_at__before` string, date-time, nullable: Filter by created_at before this instant (ISO 8601).
  - `folder_id` string, uuid, nullable: Only the tables directly in this folder. Leave it and top_level out to reach every folder, as search does.
  - `name__contains` string, nullable: Filter by name (case-insensitive contains).
  - `owner_user_id` string, nullable: Filter to tables this workspace member owns.
  - `top_level` boolean: Only the tables in no folder: the top level of the Tables list.
  - `unowned` boolean: Only tables that nobody owns.
- `limit` integer: The number of items to return.
- `order_by` 'id' | 'created_at' | 'updated_at' | 'name' | 'owner_user_id'
- `order_direction` 'asc' | 'desc'
- `cursor` string, nullable: Set the cursor to the next or previous page. You can get the cursor from the previous page's response.

## Response `200`

Successful Response

- PaginatedResponseTableReadSchema
  - `data` TableReadSchema[]: The list of ResponseItems.
    - `ai_made` boolean: Whether the AI Assistant created this table through a granted action. The owner is still the person who approved it.
    - `archived_at` string, date-time, nullable: When somebody archived it; null for a table on the list. An archived table is left out of All, its folder, Favorites and Recent, and still found by search and opened as before.
    - `auto_run` boolean, required: Whether data changes request recompute runs by themselves. Column-definition changes always recompute.
    - `created_at` string, date-time, required
    - `deleted_at` string, date-time, nullable: When the table was moved to trash; null for a live table.
    - `description` string, nullable, required
    - `folder_id` string, uuid, nullable: The folder it sits in; null for the top level.
    - `folder_path` TableFolderCrumbSchema[]: The folders on the way to it, from the top level down; empty at the top level. What the list says under a search result and the table's own breadcrumb shows.
      - `id` string, uuid, required
      - `name` string, required
    - `former_tags` string[]: The tags it carried when folders replaced tags, when it carried more than one and so waits for somebody to file it. Empty once it is filed.
    - `id` string, uuid, required
    - `is_favorite` boolean: Whether the CALLING USER starred this table. Per-user, so a teammate may see a different value. Always false for API-key callers, which have no user to have preferences.
    - `keep_existing_results` boolean, required: Whether a manual run-all only fills the errored, empty and stale cells rather than recomputing every cell in scope.
    - `last_viewed_at` string, date-time, nullable: When the calling user last opened this table; null means never.
    - `name` string, required
    - `owner_display_name` string, nullable: The owner's name, resolved for display. Null when there is no owner or the account has no name to show.
    - `owner_user_id` string, nullable: Who created the table. Null for tables older than this field and for anything a background job created. NOT an access control: every member of the organisation can open and edit every table.
    - `row_count` integer, required: Exact row count, maintained atomically by row mutations.
    - `shared_as_template` boolean: Whether this table's shape is readable by anyone with the link, with no sign-in. Never its rows.
    - `updated_at` string, date-time, required
  - `next_page_cursor` string, nullable: The cursor to the next page. If there are no more pages, this is None.
  - `previous_page_cursor` string, nullable: The cursor to the previous page. If there are no previous pages, this is None.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
