curl --request POST \
--url https://api.veryfront.com/projects/{project_reference}/knowledge/lookup \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"cursor": "<string>",
"lookup_target": {
"kind": "preview_branch",
"branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"limit": 6,
"shard_count": 4,
"shard_index": 1
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}/knowledge/lookup"
payload = {
"query": "<string>",
"cursor": "<string>",
"lookup_target": {
"kind": "preview_branch",
"branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"limit": 6,
"shard_count": 4,
"shard_index": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
cursor: '<string>',
lookup_target: {kind: 'preview_branch', branch_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'},
limit: 6,
shard_count: 4,
shard_index: 1
})
};
fetch('https://api.veryfront.com/projects/{project_reference}/knowledge/lookup', 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://api.veryfront.com/projects/{project_reference}/knowledge/lookup",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => '<string>',
'cursor' => '<string>',
'lookup_target' => [
'kind' => 'preview_branch',
'branch_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'limit' => 6,
'shard_count' => 4,
'shard_index' => 1
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.veryfront.com/projects/{project_reference}/knowledge/lookup"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"cursor\": \"<string>\",\n \"lookup_target\": {\n \"kind\": \"preview_branch\",\n \"branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"limit\": 6,\n \"shard_count\": 4,\n \"shard_index\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.veryfront.com/projects/{project_reference}/knowledge/lookup")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"cursor\": \"<string>\",\n \"lookup_target\": {\n \"kind\": \"preview_branch\",\n \"branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"limit\": 6,\n \"shard_count\": 4,\n \"shard_index\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/knowledge/lookup")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"cursor\": \"<string>\",\n \"lookup_target\": {\n \"kind\": \"preview_branch\",\n \"branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"limit\": 6,\n \"shard_count\": 4,\n \"shard_index\": 1\n}"
response = http.request(request)
puts response.read_body{
"query": "<string>",
"mode": "search",
"data": [
{
"path": "<string>",
"matched_fields": [
"<string>"
],
"frontmatter": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"page_info": {
"self": "<string>",
"first": null,
"next": "<string>",
"prev": "<string>"
},
"returned": 1,
"total_matches": 1,
"shard": {
"shard_index": 1,
"shard_count": 2,
"total_items": 1
}
}Look up project knowledge
Search knowledge file paths and frontmatter. Falls back to a browse page when nothing matches. Supports cursor pagination, optional sharding, and explicit branch, environment, or release selection.
curl --request POST \
--url https://api.veryfront.com/projects/{project_reference}/knowledge/lookup \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"cursor": "<string>",
"lookup_target": {
"kind": "preview_branch",
"branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"limit": 6,
"shard_count": 4,
"shard_index": 1
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}/knowledge/lookup"
payload = {
"query": "<string>",
"cursor": "<string>",
"lookup_target": {
"kind": "preview_branch",
"branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"limit": 6,
"shard_count": 4,
"shard_index": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
cursor: '<string>',
lookup_target: {kind: 'preview_branch', branch_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'},
limit: 6,
shard_count: 4,
shard_index: 1
})
};
fetch('https://api.veryfront.com/projects/{project_reference}/knowledge/lookup', 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://api.veryfront.com/projects/{project_reference}/knowledge/lookup",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => '<string>',
'cursor' => '<string>',
'lookup_target' => [
'kind' => 'preview_branch',
'branch_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'limit' => 6,
'shard_count' => 4,
'shard_index' => 1
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.veryfront.com/projects/{project_reference}/knowledge/lookup"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"cursor\": \"<string>\",\n \"lookup_target\": {\n \"kind\": \"preview_branch\",\n \"branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"limit\": 6,\n \"shard_count\": 4,\n \"shard_index\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.veryfront.com/projects/{project_reference}/knowledge/lookup")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"cursor\": \"<string>\",\n \"lookup_target\": {\n \"kind\": \"preview_branch\",\n \"branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"limit\": 6,\n \"shard_count\": 4,\n \"shard_index\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/knowledge/lookup")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"cursor\": \"<string>\",\n \"lookup_target\": {\n \"kind\": \"preview_branch\",\n \"branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"limit\": 6,\n \"shard_count\": 4,\n \"shard_index\": 1\n}"
response = http.request(request)
puts response.read_body{
"query": "<string>",
"mode": "search",
"data": [
{
"path": "<string>",
"matched_fields": [
"<string>"
],
"frontmatter": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"page_info": {
"self": "<string>",
"first": null,
"next": "<string>",
"prev": "<string>"
},
"returned": 1,
"total_matches": 1,
"shard": {
"shard_index": 1,
"shard_count": 2,
"total_items": 1
}
}Authorizations
Use a JWT bearer token or a Veryfront API key in the Authorization header.
Path Parameters
Project ID or slug.
Body
Text to match against knowledge file paths and frontmatter. On the first request, provide query without cursor.
1 - 500Opaque pagination token. Omit on the first request. To continue REST or MCP pagination, pass page_info.next from the previous response as cursor.
1 - 13334Optional. Omit to search the main preview branch (the default). Set this to target another preview branch, a deployed environment, or a published release; unresolved targets are returned as not found.
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
1 <= x <= 121 <= x <= 8x >= 0Response
Knowledge lookup results.
Resolved query used for scoring.
search when results scored positively; browse when no positive matches exist.
search, browse Knowledge Markdown paths with frontmatter previews.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
x >= 0x >= 0Show child attributes
Show child attributes