---
title: "List a side's reachable bases"
method: GET
path: "/v1/sync/syncs/{sync_id}/sides/{side}/bases"
tags: ["Syncs"]
---

# List a side's reachable bases

`GET /v1/sync/syncs/{sync_id}/sides/{side}/bases`

## Request

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

The bases/workspaces/schemas the side's credentials can reach, fetched live from the connected service. Use after a `base_not_found`/`base_ambiguous` error, or to browse before re-pointing a side.

## Path parameters

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

## Response `200`

The reachable bases.

- SideBaseList
  - `data` SyncSideBase[], required
    - `remote_id` string, required: The base id in the connector, stable across renames.
    - `name` string, required: The base name as shown by the connector.
    - `url` string, uri, nullable, required: A link to open the base in its own service, if any.

## Other responses

- `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.
- `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)
