Create a file upload URL
curl --request POST \
--url https://dust.tt/api/v1/w/{wId}/files \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contentType": "<string>",
"fileName": "<string>",
"fileSize": 123,
"useCase": "<string>",
"useCaseMetadata": "<string>"
}
'import requests
url = "https://dust.tt/api/v1/w/{wId}/files"
payload = {
"contentType": "<string>",
"fileName": "<string>",
"fileSize": 123,
"useCase": "<string>",
"useCaseMetadata": "<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({
contentType: '<string>',
fileName: '<string>',
fileSize: 123,
useCase: '<string>',
useCaseMetadata: '<string>'
})
};
fetch('https://dust.tt/api/v1/w/{wId}/files', 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://dust.tt/api/v1/w/{wId}/files",
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([
'contentType' => '<string>',
'fileName' => '<string>',
'fileSize' => 123,
'useCase' => '<string>',
'useCaseMetadata' => '<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://dust.tt/api/v1/w/{wId}/files"
payload := strings.NewReader("{\n \"contentType\": \"<string>\",\n \"fileName\": \"<string>\",\n \"fileSize\": 123,\n \"useCase\": \"<string>\",\n \"useCaseMetadata\": \"<string>\"\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://dust.tt/api/v1/w/{wId}/files")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"contentType\": \"<string>\",\n \"fileName\": \"<string>\",\n \"fileSize\": 123,\n \"useCase\": \"<string>\",\n \"useCaseMetadata\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://dust.tt/api/v1/w/{wId}/files")
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 \"contentType\": \"<string>\",\n \"fileName\": \"<string>\",\n \"fileSize\": 123,\n \"useCase\": \"<string>\",\n \"useCaseMetadata\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"file": {
"sId": "<string>",
"uploadUrl": "<string>"
}
}Conversations
Create a file upload URL
POST
/
api
/
v1
/
w
/
{wId}
/
files
Create a file upload URL
curl --request POST \
--url https://dust.tt/api/v1/w/{wId}/files \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contentType": "<string>",
"fileName": "<string>",
"fileSize": 123,
"useCase": "<string>",
"useCaseMetadata": "<string>"
}
'import requests
url = "https://dust.tt/api/v1/w/{wId}/files"
payload = {
"contentType": "<string>",
"fileName": "<string>",
"fileSize": 123,
"useCase": "<string>",
"useCaseMetadata": "<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({
contentType: '<string>',
fileName: '<string>',
fileSize: 123,
useCase: '<string>',
useCaseMetadata: '<string>'
})
};
fetch('https://dust.tt/api/v1/w/{wId}/files', 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://dust.tt/api/v1/w/{wId}/files",
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([
'contentType' => '<string>',
'fileName' => '<string>',
'fileSize' => 123,
'useCase' => '<string>',
'useCaseMetadata' => '<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://dust.tt/api/v1/w/{wId}/files"
payload := strings.NewReader("{\n \"contentType\": \"<string>\",\n \"fileName\": \"<string>\",\n \"fileSize\": 123,\n \"useCase\": \"<string>\",\n \"useCaseMetadata\": \"<string>\"\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://dust.tt/api/v1/w/{wId}/files")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"contentType\": \"<string>\",\n \"fileName\": \"<string>\",\n \"fileSize\": 123,\n \"useCase\": \"<string>\",\n \"useCaseMetadata\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://dust.tt/api/v1/w/{wId}/files")
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 \"contentType\": \"<string>\",\n \"fileName\": \"<string>\",\n \"fileSize\": 123,\n \"useCase\": \"<string>\",\n \"useCaseMetadata\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"file": {
"sId": "<string>",
"uploadUrl": "<string>"
}
}Authorizations
Your DUST API key is a Bearer token.
Path Parameters
ID of the workspace
Body
application/json
MIME type of the file
Name of the file
Size of the file in bytes
Intended use case for the file, use "conversation"
(optional) Metadata for the use case, for conversation useCase should be dictionary with conversationId stringified
Response
File upload URL created successfully
Show child attributes
Show child attributes
⌘I