Remove S3 Storage
curl --request DELETE \
--url https://api.tornadoapi.io/user/s3 \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.tornadoapi.io/user/s3"
headers = {"x-api-key": "<x-api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://api.tornadoapi.io/user/s3', 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.tornadoapi.io/user/s3",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);
$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.tornadoapi.io/user/s3"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.tornadoapi.io/user/s3")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tornadoapi.io/user/s3")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"message": "S3 storage configuration removed"
}
User
Remove S3 Storage
Remove S3-compatible storage configuration
DELETE
/
user
/
s3
Remove S3 Storage
curl --request DELETE \
--url https://api.tornadoapi.io/user/s3 \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.tornadoapi.io/user/s3"
headers = {"x-api-key": "<x-api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://api.tornadoapi.io/user/s3', 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.tornadoapi.io/user/s3",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);
$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.tornadoapi.io/user/s3"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.tornadoapi.io/user/s3")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tornadoapi.io/user/s3")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"message": "S3 storage configuration removed"
}
Overview
Remove this API key’s saved S3-compatible storage configuration. This does not clear other providers, organization-level storage, or per-request inline credentials. Subsequent jobs follow the remaining destination configuration; managed storage is not an unconditional fallback.Existing files in your S3 bucket remain untouched. Removing credentials can also affect pending jobs and future link refreshes; existing objects are not deleted.
Your stored credentials are deleted from our vault, not merely unlinked. If they cannot be deleted, the request fails with
503 and the configuration is kept so you can retry — we never report a deletion that did not happen./user/bucket is separate: remove it with DELETE /user/bucket. This route can return 404 when only that legacy configuration exists.
Header Parameters
string
required
Your API key for authentication
Response
string
Success confirmation message
Example
curl -X DELETE "https://api.tornadoapi.io/user/s3" \
-H "x-api-key: sk_your_api_key"
import requests
response = requests.delete(
"https://api.tornadoapi.io/user/s3",
headers={"x-api-key": "sk_your_api_key"}
)
print(response.json())
const response = await fetch("https://api.tornadoapi.io/user/s3", {
method: "DELETE",
headers: { "x-api-key": "sk_your_api_key" }
});
const data = await response.json();
{
"message": "S3 storage configuration removed"
}
Success Response
{
"message": "S3 storage configuration removed"
}
Error Responses
{
"error": "Invalid API Key"
}
{
"error": "No S3 configuration found"
}
{
"error": "Stored credentials could not be deleted; the configuration was kept so the request can be retried"
}
Was this page helpful?