---
title: "List a side's tables"
method: GET
path: "/v1/sync/syncs/{sync_id}/tables"
tags: ["Schema"]
---

# List a side's tables

`GET /v1/sync/syncs/{sync_id}/tables`

## Request

- Base URL: `https://api.whalesync.com`
- URL: `https://api.whalesync.com/v1/sync/syncs/{sync_id}/tables`
- Auth: HTTP bearer

The tables of the base one side is connected to, from the cache the app also uses; the first call fetches them from the connected app. `202` means another request is already loading them — retry the same GET.

## Path parameters

- `sync_id` string, required

## Query parameters

- `side` 'left' | 'right', required
- `refresh` string

## Response `200`

The tables on that side.

- TableList
  - `data` Table[], required
    - `id` string, required
    - `remote_id` string, required: The table id in the connector, stable across renames.
    - `name` string, required
    - `fields_fetched_at` string, date-time, nullable, required: When this table's fields were last fetched, or null if never (the fields endpoint fetches them).
    - `views` TableViews, required
      - `required` boolean, required: Whether a mapping for this table must set that side's `view`. A write without one is rejected.
      - `options` TableViewOption[], required: The values `view` accepts.
        - `value` string, required: Pass this as the side's `view` in the mappings document.
        - `name` string, required: The view's name in the connected app.
    - `fields_url` string, uri, required: This table's fields.
  - `fetched_at` string, date-time, nullable, required: When this listing was last fetched from the connected app. Pass `?refresh=true` to refetch.

## Other responses

- `202`: Another request is already loading this schema; retry the same GET.
- `401`: The API key is missing, invalid, or revoked (`missing_api_key`, `invalid_api_key`). Carries a `required_action` linking a person to key creation, naming the smallest scope this endpoint needs.
- `403`: The key's scope does not allow this call (`insufficient_scope` on a mutation with a `read` key).
- `404`: No such sync on this account.
- `409`: A person has to act first (`requires_action`): the error carries `required_action` — relay its `instruction` and `url` to a human, then retry. Also `sync_active` when `refresh=true` is asked of an active sync.
- `429`: Rate limit exceeded. Wait for `Retry-After` seconds.

---

[API](https://skmtc.dev/whalesync/apis/whalesync-api.md) · [All operations](https://skmtc.dev/whalesync/apis/whalesync-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whalesync/apis/whalesync-api/revisions/5131522b325a?raw)
