Create a presigned upload
POST
/v1/uploadsAuthorization
AuthorizationBearer token (OAuth access token or teakapi_ API key) · headerrequiredBearer token. Accepts either an OAuth 2.0 access token (obtained via browser sign-in; expires after 1 hour and is refreshable) or a teakapi_ API key.
Request body
application/jsonfileNamestringrequiredfileSizenumberrequiredmimeTypestringrequiredResponses
200Prepared direct file upload
expiresInnumberrequiredfileKeystringrequiredmaxFileSizenumberrequiredmethodstringrequiredAllowed:
PUTuploadUrlstring<uri>requiredRequest
curl -X POST "https://teakvault.com/api/v1/uploads" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileName": "string",
"fileSize": 0,
"mimeType": "string"
}'const response = await fetch("https://teakvault.com/api/v1/uploads", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"fileName": "string",
"fileSize": 0,
"mimeType": "string"
})
});import requests
response = requests.post(
"https://teakvault.com/api/v1/uploads",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
json={
"fileName": "string",
"fileSize": 0,
"mimeType": "string"
},
)Response
{
"expiresIn": 0,
"fileKey": "string",
"maxFileSize": 0,
"method": "PUT",
"uploadUrl": "<uri>"
}