Search facts and documents together
curl --request POST \
--url https://api.akumi.eu/v1/recall/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"collection": [
"<string>"
],
"user_ref": "<string>",
"limit": 25
}
'import requests
url = "https://api.akumi.eu/v1/recall/search"
payload = {
"query": "<string>",
"collection": ["<string>"],
"user_ref": "<string>",
"limit": 25
}
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>', collection: ['<string>'], user_ref: '<string>', limit: 25})
};
fetch('https://api.akumi.eu/v1/recall/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.akumi.eu/v1/recall/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>',
'collection' => [
'<string>'
],
'user_ref' => '<string>',
'limit' => 25
]),
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.akumi.eu/v1/recall/search"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"collection\": [\n \"<string>\"\n ],\n \"user_ref\": \"<string>\",\n \"limit\": 25\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.akumi.eu/v1/recall/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"collection\": [\n \"<string>\"\n ],\n \"user_ref\": \"<string>\",\n \"limit\": 25\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.akumi.eu/v1/recall/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 \"collection\": [\n \"<string>\"\n ],\n \"user_ref\": \"<string>\",\n \"limit\": 25\n}"
response = http.request(request)
puts response.read_body{
"data": [
"<unknown>"
]
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}Recall
Search facts and documents together
Searches the end-user’s own facts, the workspace, and every collection in it, and returns facts and passages in one ranked list with the source of each. This replaces the separate fact and document search endpoints. Metered as one retrieval.
POST
/
recall
/
search
Search facts and documents together
curl --request POST \
--url https://api.akumi.eu/v1/recall/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"collection": [
"<string>"
],
"user_ref": "<string>",
"limit": 25
}
'import requests
url = "https://api.akumi.eu/v1/recall/search"
payload = {
"query": "<string>",
"collection": ["<string>"],
"user_ref": "<string>",
"limit": 25
}
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>', collection: ['<string>'], user_ref: '<string>', limit: 25})
};
fetch('https://api.akumi.eu/v1/recall/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.akumi.eu/v1/recall/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>',
'collection' => [
'<string>'
],
'user_ref' => '<string>',
'limit' => 25
]),
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.akumi.eu/v1/recall/search"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"collection\": [\n \"<string>\"\n ],\n \"user_ref\": \"<string>\",\n \"limit\": 25\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.akumi.eu/v1/recall/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"collection\": [\n \"<string>\"\n ],\n \"user_ref\": \"<string>\",\n \"limit\": 25\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.akumi.eu/v1/recall/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 \"collection\": [\n \"<string>\"\n ],\n \"user_ref\": \"<string>\",\n \"limit\": 25\n}"
response = http.request(request)
puts response.read_body{
"data": [
"<unknown>"
]
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Validates a POST /v1/recall/search body: the unified retrieval endpoint over
the caller's personal scope, the workspace, and every collection in it, or
over exactly the collections named in collection.
Maximum string length:
2000Omit it to blend every collection in the workspace; pass a collection slug, or a list of slugs, to read only those plus the caller's own personal memory. A slug the workspace does not have is rejected, never ignored.
Maximum string length:
255Maximum string length:
255Required range:
1 <= x <= 50