Skip to main content
POST
/
api
/
v1
/
knowledge-bases
/
{slug}
/
documents
PromptJuggler PHP SDK
$docs = $pj->uploadDocuments('product-docs', ['manual.pdf' => file_get_contents('manual.pdf')]);
const docs = await pj.uploadDocuments('product-docs', [new File([await readFile('manual.pdf')], 'manual.pdf')]);
docs = pj.upload_documents('product-docs', [('manual.pdf', open('manual.pdf', 'rb').read())])
List<KnowledgeDocumentResponse> docs = pj.uploadDocuments("product-docs", List.of(new File("manual.pdf")));
docs, err := pj.UploadDocuments(ctx, "product-docs", file)
curl --request POST \
--url https://promptjuggler.com/api/v1/knowledge-bases/{slug}/documents \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form 'files=<string>' \
--form files.items='@example-file'
const form = new FormData();
form.append('files', '<string>');
form.append('files.items', '{
"fileName": "example-file"
}');

const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};

options.body = form;

fetch('https://promptjuggler.com/api/v1/knowledge-bases/{slug}/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
require 'uri'
require 'net/http'

url = URI("https://promptjuggler.com/api/v1/knowledge-bases/{slug}/documents")

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"] = 'multipart/form-data; boundary=---011000010111000001101001'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--"

response = http.request(request)
puts response.read_body
[
  {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "fileName": "<string>",
    "bytes": 123,
    "chunkCount": 123
  }
]
{
"error": "<string>"
}

Authorizations

Authorization
string
header
required

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

Path Parameters

slug
string
required

Knowledge base handle

Body

multipart/form-data
files
file[]

Response

Documents created

id
string<uuid>
required

Document ID

status
enum<string>
required

Processing status

Available options:
pending,
sealed,
ready,
failed
fileName
string
required

Original file name

bytes
integer
required

File size in bytes

chunkCount
integer
required

Number of chunks extracted