Get a Knowledge Base by id
curl --request GET \
--url https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"data": {
"ID": "<string>",
"name": "<string>",
"url": "<string>",
"content": "<string>",
"contentURL": "<string>",
"agentId": "<string>",
"userId": "<string>",
"workspaceId": "<string>",
"agencyId": "<string>",
"tags": [
"<string>"
],
"sourceType": "doc",
"status": "ERROR",
"refreshRate": "3d",
"withRefresh": true,
"nextRefreshAt": 123,
"useProxy": true,
"aiPostProcess": true,
"dimensions": 123,
"charCount": 123,
"chunksIds_JSON_STRING": "<string>",
"ts": 123,
"createdAt": 123,
"updatedAt": 123,
"metadata": {
"description": "<string>"
},
"refreshMetadata": {
"lastRefreshTS": 123
}
}
}{
"message": "<string>",
"code": "<string>",
"issues": [
{
"message": "<string>"
}
]
}Knowledge Base
Get Single KB Doc
Returns the specified document from the agent’s VF/Convocore Knowledge Base, this route must use the new V3 endpoints.
GET
/
agents
/
{agentId}
/
kb
/
{docId}
Get a Knowledge Base by id
curl --request GET \
--url https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://eu-gcp-api.vg-stuff.com/v3/agents/{agentId}/kb/{docId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"data": {
"ID": "<string>",
"name": "<string>",
"url": "<string>",
"content": "<string>",
"contentURL": "<string>",
"agentId": "<string>",
"userId": "<string>",
"workspaceId": "<string>",
"agencyId": "<string>",
"tags": [
"<string>"
],
"sourceType": "doc",
"status": "ERROR",
"refreshRate": "3d",
"withRefresh": true,
"nextRefreshAt": 123,
"useProxy": true,
"aiPostProcess": true,
"dimensions": 123,
"charCount": 123,
"chunksIds_JSON_STRING": "<string>",
"ts": 123,
"createdAt": 123,
"updatedAt": 123,
"metadata": {
"description": "<string>"
},
"refreshMetadata": {
"lastRefreshTS": 123
}
}
}{
"message": "<string>",
"code": "<string>",
"issues": [
{
"message": "<string>"
}
]
}This is the endpoint that returns the hydrated document body. Use it (or list with
includeContent=true) when you need the actual KB text — the list route alone does not.Hydrated text is in
data.vgKbDoc.content and the nested data.data.status.data.content field. The chunks array shows how that content was split for vector embeddings.Use this endpoint to verify document processing status and inspect how content was chunked for the knowledge base.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
