API reference
Columns
A table's columns: what to extract, with which type and instruction.
Add column
POST/v1/projects/{project_id}/tables/{table_id}/columns
Path parameters
project_idstringRequiredtable_idstringRequired
Request body
application/json
currency_codestringoptionalExactly 3 characters.
descriptionstringoptionalnullableUp to 256 characters.
instructionstringoptionalnullableUp to 512 characters.
namestringRequired- Matches
^[\w\s.-]+$
1 to 64 characters.
optionsarray of stringsoptionalUp to 500 items.
requiredbooleanoptional- Default
false
typestringoptional- Allowed values
arraybooleancurrencydateemailenummulti_selectnumberstringtexturl- Default
string
Returns
200application/json
created_atintegerRequiredAt least 0.
deleted_atintegerRequirednullableAt least 0.
updated_atintegerRequiredAt least 0.
idstringRequired1 to 48 characters.
project_idstringRequired1 to 48 characters.
namestringRequired1 to 128 characters.
slugstringRequired1 to 50 characters.
columns_jsonarray of objectsRequired1 to 100 items.
currency_codestringoptionalExactly 3 characters.
defaultanyoptionaldescriptionstringoptionalnullableUp to 256 characters.
idstringRequired1 to 36 characters.
instructionstringoptionalnullableUp to 512 characters.
namestringRequired- Matches
^[\w\s.-]+$
1 to 64 characters.
optionsarray of stringsoptionalUp to 500 items.
requiredbooleanRequired- Default
false
searchablebooleanoptionaltypestringRequired- Allowed values
arraybooleancurrencydateemailenummulti_selectnumberstringtexturl- Default
string
instructionstringRequirednullableUp to 512 characters.
strictnessstringRequired- Allowed values
strictbalancedflexible
insert_modestringRequired- Allowed values
appenddedupmergereplace
merge_columns_jsonarray of stringsRequirednullableAt least 1 items.
default_sortstringRequirednullablerow_countintegerRequiredAt least 0.
usage_countintegerRequiredAt least 0.
data_versionintegerRequiredAt least 0.
fts_versionintegerRequiredAt least 0.
last_used_atintegerRequirednullableAt least 0.
import { AnyrowSDK } from "@anyrow/sdk"const anyrow = new AnyrowSDK({ baseURL: "https://api.anyrow.ai", headers: { Authorization: `ApiKey ${process.env.ANYROW_API_KEY}` },})const { data, error } = await anyrow.column.add({ params: { project_id: "{project_id}", table_id: "{table_id}" }, json: { currency_code: "string", description: "string", instruction: "string", name: "string", options: [ "string" ], required: false, type: "string" },}){ "created_at": 1711468800000, "deleted_at": 1711468800000, "updated_at": 1711468800000, "id": "tbl_01h5a3g8k9m2n4p6q8r0t2v4x6", "project_id": "string", "name": "string", "slug": "string", "columns_json": [ { "currency_code": "string", "description": "string", "id": "string", "instruction": "string", "name": "string", "options": [ "string" ], "required": false, "searchable": true, "type": "string" } ], "instruction": "string", "strictness": "strict", "insert_mode": "append", "merge_columns_json": [ "string" ], "default_sort": "string", "row_count": 42, "usage_count": 42, "data_version": 42, "fts_version": 42, "last_used_at": 1711468800000}Reorder columns
PUT/v1/projects/{project_id}/tables/{table_id}/columns/order
Path parameters
project_idstringRequiredtable_idstringRequired
Request body
application/json
orderarray of stringsRequiredAt least 1 items.
Returns
200application/json
created_atintegerRequiredAt least 0.
deleted_atintegerRequirednullableAt least 0.
updated_atintegerRequiredAt least 0.
idstringRequired1 to 48 characters.
project_idstringRequired1 to 48 characters.
namestringRequired1 to 128 characters.
slugstringRequired1 to 50 characters.
columns_jsonarray of objectsRequired1 to 100 items.
currency_codestringoptionalExactly 3 characters.
defaultanyoptionaldescriptionstringoptionalnullableUp to 256 characters.
idstringRequired1 to 36 characters.
instructionstringoptionalnullableUp to 512 characters.
namestringRequired- Matches
^[\w\s.-]+$
1 to 64 characters.
optionsarray of stringsoptionalUp to 500 items.
requiredbooleanRequired- Default
false
searchablebooleanoptionaltypestringRequired- Allowed values
arraybooleancurrencydateemailenummulti_selectnumberstringtexturl- Default
string
instructionstringRequirednullableUp to 512 characters.
strictnessstringRequired- Allowed values
strictbalancedflexible
insert_modestringRequired- Allowed values
appenddedupmergereplace
merge_columns_jsonarray of stringsRequirednullableAt least 1 items.
default_sortstringRequirednullablerow_countintegerRequiredAt least 0.
usage_countintegerRequiredAt least 0.
data_versionintegerRequiredAt least 0.
fts_versionintegerRequiredAt least 0.
last_used_atintegerRequirednullableAt least 0.
Errors
- 404
column_not_foundnot_foundtable_not_found - 409
optimistic_lock_conflict
import { AnyrowSDK } from "@anyrow/sdk"const anyrow = new AnyrowSDK({ baseURL: "https://api.anyrow.ai", headers: { Authorization: `ApiKey ${process.env.ANYROW_API_KEY}` },})const { data, error } = await anyrow.column.reorder({ params: { project_id: "{project_id}", table_id: "{table_id}" }, json: { order: [ "string" ] },}){ "created_at": 1711468800000, "deleted_at": 1711468800000, "updated_at": 1711468800000, "id": "tbl_01h5a3g8k9m2n4p6q8r0t2v4x6", "project_id": "string", "name": "string", "slug": "string", "columns_json": [ { "currency_code": "string", "description": "string", "id": "string", "instruction": "string", "name": "string", "options": [ "string" ], "required": false, "searchable": true, "type": "string" } ], "instruction": "string", "strictness": "strict", "insert_mode": "append", "merge_columns_json": [ "string" ], "default_sort": "string", "row_count": 42, "usage_count": 42, "data_version": 42, "fts_version": 42, "last_used_at": 1711468800000}Update column
PATCH/v1/projects/{project_id}/tables/{table_id}/columns/{col_id}
Path parameters
project_idstringRequiredtable_idstringRequiredcol_idstringRequired
Request body
application/json
descriptionstringoptionalnullableUp to 256 characters.
instructionstringoptionalnullableUp to 512 characters.
namestringoptional- Matches
^[\w\s.-]+$
1 to 64 characters.
optionsarray of stringsoptionalUp to 500 items.
requiredbooleanoptional- Default
false
searchablebooleanoptionaltypestringoptional- Allowed values
arraybooleancurrencydateemailenummulti_selectnumberstringtexturl- Default
string
Returns
200application/json
created_atintegerRequiredAt least 0.
deleted_atintegerRequirednullableAt least 0.
updated_atintegerRequiredAt least 0.
idstringRequired1 to 48 characters.
project_idstringRequired1 to 48 characters.
namestringRequired1 to 128 characters.
slugstringRequired1 to 50 characters.
columns_jsonarray of objectsRequired1 to 100 items.
currency_codestringoptionalExactly 3 characters.
defaultanyoptionaldescriptionstringoptionalnullableUp to 256 characters.
idstringRequired1 to 36 characters.
instructionstringoptionalnullableUp to 512 characters.
namestringRequired- Matches
^[\w\s.-]+$
1 to 64 characters.
optionsarray of stringsoptionalUp to 500 items.
requiredbooleanRequired- Default
false
searchablebooleanoptionaltypestringRequired- Allowed values
arraybooleancurrencydateemailenummulti_selectnumberstringtexturl- Default
string
instructionstringRequirednullableUp to 512 characters.
strictnessstringRequired- Allowed values
strictbalancedflexible
insert_modestringRequired- Allowed values
appenddedupmergereplace
merge_columns_jsonarray of stringsRequirednullableAt least 1 items.
default_sortstringRequirednullablerow_countintegerRequiredAt least 0.
usage_countintegerRequiredAt least 0.
data_versionintegerRequiredAt least 0.
fts_versionintegerRequiredAt least 0.
last_used_atintegerRequirednullableAt least 0.
Errors
- 404
column_not_foundnot_foundtable_not_found - 409
optimistic_lock_conflict
import { AnyrowSDK } from "@anyrow/sdk"const anyrow = new AnyrowSDK({ baseURL: "https://api.anyrow.ai", headers: { Authorization: `ApiKey ${process.env.ANYROW_API_KEY}` },})const { data, error } = await anyrow.column.update({ params: { project_id: "{project_id}", table_id: "{table_id}", col_id: "{col_id}" }, json: { description: "string", instruction: "string", name: "string", options: [ "string" ], required: false, searchable: true, type: "string" },}){ "created_at": 1711468800000, "deleted_at": 1711468800000, "updated_at": 1711468800000, "id": "tbl_01h5a3g8k9m2n4p6q8r0t2v4x6", "project_id": "string", "name": "string", "slug": "string", "columns_json": [ { "currency_code": "string", "description": "string", "id": "string", "instruction": "string", "name": "string", "options": [ "string" ], "required": false, "searchable": true, "type": "string" } ], "instruction": "string", "strictness": "strict", "insert_mode": "append", "merge_columns_json": [ "string" ], "default_sort": "string", "row_count": 42, "usage_count": 42, "data_version": 42, "fts_version": 42, "last_used_at": 1711468800000}Remove column
DELETE/v1/projects/{project_id}/tables/{table_id}/columns/{col_id}
Path parameters
project_idstringRequiredtable_idstringRequiredcol_idstringRequired
Returns
200application/json
created_atintegerRequiredAt least 0.
deleted_atintegerRequirednullableAt least 0.
updated_atintegerRequiredAt least 0.
idstringRequired1 to 48 characters.
project_idstringRequired1 to 48 characters.
namestringRequired1 to 128 characters.
slugstringRequired1 to 50 characters.
columns_jsonarray of objectsRequired1 to 100 items.
currency_codestringoptionalExactly 3 characters.
defaultanyoptionaldescriptionstringoptionalnullableUp to 256 characters.
idstringRequired1 to 36 characters.
instructionstringoptionalnullableUp to 512 characters.
namestringRequired- Matches
^[\w\s.-]+$
1 to 64 characters.
optionsarray of stringsoptionalUp to 500 items.
requiredbooleanRequired- Default
false
searchablebooleanoptionaltypestringRequired- Allowed values
arraybooleancurrencydateemailenummulti_selectnumberstringtexturl- Default
string
instructionstringRequirednullableUp to 512 characters.
strictnessstringRequired- Allowed values
strictbalancedflexible
insert_modestringRequired- Allowed values
appenddedupmergereplace
merge_columns_jsonarray of stringsRequirednullableAt least 1 items.
default_sortstringRequirednullablerow_countintegerRequiredAt least 0.
usage_countintegerRequiredAt least 0.
data_versionintegerRequiredAt least 0.
fts_versionintegerRequiredAt least 0.
last_used_atintegerRequirednullableAt least 0.
Errors
- 404
column_not_foundnot_foundtable_not_found - 409
optimistic_lock_conflict
import { AnyrowSDK } from "@anyrow/sdk"const anyrow = new AnyrowSDK({ baseURL: "https://api.anyrow.ai", headers: { Authorization: `ApiKey ${process.env.ANYROW_API_KEY}` },})const { data, error } = await anyrow.column.remove({ params: { project_id: "{project_id}", table_id: "{table_id}", col_id: "{col_id}" },}){ "created_at": 1711468800000, "deleted_at": 1711468800000, "updated_at": 1711468800000, "id": "tbl_01h5a3g8k9m2n4p6q8r0t2v4x6", "project_id": "string", "name": "string", "slug": "string", "columns_json": [ { "currency_code": "string", "description": "string", "id": "string", "instruction": "string", "name": "string", "options": [ "string" ], "required": false, "searchable": true, "type": "string" } ], "instruction": "string", "strictness": "strict", "insert_mode": "append", "merge_columns_json": [ "string" ], "default_sort": "string", "row_count": 42, "usage_count": 42, "data_version": 42, "fts_version": 42, "last_used_at": 1711468800000}Get distinct column values
GET/v1/projects/{project_id}/tables/{table_id}/columns/{col_id}/distinct
Path parameters
project_idstringRequiredtable_idstringRequiredcol_idstringRequired
Query parameters
limitintegeroptional- Default
100
Between 1 and 500.
qstringoptionalUp to 200 characters.
Returns
200application/json
valuesarray of string | numberRequired
import { AnyrowSDK } from "@anyrow/sdk"const anyrow = new AnyrowSDK({ baseURL: "https://api.anyrow.ai", headers: { Authorization: `ApiKey ${process.env.ANYROW_API_KEY}` },})const { data, error } = await anyrow.column.distinct({ params: { project_id: "{project_id}", table_id: "{table_id}", col_id: "{col_id}" },}){ "values": [ "string" ]}