Ingest a connector folder
curl --request POST \
--url https://api.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"credentials": {},
"project_id": "<string>",
"domain": "technical",
"page_size": 100
}
'import requests
url = "https://api.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder"
payload = {
"credentials": {},
"project_id": "<string>",
"domain": "technical",
"page_size": 100
}
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({credentials: {}, project_id: '<string>', domain: 'technical', page_size: 100})
};
fetch('https://api.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder', 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.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder",
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([
'credentials' => [
],
'project_id' => '<string>',
'domain' => 'technical',
'page_size' => 100
]),
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.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder"
payload := strings.NewReader("{\n \"credentials\": {},\n \"project_id\": \"<string>\",\n \"domain\": \"technical\",\n \"page_size\": 100\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.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"credentials\": {},\n \"project_id\": \"<string>\",\n \"domain\": \"technical\",\n \"page_size\": 100\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder")
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 \"credentials\": {},\n \"project_id\": \"<string>\",\n \"domain\": \"technical\",\n \"page_size\": 100\n}"
response = http.request(request)
puts response.read_body{
"connector_type": "<string>",
"files_failed": 123,
"files_ingested": 123,
"project_id": "<string>",
"results": [
{
"chunk_count": 123,
"external_id": "<string>",
"status": "<string>",
"title": "<string>"
}
],
"total_chunks": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Connectors
Ingest a connector folder
Import every supported file from a connector folder into a workspace project as DOCUMENT_VERIFIED memory records, recording one source per file. The batch is resilient: a file that cannot be fetched, read, or stored is marked failed and the run continues. The response summarises files ingested, files failed, and total chunks stored. Each file counts against your daily ingest quota.
POST
/
api
/
v1
/
connectors
/
{connector_type}
/
ingest_folder
Ingest a connector folder
curl --request POST \
--url https://api.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"credentials": {},
"project_id": "<string>",
"domain": "technical",
"page_size": 100
}
'import requests
url = "https://api.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder"
payload = {
"credentials": {},
"project_id": "<string>",
"domain": "technical",
"page_size": 100
}
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({credentials: {}, project_id: '<string>', domain: 'technical', page_size: 100})
};
fetch('https://api.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder', 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.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder",
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([
'credentials' => [
],
'project_id' => '<string>',
'domain' => 'technical',
'page_size' => 100
]),
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.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder"
payload := strings.NewReader("{\n \"credentials\": {},\n \"project_id\": \"<string>\",\n \"domain\": \"technical\",\n \"page_size\": 100\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.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"credentials\": {},\n \"project_id\": \"<string>\",\n \"domain\": \"technical\",\n \"page_size\": 100\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tensorpro.ai/api/v1/connectors/{connector_type}/ingest_folder")
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 \"credentials\": {},\n \"project_id\": \"<string>\",\n \"domain\": \"technical\",\n \"page_size\": 100\n}"
response = http.request(request)
puts response.read_body{
"connector_type": "<string>",
"files_failed": 123,
"files_ingested": 123,
"project_id": "<string>",
"results": [
{
"chunk_count": 123,
"external_id": "<string>",
"status": "<string>",
"title": "<string>"
}
],
"total_chunks": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Authorizations
EDN API key presented as a bearer token in the Authorization header ('Authorization: Bearer '). Create and manage keys from the Console.
Path Parameters
Body
application/json
