---
title: "List syncs"
method: GET
path: "/v1/workspaces/{workspace_id}/bases"
tags: ["Syncs"]
---

# List syncs

`GET /v1/workspaces/{workspace_id}/bases`

## Request

- Base URL: `https://api.stacksync.com`
- URL: `https://api.stacksync.com/v1/workspaces/{workspace_id}/bases`
- Auth: HTTP bearer

List the syncs of the workspace in every region, newest first, with their apps, tables, columns and settings. Deleted syncs are not listed. No `region` parameter: both regions are read.

## Path parameters

- `workspace_id` integer, required

## Query parameters

- `name` string

## Response `200`

The syncs of the workspace

- SyncListResponse: The syncs of the workspace, newest first
  - `data` Sync[], required: The syncs, across both regions
    - `base_id` string, uuid, required: The sync
    - `base_name` string, required: The name of the sync
    - `base_status` string, required: The state of the sync: `running` (switched on), `paused` (switched off), `processing` (a switch is in progress) or an error state set by the platform
    - `base_region` 'besg' | 'usnv', required: The data region the sync runs in
    - `settings` SyncSettings, required: The settings of the sync
      - `max_records_sync_delay_in_seconds` integer: The longest a change may wait before it is synced, in seconds; 0 syncs in real time
    - `apps` SyncApp[], required: The two apps of the sync
      - `app_id` string, required: The id of the app inside the sync, used by the app routes (delete protection, rate limit) and by triggers
      - `app_type` string, required: The app, as shown in Stacksync
      - `connection_id` string, uuid: The connection the app uses
      - `connection_name` string: The name of that connection
      - `rate_limit` SyncRateLimit: The most requests Stacksync makes to the app in a period
        - `rate` integer, required: The number of requests allowed per period, 1 to 2147483647
        - `frequency` 1 | 60 | 3600 | 86400, required: The period of the rate in seconds: 1 (per second), 60 (per minute), 3600 (per hour) or 86400 (per day)
      - `delete_protection` boolean, required: Whether deletes are kept from reaching this app
      - `bulk_api_access` boolean, required: Whether the Salesforce Bulk API is used for this app
      - `cdc_method` string, nullable: How changes are captured from this app (for example `triggers`, `logical_replication`, `webhook`); null when not applicable
      - `tables` SyncTable[], required: The synced tables of the app
        - `table_name` string, required: The name of the table in the app
        - `table_mapping_id` string, required: The id shared by the two tables of a pair
        - `sync_direction` 'bidirectional' | 'incoming' | 'outgoing': `bidirectional` (read and written), `incoming` (only written into) or `outgoing` (only read from)
        - `columns` SyncColumn[], required: The synced columns of the table
          - `column_name` string, required: The name of the column in the app
          - `column_mapping_id` string, required: The id shared by the two columns of a pair
          - `column_sync_direction` string: The direction of this column when it differs from the table's: `bidirectional`, `incoming` or `outgoing`; null for the table's

## Other responses

- `400`: `name` is not a string of 3 to 63 allowed characters (`Invalid Request Body`); the syncs could not be read (`Error retrieving bases`)
- `403`: Forbidden: invalid API key, API key of another workspace, insufficient scope, workspace unavailable, or a non-GET request without `Content-Type: application/json`

---

[API](https://skmtc.dev/stacksync/apis/stacksync-api.md) - [All operations](https://skmtc.dev/stacksync/apis/stacksync-api/llms.txt) - [OpenAPI document](https://skmtc.dev/stacksync/apis/stacksync-api/revisions/21f4ba4b214e?raw)
