Appearance
Upsert points
Create or update rows in bulk. Rows are matched by default_id — an existing row with the same default_id is updated in place; otherwise a new row is created.
PUT/api/user/knowledge-tables/{knowledgeTable}/points
Required scope:
knowledge:writePath parameters
integer
Request body (JSON)
curl -X PUT "https://loopx-console.test/api/user/knowledge-tables/12/points" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"points":[{"default_id":"q-001","question":"How do I reset my password?","answer":"Go to Settings → Security → Reset password. Check your email for the reset link.","category":"account"},{"default_id":"q-003","question":"What payment methods do you accept?","answer":"Visa, MasterCard, AMEX, and bank transfer (Enterprise only).","category":"billing"}]}'Example response
{
"status": true,
"code": 200,
"message": "Points upserted successfully.",
"data": {
"upserted": 2
}
}Request body
| Field | Type | Required | Description |
|---|---|---|---|
points | array | yes | At least one point |
points[].default_id | string | integer | yes | Stable id you assign — used to match existing rows |
points[].{column} | any | no | One entry per column defined on the table |
Call List columns first to discover the columns supported by this table.
Errors
| Code | When |
|---|---|
403 | Token missing knowledge:write scope |
404 | Knowledge table not found in your workspace |
422 | points is empty, or a point is missing default_id |