Delete a child tenant
curl --request DELETE \
--url https://api.withsplendor.com/v1/platform/tenants/{tenant_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.withsplendor.com/v1/platform/tenants/{tenant_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.withsplendor.com/v1/platform/tenants/{tenant_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.withsplendor.com/v1/platform/tenants/{tenant_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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.withsplendor.com/v1/platform/tenants/{tenant_id}"
req, _ := http.NewRequest("DELETE", 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.delete("https://api.withsplendor.com/v1/platform/tenants/{tenant_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withsplendor.com/v1/platform/tenants/{tenant_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"completed_at": "2026-01-15T09:30:00Z",
"created_at": "2026-01-15T09:30:00Z",
"error_message": null,
"item_failed_count": 0,
"item_pending_count": 0,
"item_running_count": 0,
"item_succeeded_count": 1,
"item_total_count": 1,
"items": [
{
"attempt_count": 1,
"completed_at": "2026-01-15T09:30:00Z",
"created_at": "2026-01-15T09:30:00Z",
"error_message": null,
"item_id": 1,
"item_type": "object_document",
"next_attempt_at": null,
"result": {
"deleted_documents": 1240000
},
"started_at": "2026-01-15T09:30:00Z",
"status": "succeeded",
"target": {
"dataset_id": "app-logs"
},
"updated_at": "2026-01-15T09:30:00Z"
}
],
"job_id": "ddl_01H8Z3",
"requested_by": "user_01H8Z3",
"scope": "dataset",
"started_at": "2026-01-15T09:30:00Z",
"status": "succeeded",
"target_dataset_id": "app-logs",
"target_source_id": null,
"target_upload_session_id": null,
"tenant_id": "acme",
"updated_at": "2026-01-15T09:30:00Z"
}{
"detail": "Dataset not found"
}{
"detail": "Dataset not found"
}{
"detail": "Dataset not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}{
"detail": "Dataset not found"
}Platform
Delete a child tenant
Permanently tears down a child tenant: enqueues a managed deletion job that purges its indexed documents and semantic vectors, removes its staged uploads, and finally deletes the tenant itself. Returns 202 with the deletion job. Responds with 404 if the tenant does not exist or belongs to a different platform. This cannot be undone.
DELETE
/
v1
/
platform
/
tenants
/
{tenant_id}
Delete a child tenant
curl --request DELETE \
--url https://api.withsplendor.com/v1/platform/tenants/{tenant_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.withsplendor.com/v1/platform/tenants/{tenant_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.withsplendor.com/v1/platform/tenants/{tenant_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.withsplendor.com/v1/platform/tenants/{tenant_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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.withsplendor.com/v1/platform/tenants/{tenant_id}"
req, _ := http.NewRequest("DELETE", 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.delete("https://api.withsplendor.com/v1/platform/tenants/{tenant_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withsplendor.com/v1/platform/tenants/{tenant_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"completed_at": "2026-01-15T09:30:00Z",
"created_at": "2026-01-15T09:30:00Z",
"error_message": null,
"item_failed_count": 0,
"item_pending_count": 0,
"item_running_count": 0,
"item_succeeded_count": 1,
"item_total_count": 1,
"items": [
{
"attempt_count": 1,
"completed_at": "2026-01-15T09:30:00Z",
"created_at": "2026-01-15T09:30:00Z",
"error_message": null,
"item_id": 1,
"item_type": "object_document",
"next_attempt_at": null,
"result": {
"deleted_documents": 1240000
},
"started_at": "2026-01-15T09:30:00Z",
"status": "succeeded",
"target": {
"dataset_id": "app-logs"
},
"updated_at": "2026-01-15T09:30:00Z"
}
],
"job_id": "ddl_01H8Z3",
"requested_by": "user_01H8Z3",
"scope": "dataset",
"started_at": "2026-01-15T09:30:00Z",
"status": "succeeded",
"target_dataset_id": "app-logs",
"target_source_id": null,
"target_upload_session_id": null,
"tenant_id": "acme",
"updated_at": "2026-01-15T09:30:00Z"
}{
"detail": "Dataset not found"
}{
"detail": "Dataset not found"
}{
"detail": "Dataset not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}{
"detail": "Dataset not found"
}Authorizations
API token issued from the Splendor console.
Path Parameters
Response
Successful Response
Show child attributes
Show child attributes
Available options:
hosted_upload, source, dataset, object, record, tenant Available options:
pending, running, succeeded, failed