wakato-io Tables API
The Tables API from wakato-io — 15 operation(s) for tables.
The Tables API from wakato-io — 15 operation(s) for tables.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/wakato-io:wakato-io-tables-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Wakato Space Tables API
version: 1.0.0
description: 'The **Wakato Space API** lets an external agent or tool (Claude Code, Cursor,
Zapier, a partner integration, your own scripts) operate a single Wakato
**Space** using a scoped Bearer token (a *Space API key*, `wks_live_…`).
The **same token** works two ways:
- **REST** — the endpoints documented here (`/functions/v1/space-api/…`).
- **MCP** — a Model Context Protocol server at `/functions/v1/space-mcp`
that exposes the same operations as tools to MCP clients. MCP clients
self-discover the tools via `tools/list`; see the Quickstart to connect.
### Authentication
Send the key as a Bearer token: `Authorization: Bearer wks_live_…`.
A key is locked to exactly one Space and cannot read or write any other
Space, the wallet (beyond read), member permissions, or other users.
### Scopes
Every key grants per-domain scopes with up to three actions:
- `read` — list / inspect
- `write` — create / edit
- `run` — the *consequential* action (publish a page, send an SMS, post
socially, run an automation). Public/billable actions are deliberately
split into `run` so you grant them explicitly.
Each operation below notes its required scope via `x-required-scope`.
A call without the scope returns `403`.
### Safety model
- Wallet, Finance, Integrations are **read-only**. Money is never moved.
- Secrets returns **names only** — values are never exposed.
- Social posts and ad campaigns default to **drafts**; going live requires
the `run` scope. Connecting new OAuth accounts is never done by a key.'
servers:
- url: https://api.wakato.io/functions/v1/space-api
description: Production
- url: https://pnwxrleocjbcvrrwrycq.supabase.co/functions/v1/space-api
description: Development
security:
- bearerAuth: []
tags:
- name: Tables
paths:
/tables:
get:
tags:
- Tables
summary: List tables (record types)
x-required-scope: tables:read
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:read`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X GET \"https://api.wakato.io/functions/v1/space-api/tables\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: getTables
x-operation-id-source: derived
post:
tags:
- Tables
summary: Create a table (optionally with initial columns)
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
properties:
name:
type: string
description: Plural label
e.g. Invoices: null
singular_label:
type: string
slug:
type: string
description: Auto-generated and de-duplicated when omitted
icon:
type: string
color:
type: string
description:
type: string
title_field_key:
type: string
columns:
type: array
description: Initial schema — same shape as POST /tables/{tableId}/columns
items:
type: object
responses:
'201':
$ref: '#/components/responses/Created'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X POST \"https://api.wakato.io/functions/v1/space-api/tables\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"name\": \"Launch plan\"\n}'"
operationId: postTables
x-operation-id-source: derived
/tables/{tableId}:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
get:
tags:
- Tables
summary: Get a table's full definition (meta + columns + views + row count)
x-required-scope: tables:read
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:read`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X GET \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: getTablesByTableId
x-operation-id-source: derived
patch:
tags:
- Tables
summary: Update table metadata (labels/icon/description; archived true/false)
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
plural_label:
type: string
singular_label:
type: string
slug:
type: string
icon:
type: string
color:
type: string
description:
type: string
title_field_key:
type: string
archived:
type: boolean
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X PATCH \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{}'"
operationId: patchTablesByTableId
x-operation-id-source: derived
delete:
tags:
- Tables
summary: Archive a table (default) or permanently delete with ?hard=true
x-required-scope: tables:write
parameters:
- in: query
name: hard
schema:
type: boolean
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X DELETE \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: deleteTablesByTableId
x-operation-id-source: derived
/tables/{tableId}/rows:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
get:
tags:
- Tables
summary: List/query rows of a table
x-required-scope: tables:read
parameters:
- in: query
name: limit
schema:
type: integer
- in: query
name: offset
schema:
type: integer
- in: query
name: filters
schema:
type: string
description: 'JSON array: [{"column_key","op","value"}] — ops: eq|neq|contains|gt|lt|is_empty|is_not_empty'
- in: query
name: sort
schema:
type: string
description: 'JSON array: [{"column_key","direction"}]'
- in: query
name: search
schema:
type: string
description: Substring match on the title column
- in: query
name: search_column
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:read`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X GET \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/rows\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: getTablesByTableIdRows
x-operation-id-source: derived
post:
tags:
- Tables
summary: Create a row
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: Map of column key → value
responses:
'201':
$ref: '#/components/responses/Created'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X POST \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/rows\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{}'"
operationId: postTablesByTableIdRows
x-operation-id-source: derived
/tables/{tableId}/rows/bulk:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
post:
tags:
- Tables
summary: Bulk-insert up to 100 rows
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- rows
properties:
rows:
type: array
items:
type: object
maxItems: 100
responses:
'201':
$ref: '#/components/responses/Created'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X POST \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/rows/bulk\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"rows\": []\n}'"
operationId: postTablesByTableIdRowsBulk
x-operation-id-source: derived
patch:
tags:
- Tables
summary: Bulk-update up to 100 rows (merge per row)
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- updates
properties:
updates:
type: array
maxItems: 100
items:
type: object
required:
- row_id
- data
properties:
row_id:
type: string
data:
type: object
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X PATCH \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/rows/bulk\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"updates\": []\n}'"
operationId: patchTablesByTableIdRowsBulk
x-operation-id-source: derived
/tables/{tableId}/rows/bulk-delete:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
post:
tags:
- Tables
summary: Bulk-delete up to 100 rows by id
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- row_ids
properties:
row_ids:
type: array
items:
type: string
maxItems: 100
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X POST \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/rows/bulk-delete\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"row_ids\": []\n}'"
operationId: postTablesByTableIdRowsBulkDelete
x-operation-id-source: derived
/tables/{tableId}/rows/{rowId}:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
- in: path
name: rowId
required: true
schema:
type: string
patch:
tags:
- Tables
summary: Update a row (merge)
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
type: object
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X PATCH \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/rows/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{}'"
operationId: patchTablesByTableIdRowsByRowId
x-operation-id-source: derived
delete:
tags:
- Tables
summary: Delete a row
x-required-scope: tables:write
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X DELETE \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/rows/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: deleteTablesByTableIdRowsByRowId
x-operation-id-source: derived
/tables/{tableId}/columns:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
get:
tags:
- Tables
summary: List a table's columns (schema)
x-required-scope: tables:read
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:read`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X GET \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/columns\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: getTablesByTableIdColumns
x-operation-id-source: derived
post:
tags:
- Tables
summary: Add a column (all field types incl. formula/lookup/rollup via field_config)
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- key
- label
- type
properties:
key:
type: string
description: snake_case
label:
type: string
type:
type: string
options:
type: array
reference_target:
type: object
field_config:
type: object
required:
type: boolean
default_value: {}
icon:
type: string
responses:
'201':
$ref: '#/components/responses/Created'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X POST \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/columns\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"key\": \"example\",\n \"label\": \"example\",\n \"type\": \"example\"\n}'"
operationId: postTablesByTableIdColumns
x-operation-id-source: derived
/tables/{tableId}/columns/{columnId}:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
- in: path
name: columnId
required: true
schema:
type: string
patch:
tags:
- Tables
summary: Update a column
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X PATCH \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/columns/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{}'"
operationId: patchTablesByTableIdColumnsByColumnId
x-operation-id-source: derived
delete:
tags:
- Tables
summary: Delete a column (drops its data from all rows)
x-required-scope: tables:write
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X DELETE \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/columns/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: deleteTablesByTableIdColumnsByColumnId
x-operation-id-source: derived
/tables/{tableId}/views:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
get:
tags:
- Tables
summary: List a table's views
x-required-scope: tables:read
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:read`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X GET \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/views\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: getTablesByTableIdViews
x-operation-id-source: derived
post:
tags:
- Tables
summary: Create a view (grid|kanban|gallery|calendar|dashboard)
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
properties:
name:
type: string
type:
type: string
enum:
- grid
- kanban
- gallery
- calendar
- dashboard
config:
type: object
is_default:
type: boolean
responses:
'201':
$ref: '#/components/responses/Created'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X POST \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/views\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"name\": \"Launch plan\"\n}'"
operationId: postTablesByTableIdViews
x-operation-id-source: derived
/tables/{tableId}/views/{viewId}:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
- in: path
name: viewId
required: true
schema:
type: string
get:
tags:
- Tables
summary: Get one view (full config)
x-required-scope: tables:read
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:read`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X GET \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/views/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: getTablesByTableIdViewsByViewId
x-operation-id-source: derived
patch:
tags:
- Tables
summary: Update a view
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X PATCH \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/views/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{}'"
operationId: patchTablesByTableIdViewsByViewId
x-operation-id-source: derived
delete:
tags:
- Tables
summary: Delete a view
x-required-scope: tables:write
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X DELETE \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/views/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: deleteTablesByTableIdViewsByViewId
x-operation-id-source: derived
/tables/{tableId}/share-links:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
get:
tags:
- Tables
summary: List public view-only share links
x-required-scope: tables:read
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:read`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X GET \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/share-links\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: getTablesByTableIdShareLinks
x-operation-id-source: derived
post:
tags:
- Tables
summary: Create a public view-only share link (returns the URL)
x-required-scope: tables:write
requestBody:
content:
application/json:
schema:
type: object
properties:
view_id:
type: string
description: Share this view; defaults to the table's default view
name:
type: string
responses:
'201':
$ref: '#/components/responses/Created'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X POST \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/share-links\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{}'"
operationId: postTablesByTableIdShareLinks
x-operation-id-source: derived
/tables/{tableId}/share-links/{linkId}:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
- in: path
name: linkId
required: true
schema:
type: string
delete:
tags:
- Tables
summary: Revoke a share link (URL stops working immediately)
x-required-scope: tables:write
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X DELETE \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/share-links/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: deleteTablesByTableIdShareLinksByLinkId
x-operation-id-source: derived
/tables/{tableId}/rows/{rowId}/comments:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
- in: path
name: rowId
required: true
schema:
type: string
get:
tags:
- Tables
summary: List a row's comment thread (oldest first)
x-required-scope: tables:read
parameters:
- in: query
name: limit
schema:
type: integer
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:read`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X GET \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/rows/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/comments\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: getTablesByTableIdRowsByRowIdComments
x-operation-id-source: derived
post:
tags:
- Tables
summary: Add a comment to a row (posted as the agent)
x-required-scope: tables:write
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- body
properties:
body:
type: string
maxLength: 4000
responses:
'201':
$ref: '#/components/responses/Created'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X POST \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/rows/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/comments\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"body\": \"example\"\n}'"
operationId: postTablesByTableIdRowsByRowIdComments
x-operation-id-source: derived
/tables/{tableId}/snapshots:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
get:
tags:
- Tables
summary: List Time Machine snapshots
x-required-scope: tables:read
parameters:
- in: query
name: limit
schema:
type: integer
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:read`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X GET \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/snapshots\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: getTablesByTableIdSnapshots
x-operation-id-source: derived
post:
tags:
- Tables
summary: Capture a named save point (schema + rows + views)
x-required-scope: tables:write
requestBody:
content:
application/json:
schema:
type: object
properties:
label:
type: string
responses:
'201':
$ref: '#/components/responses/Created'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X POST \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/snapshots\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -d '{}'"
operationId: postTablesByTableIdSnapshots
x-operation-id-source: derived
/tables/{tableId}/snapshots/{snapshotId}/restore:
parameters:
- in: path
name: tableId
required: true
schema:
type: string
- in: path
name: snapshotId
required: true
schema:
type: string
post:
tags:
- Tables
summary: Restore the table to a snapshot (atomic, reversible)
x-required-scope: tables:write
responses:
'200':
$ref: '#/components/responses/Ok'
description: '**Required scope:** `tables:write`'
x-codeSamples:
- lang: bash
label: cURL
source: "curl -X POST \"https://api.wakato.io/functions/v1/space-api/tables/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/snapshots/b7e4a1c2-9d3f-4e8a-b2c1-5f6d7e8a9b0c/restore\" \\\n -H \"Authorization: Bearer wks_live_YOUR_TOKEN\""
operationId: postTablesByTableIdSnapshotsBySnapshotIdRestore
x-operation-id-source: derived
components:
responses:
Ok:
description: Success
content:
application/json:
schema:
type: object
Created:
description: Created
content:
application/json:
schema:
type: object
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: A Space API key, e.g. `wks_live_…`.