curl --request POST \
--url https://data.wazoo.dev/worlds/{id}/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"limit": 20,
"minScore": 0.5,
"filter": {
"include": {
"subjects": [
"<string>"
],
"predicates": [
"<string>"
],
"graphs": [
"<string>"
]
},
"exclude": {
"subjects": [
"<string>"
],
"predicates": [
"<string>"
],
"graphs": [
"<string>"
]
}
}
}
'import requests
url = "https://data.wazoo.dev/worlds/{id}/search"
payload = {
"query": "<string>",
"limit": 20,
"minScore": 0.5,
"filter": {
"include": {
"subjects": ["<string>"],
"predicates": ["<string>"],
"graphs": ["<string>"]
},
"exclude": {
"subjects": ["<string>"],
"predicates": ["<string>"],
"graphs": ["<string>"]
}
}
}
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>',
limit: 20,
minScore: 0.5,
filter: {
include: {subjects: ['<string>'], predicates: ['<string>'], graphs: ['<string>']},
exclude: {subjects: ['<string>'], predicates: ['<string>'], graphs: ['<string>']}
}
})
};
fetch('https://data.wazoo.dev/worlds/{id}/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://data.wazoo.dev/worlds/{id}/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([
'query' => '<string>',
'limit' => 20,
'minScore' => 0.5,
'filter' => [
'include' => [
'subjects' => [
'<string>'
],
'predicates' => [
'<string>'
],
'graphs' => [
'<string>'
]
],
'exclude' => [
'subjects' => [
'<string>'
],
'predicates' => [
'<string>'
],
'graphs' => [
'<string>'
]
]
]
]),
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://data.wazoo.dev/worlds/{id}/search"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"limit\": 20,\n \"minScore\": 0.5,\n \"filter\": {\n \"include\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n },\n \"exclude\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n }\n }\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://data.wazoo.dev/worlds/{id}/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"limit\": 20,\n \"minScore\": 0.5,\n \"filter\": {\n \"include\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n },\n \"exclude\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.wazoo.dev/worlds/{id}/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 \"query\": \"<string>\",\n \"limit\": 20,\n \"minScore\": 0.5,\n \"filter\": {\n \"include\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n },\n \"exclude\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"id": "<string>",
"subject": "<string>",
"predicate": "<string>",
"content": "<string>",
"score": 123,
"scoreType": "rrf",
"graph": "<string>"
}
],
"mode": "semantic"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Search world
Full-text and vector similarity search across a world’s graph data. Returns ranked results with id, subject, predicate, content, score, and scoreType on the normalized 0–1 scale, plus the mode that actually ran. Falls back to LIKE-based search if the primary engine is unavailable.
curl --request POST \
--url https://data.wazoo.dev/worlds/{id}/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"limit": 20,
"minScore": 0.5,
"filter": {
"include": {
"subjects": [
"<string>"
],
"predicates": [
"<string>"
],
"graphs": [
"<string>"
]
},
"exclude": {
"subjects": [
"<string>"
],
"predicates": [
"<string>"
],
"graphs": [
"<string>"
]
}
}
}
'import requests
url = "https://data.wazoo.dev/worlds/{id}/search"
payload = {
"query": "<string>",
"limit": 20,
"minScore": 0.5,
"filter": {
"include": {
"subjects": ["<string>"],
"predicates": ["<string>"],
"graphs": ["<string>"]
},
"exclude": {
"subjects": ["<string>"],
"predicates": ["<string>"],
"graphs": ["<string>"]
}
}
}
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>',
limit: 20,
minScore: 0.5,
filter: {
include: {subjects: ['<string>'], predicates: ['<string>'], graphs: ['<string>']},
exclude: {subjects: ['<string>'], predicates: ['<string>'], graphs: ['<string>']}
}
})
};
fetch('https://data.wazoo.dev/worlds/{id}/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://data.wazoo.dev/worlds/{id}/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([
'query' => '<string>',
'limit' => 20,
'minScore' => 0.5,
'filter' => [
'include' => [
'subjects' => [
'<string>'
],
'predicates' => [
'<string>'
],
'graphs' => [
'<string>'
]
],
'exclude' => [
'subjects' => [
'<string>'
],
'predicates' => [
'<string>'
],
'graphs' => [
'<string>'
]
]
]
]),
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://data.wazoo.dev/worlds/{id}/search"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"limit\": 20,\n \"minScore\": 0.5,\n \"filter\": {\n \"include\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n },\n \"exclude\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n }\n }\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://data.wazoo.dev/worlds/{id}/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"limit\": 20,\n \"minScore\": 0.5,\n \"filter\": {\n \"include\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n },\n \"exclude\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.wazoo.dev/worlds/{id}/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 \"query\": \"<string>\",\n \"limit\": 20,\n \"minScore\": 0.5,\n \"filter\": {\n \"include\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n },\n \"exclude\": {\n \"subjects\": [\n \"<string>\"\n ],\n \"predicates\": [\n \"<string>\"\n ],\n \"graphs\": [\n \"<string>\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"id": "<string>",
"subject": "<string>",
"predicate": "<string>",
"content": "<string>",
"score": 123,
"scoreType": "rrf",
"graph": "<string>"
}
],
"mode": "semantic"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Worlds API data-plane token.
Path Parameters
The canonical world_uid, e.g. w_.
Body
Natural language or keyword search query to find matching content in the world.
1Maximum number of results to return (1–100). Defaults to 20. The response is capped at this value after ranking; the engine's internal candidate pool is at least this large.
1 <= x <= 100Override the world's minimum relevance score on the normalized 0–1 scale (1.0 = best). Results below this threshold are omitted after ranking.
0 <= x <= 1Include/exclude quad filters applied before ranking (SDK QuadFilter semantics).
Hide child attributes
Hide child attributes
Include allowlist: only quads matching these exact subject/predicate/graph values are candidates.
Hide child attributes
Hide child attributes
Only match quads whose subject is in this list. Applied before ranking.
Only match quads whose predicate is in this list. Applied before ranking.
Only match quads whose graph is in this list. Applied before ranking.
Exclude denylist: quads matching these exact subject/predicate/graph values are not candidates.
Hide child attributes
Hide child attributes
Exclude quads whose subject is in this list. Applied before ranking.
Exclude quads whose predicate is in this list. Applied before ranking.
Exclude quads whose graph is in this list. Applied before ranking.
Response
Search results
Ranked search results, best first.
Hide child attributes
Hide child attributes
Stable deterministic identifier for the matched quad and text (shared across backends), used for ranked-list evaluation and deduplication.
RDF subject URI identifying the matched resource, e.g. https://example.org/entity/42.
RDF predicate URI describing the relationship, e.g. http://schema.org/name.
Text content of the matched quad, used for display and snippet generation. The single text field replacing the legacy object field.
Relevance score from the search engine on the normalized 0–1 scale (1.0 = best). Null for fallback LIKE search results.
Scoring family the score expresses: rrf (reciprocal rank fusion, normalized), cosine (vector similarity), or unranked (fallback results carry no ordering meaning).
rrf, cosine, unranked Named graph URI the quad belongs to. Absent when the world uses a default graph.
Search mode that actually ran: keyword (full-text), semantic (vector), hybrid (both), or fallback (LIKE) when the primary engine is unavailable.
semantic, keyword, hybrid, fallback