Skip to main content
GET
/
knowledge-bases
/
{knowledge_base_id}
/
sources
/
{source_id}
Retrieves a Knowledge Base Source.
curl --request GET \
  --url https://api.totoy.ai/v1/knowledge-bases/{knowledge_base_id}/sources/{source_id} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.totoy.ai/v1/knowledge-bases/{knowledge_base_id}/sources/{source_id}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.totoy.ai/v1/knowledge-bases/{knowledge_base_id}/sources/{source_id}', 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.totoy.ai/v1/knowledge-bases/{knowledge_base_id}/sources/{source_id}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.totoy.ai/v1/knowledge-bases/{knowledge_base_id}/sources/{source_id}"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.totoy.ai/v1/knowledge-bases/{knowledge_base_id}/sources/{source_id}")
  .header("Authorization", "Bearer <token>")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.totoy.ai/v1/knowledge-bases/{knowledge_base_id}/sources/{source_id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "source_id": "src_oXiYDg8QOc9JsOk86idRXiywD",
  "source_type": "document",
  "bytes": 1234567,
  "created_at": "2024-03-01T00:00:00Z",
  "updated_at": "2024-03-01T00:00:00Z",
  "title": "Totoy Company Overview",
  "document_file_name": "totoy-company-overview.pdf",
  "backlink": "https://www.totoy.ai/totoy-company-overview.pdf",
  "valid_from": "2024-01-01T00:00:00Z",
  "valid_until": "2026-12-31T23:59:59Z",
  "project_id": "pj_avX7imfLaPcQnv5ckvGlOEBA9",
  "custom_metadata": {
    "internal_tag": "general_documents"
  },
  "knowledge_base_id": "kb_feMfJbeqbAEj4u8K5HqmKpUbY",
  "status": "completed"
}
{
  "type": "https://docs.totoy.ai/probs/out-of-credit",
  "title": "You do not have enough credit.",
  "status": 403,
  "detail": "You do not have enough credit to perform this operation.",
  "instance": "/projects/pj_avX7imfLaPcQnv5ckvGlOEBA9"
}
{
  "type": "https://docs.totoy.ai/probs/out-of-credit",
  "title": "You do not have enough credit.",
  "status": 403,
  "detail": "You do not have enough credit to perform this operation.",
  "instance": "/projects/pj_avX7imfLaPcQnv5ckvGlOEBA9"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

knowledge_base_id
string
required

Unique identifier for a Knowledge Base.

Maximum string length: 28
Pattern: ^kb_[a-zA-Z0-9]{25}$
source_id
string
required

Unique identifier for a Source that was uploaded to Totoy.

Maximum string length: 29
Pattern: ^src_[a-zA-Z0-9]{25}$

Response

OK

The Knowledge Base Source represents a link to a Source (.pdf, .jpg, .png or plain-text) that has been added to a Knowledge Base, so it can be retrieved as context for a Knowledge Base Chat.

source_id
string
required

Unique identifier for the Source.

Maximum string length: 29
Pattern: ^src_[a-zA-Z0-9]{25}$
Example:

"src_oXiYDg8QOc9JsOk86idRXiywD"

source_type
enum<string>
required

Type for this source (document or text).

Available options:
document,
text
Example:

"document"

bytes
integer<int32>
required

Size of the document file or text, in bytes.

Example:

1234567

created_at
string<date-time>
required

Date-time for when the Source was created, in ISO 8601 format.

Example:

"2024-03-01T00:00:00Z"

updated_at
string<date-time>
required

Date-time for when the Source was last modified, in ISO 8601 format.

Example:

"2024-03-01T00:00:00Z"

project_id
string
required

The unique identifier of the project this Source is assigned to. Sources can only be used by resources with the same project_id.

Maximum string length: 28
Pattern: ^pj_[a-zA-Z0-9]{25}$
Example:

"pj_avX7imfLaPcQnv5ckvGlOEBA9"

knowledge_base_id
string
required

The unique identifier of the Knowledge Base that the Knowledge Base Source is associated with.

Maximum string length: 28
Pattern: ^kb_[a-zA-Z0-9]{25}$
Example:

"kb_feMfJbeqbAEj4u8K5HqmKpUbY"

title
string

Title of the document or text.

Maximum string length: 512
Example:

"Totoy Company Overview"

document_file_name
string | null

The file name of a Source document.

Maximum string length: 255
Example:

"totoy-company-overview.pdf"

An external url to the Source that can be used by clients to link back to the original document or text (i.e. a web page containing that text).

Maximum string length: 512
Example:

"https://www.totoy.ai/totoy-company-overview.pdf"

valid_from
string<date-time> | null

From what time the Source can be used by a Knowledge Base or an Explanation. If no valid_from is set, the Source is valid from the time it is added to Sources.

Example:

"2024-01-01T00:00:00Z"

valid_until
string<date-time> | null

Until when the Source can be used by a Knowledge Base or an Explanation. If no valid_until is set, the Source is valid until it is removed from Sources.

Example:

"2026-12-31T23:59:59Z"

custom_metadata
CustomMetadata · object

Custom optional metadata for a Source provided by a client. Up to 10 key-value pairs.

Example:
{ "internal_tag": "general_documents" }
knowledge_base_ids
string[] | null

List of Knowledge Base identifiers where this Source is used.

Maximum array length: 1500
Maximum string length: 29
Pattern: ^kb_[a-zA-Z0-9]{25}$
Example:
[
  "kb_feMfJbeqbAEj4u8K5HqmKpUbY",
  "kb_7eMfJbeqbAEj4u8K5HqmKpUbY"
]
status
enum<string>

The indexing status of the Knowledge Base Source. The status completed indicates that the source is ready for use.

Available options:
in_progress,
completed,
failed
Example:

"completed"

pages
integer

The number of pages of the Document Source. The pages parameter is only available for Document Sources.

Example:

27