curl --request POST \
--url https://api.veryfront.com/projects/{project_reference}/branches/{branchName}/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"vector": [
123
],
"dimension": 768,
"limit": 10,
"cursor": "<string>",
"threshold": 0.7
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}/branches/{branchName}/search"
payload = {
"vector": [123],
"dimension": 768,
"limit": 10,
"cursor": "<string>",
"threshold": 0.7
}
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({vector: [123], dimension: 768, limit: 10, cursor: '<string>', threshold: 0.7})
};
fetch('https://api.veryfront.com/projects/{project_reference}/branches/{branchName}/search', 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}/branches/{branchName}/search",
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([
'vector' => [
123
],
'dimension' => 768,
'limit' => 10,
'cursor' => '<string>',
'threshold' => 0.7
]),
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}/branches/{branchName}/search"
payload := strings.NewReader("{\n \"vector\": [\n 123\n ],\n \"dimension\": 768,\n \"limit\": 10,\n \"cursor\": \"<string>\",\n \"threshold\": 0.7\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}/branches/{branchName}/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"vector\": [\n 123\n ],\n \"dimension\": 768,\n \"limit\": 10,\n \"cursor\": \"<string>\",\n \"threshold\": 0.7\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/branches/{branchName}/search")
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 \"vector\": [\n 123\n ],\n \"dimension\": 768,\n \"limit\": 10,\n \"cursor\": \"<string>\",\n \"threshold\": 0.7\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"chunk": {
"id": "<string>",
"file_path": "<string>",
"file_version_id": "<string>",
"index": 123,
"content": "<string>",
"start_offset": 123,
"end_offset": 123,
"token_count": 123,
"file_id": "<string>",
"metadata": {}
},
"score": 123,
"match_type": "semantic"
}
],
"page_info": {
"self": "<string>",
"first": null,
"next": "<string>",
"prev": "<string>"
},
"search_time_ms": 123,
"total_matches": 123
}Search branch content using a pre-computed embedding vector. Generate embeddings client-side using OpenAI, Anthropic, or another embedding provider.
curl --request POST \
--url https://api.veryfront.com/projects/{project_reference}/branches/{branchName}/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"vector": [
123
],
"dimension": 768,
"limit": 10,
"cursor": "<string>",
"threshold": 0.7
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}/branches/{branchName}/search"
payload = {
"vector": [123],
"dimension": 768,
"limit": 10,
"cursor": "<string>",
"threshold": 0.7
}
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({vector: [123], dimension: 768, limit: 10, cursor: '<string>', threshold: 0.7})
};
fetch('https://api.veryfront.com/projects/{project_reference}/branches/{branchName}/search', 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}/branches/{branchName}/search",
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([
'vector' => [
123
],
'dimension' => 768,
'limit' => 10,
'cursor' => '<string>',
'threshold' => 0.7
]),
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}/branches/{branchName}/search"
payload := strings.NewReader("{\n \"vector\": [\n 123\n ],\n \"dimension\": 768,\n \"limit\": 10,\n \"cursor\": \"<string>\",\n \"threshold\": 0.7\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}/branches/{branchName}/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"vector\": [\n 123\n ],\n \"dimension\": 768,\n \"limit\": 10,\n \"cursor\": \"<string>\",\n \"threshold\": 0.7\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/branches/{branchName}/search")
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 \"vector\": [\n 123\n ],\n \"dimension\": 768,\n \"limit\": 10,\n \"cursor\": \"<string>\",\n \"threshold\": 0.7\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"chunk": {
"id": "<string>",
"file_path": "<string>",
"file_version_id": "<string>",
"index": 123,
"content": "<string>",
"start_offset": 123,
"end_offset": 123,
"token_count": 123,
"file_id": "<string>",
"metadata": {}
},
"score": 123,
"match_type": "semantic"
}
],
"page_info": {
"self": "<string>",
"first": null,
"next": "<string>",
"prev": "<string>"
},
"search_time_ms": 123,
"total_matches": 123
}Authorizations
Use a JWT bearer token or a Veryfront API key in the Authorization header.
Path Parameters
Project ID, slug, or domain from the authenticated context.
Branch name or ID. Use main to search the default project state.
Body
Pre-computed query embedding vector.
768 - 4096 elementsEmbedding vector dimension: 768, 1024, 1536, 3072, or 4096.
768 Maximum search results to return, from 1 to 100.
1 <= x <= 100Opaque cursor returned from page_info.next.
Minimum similarity score for returned semantic matches.
0 <= x <= 1Response
Search results.
Vector search matches ordered by relevance.
Show child attributes
Show child attributes
Pagination cursor values for traversing the result set.
Show child attributes
Show child attributes
Server-side search duration in milliseconds.
Total number of matches reported by the search backend.