API reference

Syncs

9 operations, generated from the OpenAPI document.

Add a table synced from a table or view you can read (creators and up)

POST /api/bases/{baseId}/syncs

Access: table:create_sync on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes

Request body

  • name string
  • source object required
  • fieldIds array of string (uuid)
  • keyFieldId string (uuid) | null
  • columns array of object
    • name string required
    • type "singleLineText" | "longText" | "number" | "currency" | "percent" | "checkbox" | "date" | "dateTime" | …
    • options object
  • keyColumn string | null
  • schedule "manual" | "5m" | "hourly" | "daily"

Responses

  • 201 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • tableId string (uuid) required
    • source object required
      • kind "table" | "csv" | "postgres" | "connector" required
      • workspaceId string (uuid) | null required
      • baseId string (uuid) | null required
      • tableId string (uuid) | null required
      • viewId string (uuid) | null required
      • label string required
      • connector string | null required
    • keyFieldId string (uuid) | null required
    • keyColumn string | null required
    • fields array of object required
      • sourceFieldId string (uuid) | null required
      • column string | null required
      • fieldId string (uuid) required
    • sourceFieldId string (uuid) required
    • schedule "manual" | "5m" | "hourly" | "daily" required
    • status "active" | "paused" required
    • pauseReason "paused" | "access_lost" | "source_deleted" | "too_many_records" | null required
    • createdBy string (uuid) | null required
    • lastSyncedAt string (date-time) | null required
    • nextRunAt string (date-time) | null required
    • createdAt string (date-time) required
    • runs array of object required
      • id string (uuid) required
      • trigger "create" | "manual" | "schedule" required
      • status "queued" | "running" | "succeeded" | "failed" | "paused" required
      • created integer required
      • updated integer required
      • deleted integer required
      • unchanged integer required
      • skipped integer required
      • error string | null required
      • createdAt string (date-time) required
      • startedAt string (date-time) | null required
      • finishedAt string (date-time) | null required
    • canManage boolean required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Preview a CSV URL, Postgres or connector source (creators and up)

POST /api/bases/{baseId}/syncs/preview

Access: table:create_sync on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes

Request body

  • source object required

Responses

  • 200 Success
    • label string required
    • columns array of object required
      • name string required
      • type "singleLineText" | "longText" | "number" | "currency" | "percent" | "checkbox" | "date" | "dateTime" | … required
      • options object required
    • rows array of array of string required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

List a sync connector's items with your connected account (creators and up)

POST /api/bases/{baseId}/syncs/browse

Access: table:create_sync on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes

Request body

  • connector string required
  • path array of string
  • search string

Responses

  • 200 Success
    • items array of object required
      • id string required
      • name string required
      • detail string | null required
      • leaf boolean required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

A synced table's source, schedule and recent runs

GET /api/tables/{tableId}/sync

Access: table:read_sync on the table (see ACTIONS for the minimum role); personal access tokens need schema.bases:read.

Parameters

NameInTypeRequired
tableIdpathstringyes

Responses

  • 200 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • tableId string (uuid) required
    • source object required
      • kind "table" | "csv" | "postgres" | "connector" required
      • workspaceId string (uuid) | null required
      • baseId string (uuid) | null required
      • tableId string (uuid) | null required
      • viewId string (uuid) | null required
      • label string required
      • connector string | null required
    • keyFieldId string (uuid) | null required
    • keyColumn string | null required
    • fields array of object required
      • sourceFieldId string (uuid) | null required
      • column string | null required
      • fieldId string (uuid) required
    • sourceFieldId string (uuid) required
    • schedule "manual" | "5m" | "hourly" | "daily" required
    • status "active" | "paused" required
    • pauseReason "paused" | "access_lost" | "source_deleted" | "too_many_records" | null required
    • createdBy string (uuid) | null required
    • lastSyncedAt string (date-time) | null required
    • nextRunAt string (date-time) | null required
    • createdAt string (date-time) required
    • runs array of object required
      • id string (uuid) required
      • trigger "create" | "manual" | "schedule" required
      • status "queued" | "running" | "succeeded" | "failed" | "paused" required
      • created integer required
      • updated integer required
      • deleted integer required
      • unchanged integer required
      • skipped integer required
      • error string | null required
      • createdAt string (date-time) required
      • startedAt string (date-time) | null required
      • finishedAt string (date-time) | null required
    • canManage boolean required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Change a sync's schedule, pause or resume it (creators and up)

PATCH /api/tables/{tableId}/sync

Access: table:manage_sync on the table (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
tableIdpathstringyes

Request body

  • schedule "manual" | "5m" | "hourly" | "daily"
  • paused boolean

Responses

  • 200 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • tableId string (uuid) required
    • source object required
      • kind "table" | "csv" | "postgres" | "connector" required
      • workspaceId string (uuid) | null required
      • baseId string (uuid) | null required
      • tableId string (uuid) | null required
      • viewId string (uuid) | null required
      • label string required
      • connector string | null required
    • keyFieldId string (uuid) | null required
    • keyColumn string | null required
    • fields array of object required
      • sourceFieldId string (uuid) | null required
      • column string | null required
      • fieldId string (uuid) required
    • sourceFieldId string (uuid) required
    • schedule "manual" | "5m" | "hourly" | "daily" required
    • status "active" | "paused" required
    • pauseReason "paused" | "access_lost" | "source_deleted" | "too_many_records" | null required
    • createdBy string (uuid) | null required
    • lastSyncedAt string (date-time) | null required
    • nextRunAt string (date-time) | null required
    • createdAt string (date-time) required
    • runs array of object required
      • id string (uuid) required
      • trigger "create" | "manual" | "schedule" required
      • status "queued" | "running" | "succeeded" | "failed" | "paused" required
      • created integer required
      • updated integer required
      • deleted integer required
      • unchanged integer required
      • skipped integer required
      • error string | null required
      • createdAt string (date-time) required
      • startedAt string (date-time) | null required
      • finishedAt string (date-time) | null required
    • canManage boolean required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Stop syncing: the table keeps its records as a normal table (creators and up)

DELETE /api/tables/{tableId}/sync

Access: table:manage_sync on the table (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
tableIdpathstringyes

Responses

  • 204 Success, no content
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Sync now: queue a run of the sync (editors and up)

POST /api/tables/{tableId}/sync/run

Access: table:run_sync on the table (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
tableIdpathstringyes

Responses

  • 200 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • tableId string (uuid) required
    • source object required
      • kind "table" | "csv" | "postgres" | "connector" required
      • workspaceId string (uuid) | null required
      • baseId string (uuid) | null required
      • tableId string (uuid) | null required
      • viewId string (uuid) | null required
      • label string required
      • connector string | null required
    • keyFieldId string (uuid) | null required
    • keyColumn string | null required
    • fields array of object required
      • sourceFieldId string (uuid) | null required
      • column string | null required
      • fieldId string (uuid) required
    • sourceFieldId string (uuid) required
    • schedule "manual" | "5m" | "hourly" | "daily" required
    • status "active" | "paused" required
    • pauseReason "paused" | "access_lost" | "source_deleted" | "too_many_records" | null required
    • createdBy string (uuid) | null required
    • lastSyncedAt string (date-time) | null required
    • nextRunAt string (date-time) | null required
    • createdAt string (date-time) required
    • runs array of object required
      • id string (uuid) required
      • trigger "create" | "manual" | "schedule" required
      • status "queued" | "running" | "succeeded" | "failed" | "paused" required
      • created integer required
      • updated integer required
      • deleted integer required
      • unchanged integer required
      • skipped integer required
      • error string | null required
      • createdAt string (date-time) required
      • startedAt string (date-time) | null required
      • finishedAt string (date-time) | null required
    • canManage boolean required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

The sync connectors and your connected accounts

GET /api/me/sync-connectors

Access: any signed-in user, for their own data; signed-in session only (no personal access tokens).

Responses

  • 200 Success
    • connectors array of object required
      • id string required
      • name string required
      • description string required
      • levels array of string required
      • account object | null required
        • label string required
        • connectedAt string (date-time) required
  • 401 Not signed in
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Disconnect your account from a sync connector (its tokens are revoked)

DELETE /api/me/sync-connectors/{connectorId}

Access: any signed-in user, for their own data; signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
connectorIdpathstringyes

Responses

  • 204 Success, no content
  • 401 Not signed in
  • 429 Too many requests: a rate limit was reached (see Retry-After)