DELETE /projects/{project}/indexes/{table}/{index}
curl --request DELETE \
--url https://api-zangtable.com/projects/{project}/indexes/{table}/{index} \
--header 'Authorization: <authorization>'import requests
url = "https://api-zangtable.com/projects/{project}/indexes/{table}/{index}"
headers = {"Authorization": "<authorization>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: '<authorization>'}};
fetch('https://api-zangtable.com/projects/{project}/indexes/{table}/{index}', 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-zangtable.com/projects/{project}/indexes/{table}/{index}",
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: <authorization>"
],
]);
$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-zangtable.com/projects/{project}/indexes/{table}/{index}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "<authorization>")
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-zangtable.com/projects/{project}/indexes/{table}/{index}")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-zangtable.com/projects/{project}/indexes/{table}/{index}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"ok": true,
"data": {},
"error": {},
"request_id": "<string>"
}Query and indexes
DELETE /projects/{project}/indexes/{table}/{index}
Drops a managed index.
DELETE
https://api-zangtable.com
/
projects
/
{project}
/
indexes
/
{table}
/
{index}
DELETE /projects/{project}/indexes/{table}/{index}
curl --request DELETE \
--url https://api-zangtable.com/projects/{project}/indexes/{table}/{index} \
--header 'Authorization: <authorization>'import requests
url = "https://api-zangtable.com/projects/{project}/indexes/{table}/{index}"
headers = {"Authorization": "<authorization>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: '<authorization>'}};
fetch('https://api-zangtable.com/projects/{project}/indexes/{table}/{index}', 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-zangtable.com/projects/{project}/indexes/{table}/{index}",
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: <authorization>"
],
]);
$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-zangtable.com/projects/{project}/indexes/{table}/{index}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "<authorization>")
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-zangtable.com/projects/{project}/indexes/{table}/{index}")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-zangtable.com/projects/{project}/indexes/{table}/{index}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"ok": true,
"data": {},
"error": {},
"request_id": "<string>"
}Drops a managed index.
Full request:
Error or alternate response:
Endpoint details
string
required
Bearer
pat_... (Project API Token). Keep this token on your backend/server.string
required
Project slug. This acts as the Project ID in API paths.
string
required
Table name inside the project.
string
required
Index name returned by the list indexes endpoint.
boolean
required
true for a successful response and false for an error response.object | null
Endpoint-specific response data when
ok is true; null on errors.object | null
Error code and message when
ok is false; null on success.string
required
Request identifier you can use when troubleshooting a specific API call.
Authentication
Project API Token.Parameters
Path:table required; index required index identifier.
Request examples
Basic request:curl -X DELETE "$BASE_URL/projects/{project}/indexes/{table}/{index}" \
-H 'Authorization: Bearer pat_PROJECT_TOKEN'
curl -X DELETE "$BASE_URL/projects/{project}/indexes/{table}/{index}" \
-H 'Authorization: Bearer pat_PROJECT_TOKEN' \
-H 'X-Operation-Key: edit-profile-email' \
-H 'X-Operation-Run-Id: oprun_client_20260602_001'
Response examples
Success:{
"ok": true,
"data": {
"deleted": true,
"index_name": "idx_contacts_email"
},
"error": null,
"request_id": "req_20260602T012345_123456Z_abc123def456",
"operation_key": "edit-profile-email",
"operation_run_id": "oprun_20260602T012300_000000Z_a1b2c3d4e5f6",
"operation_grouping_status": "accepted_provided_run",
"meta": {
"generated_at": "2026-06-02T01:23:45Z"
}
}
{
"ok": false,
"data": null,
"error": {
"code": "index_not_managed",
"message": "Only indexes created with CREATE INDEX can be dropped here."
},
"request_id": "req_20260602T012345_123456Z_abc123def456",
"meta": {
"generated_at": "2026-06-02T01:23:45Z"
}
}