Skip to main content
POST
Call data.create_table

Authorizations

Authorization
string
header
required

An API key minted at Settings › API & MCP. Send it as Authorization: Bearer <key>. A key carries its holder's own permissions, resolved on every call — revoking a membership closes the key's reach immediately. Keep it in an environment variable (GOOSY_API_KEY), never in a committed file.

Body

application/json
name
string
required

What this table is called, in the operator's own words.

Maximum string length: 120
columns
object[]
required

The typed header. At most 100 columns. Every column key must be unique in the table.

Maximum array length: 100
idempotency_key
string
required
Required string length: 1 - 200
board_id
string<uuid>

The project board this table lands on — take it from board.tree, never invent one. Leave it out and a new board is created for it.

workspace
string

Which workspace to run in — its slug. Omit to use your default. With more than one reachable workspace and no default, the call is refused and the choices are listed.

Minimum string length: 1

Response

The call was admitted and dispatched. ok says whether the tool succeeded — a refusal the tool itself produced is still a 200, exactly as it is a successful JSON-RPC result over MCP.

The tool ran and answered.

ok
boolean
required
table_id
string
required
name
string
required
board_id
string | null
required
board_item_id
string | null
required
column_count
number
required
workspace
string
required

The slug of the workspace this call ran in.

working_in
object
required

Which workspace this call ran in, and how that was decided. Present on every workspace-scoped result.