Skip to content

List columns of a knowledge table ​

Returns the schema of a knowledge table — its columns, data types, and per-column flags (searchable, filterable, retrievable, unique). Call this before upserting points so you know which fields the table expects.

GET/api/user/knowledge-tables/{knowledgeTable}/columns
Required scope: knowledge:read
Path parameters
integer
curl -X GET "https://loopx-console.test/api/user/knowledge-tables/1/columns" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"
<?php

use GuzzleHttp\Client;

$client = new Client();
$response = $client->request('GET', 'https://loopx-console.test/api/user/knowledge-tables/1/columns', [
    'headers' => [
        'Authorization' => 'Bearer $TOKEN',
        'Accept'        => 'application/json',
    ]
]);

$data = json_decode($response->getBody(), true);
const res = await fetch('https://loopx-console.test/api/user/knowledge-tables/1/columns', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer $TOKEN',
    Accept: 'application/json'
  }
});

const data = await res.json();

Example response

{
  "status": true,
  "code": 200,
  "validation": [],
  "message": "Success",
  "data": [
    {
      "id": 1,
      "name": "question",
      "is_unique": false,
      "is_filterable": false,
      "is_searchable": true,
      "is_retrievable": true,
      "order": 1,
      "data_type": "string",
      "knowledge_table_id": 1,
      "created_at": "2026-06-29T10:21:02.000000Z",
      "updated_at": "2026-06-29T10:21:02.000000Z"
    },
    {
      "id": 2,
      "name": "answer",
      "is_unique": false,
      "is_filterable": false,
      "is_searchable": true,
      "is_retrievable": true,
      "order": 2,
      "data_type": "string",
      "knowledge_table_id": 1,
      "created_at": "2026-06-29T10:21:02.000000Z",
      "updated_at": "2026-06-29T10:21:02.000000Z"
    }
  ]
}

Path parameters ​

NameTypeRequiredDescription
knowledgeTableintegeryesKnowledge table id from List knowledge tables

Response fields ​

FieldTypeDescription
idintegerColumn id
namestringColumn name — this is the key you'll send in the upsert body
data_typestringstring, number, boolean, date, etc.
orderinteger1-based display order
is_searchablebooleanColumn participates in the vector search (embedded and matched against queries)
is_retrievablebooleanColumn is returned in search results
is_filterablebooleanColumn can be used as a filter in search
is_uniquebooleanValue must be unique across points in this table