Returns all organization-owned knowledge-base categories resolved for the requested locale, including lifecycle metadata and stored translations. The operation does not include public article bodies and is safe to retry. Access requires an active authenticated operator session or an organization API key with the `knowledge-base:read` scope. API-key calls also require the automation API module. Data is isolated to the authenticated organization; identifiers from another organization or site are not disclosed.
/api/kb/categoriesOrganization API key supplied as Authorization: Bearer convor_sk_....
In: header
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{
"data": [
{
"id": "6ecda99e-e055-46bd-b0fb-d33ed475b00b",
"orgId": "8ea0b557-d794-41ce-b86e-44f4780da2b5",
"key": "billing",
"icon": "💳",
"sortOrder": 10,
"name": "Billing",
"description": "Invoices, payments, and refunds.",
"locale": "en",
"fallbackUsed": false,
"articleCount": 1,
"translations": [
{
"id": "46b8b74c-213b-4ef9-a394-efda679f18f4",
"locale": "en",
"status": "published",
"name": "Billing",
"description": "Invoices, payments, and refunds.",
"sourceLocale": null,
"machineTranslatedAt": null,
"reviewedAt": null,
"reviewedBy": null,
"createdAt": "2026-08-03T18:00:00.000Z",
"updatedAt": "2026-08-03T18:00:00.000Z"
}
],
"createdAt": "2026-08-03T18:00:00.000Z",
"updatedAt": "2026-08-03T18:00:00.000Z"
}
]
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required.",
"correlationId": "req_01K0MANAGEMENT401"
}
}{
"error": {
"code": "INTEGRATION_MODULE_REQUIRED",
"message": "The automation API module is required.",
"details": {
"module": "automation_api",
"feature": "public_api"
},
"correlationId": "req_01K0MANAGEMENT402"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "The caller lacks the required role or API-key scope.",
"correlationId": "req_01K0MANAGEMENT403"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "The request payload is invalid.",
"details": {
"field": "name"
},
"correlationId": "req_01K0MANAGEMENT422"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests.",
"correlationId": "req_01K0MANAGEMENT429"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}curl --request GET \
'https://api.convor.io/api/kb/categories' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer convor_sk_...'const response = await fetch("https://api.convor.io/api/kb/categories", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer convor_sk_..."
},
});
const contentType = response.headers.get("content-type") ?? "";
const data = response.status === 204
? null
: contentType.includes("json")
? await response.json()
: contentType.startsWith("text/")
? await response.text()
: await response.blob();
if (!response.ok) {
const message = typeof data === "object" && data !== null
&& "error" in data && typeof data.error === "object"
&& data.error !== null && "message" in data.error
? String(data.error.message)
: "Convor API request failed (" + response.status + ")";
throw new Error(message);
}
console.log(data);Was this page helpful?
List localized knowledge-base articles
Returns a paginated organization-owned article list resolved for the requested locale. Filter by publication status and category, then paginate with `offset` and `limit`; results include localization lifecycle metadata and are ordered by the configured service query. This read-only operation is safe to retry. Access requires an active authenticated operator session or an organization API key with the `knowledge-base:read` scope. API-key calls also require the automation API module. Data is isolated to the authenticated organization; identifiers from another organization or site are not disclosed.
Soft-delete a multilingual article
Soft-deletes one organization-owned article so it is removed from public search, suggestions, and help-center listings while retaining its localized content for internal recovery and audit history. Access requires an active organization administrator session or an organization API key with the `knowledge-base:write` scope. API-key calls also require the automation API module. Data is isolated to the authenticated organization; identifiers from another organization or site are not disclosed.