Skip to main content
Pinecone Docs
current

Search documentation

Type to search this documentation.

Cancel/terminate a task

Body is optional. Max body 1 MiB.

DELETE /tasks/{id}

cURL
curl --request DELETE \
  --url https://{host}/api/tasks/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'X-Pinecone-Api-Version: <x-pinecone-api-version>' \
  --header 'Content-Type: application/json' \
  --data '{
  "reason": "<string>",
  "target": "<string>",
  "pinecone_api_key": "<string>",
  "user_token": "<string>"
}'
Python
import requests

url = "https://{host}/api/tasks/{id}"

payload = {
  "reason": "<string>",
  "target": "<string>",
  "pinecone_api_key": "<string>",
  "user_token": "<string>"
}
headers = {
    "Authorization": "Bearer <token>",
    "X-Pinecone-Api-Version": "<x-pinecone-api-version>",
    "Content-Type": "application/json"
}

response = requests.delete(url, json=payload, headers=headers)

print(response.text)
JavaScript
const options = {method: "DELETE", headers: {"Authorization": "Bearer <token>", "X-Pinecone-Api-Version": "<x-pinecone-api-version>", "Content-Type": "application/json"}, body: JSON.stringify({
  "reason": "<string>",
  "target": "<string>",
  "pinecone_api_key": "<string>",
  "user_token": "<string>"
})};

fetch("https://{host}/api/tasks/{id}", options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
PHP
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://{host}/api/tasks/{id}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_POSTFIELDS => "{\"reason\":\"<string>\",\"target\":\"<string>\",\"pinecone_api_key\":\"<string>\",\"user_token\":\"<string>\"}",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "X-Pinecone-Api-Version: <x-pinecone-api-version>",
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
Go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://{host}/api/tasks/{id}"

	payload := strings.NewReader("{\"reason\":\"<string>\",\"target\":\"<string>\",\"pinecone_api_key\":\"<string>\",\"user_token\":\"<string>\"}")

	req, _ := http.NewRequest("DELETE", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
	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))

}
Java
HttpResponse<String> response = Unirest.delete("https://{host}/api/tasks/{id}")
  .header("Authorization", "Bearer <token>")
  .header("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
  .header("Content-Type", "application/json")
  .body("{\"reason\":\"<string>\",\"target\":\"<string>\",\"pinecone_api_key\":\"<string>\",\"user_token\":\"<string>\"}")
  .asString();
Ruby
require 'uri'
require 'net/http'

url = URI("https://{host}/api/tasks/{id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
request["X-Pinecone-Api-Version"] = '<x-pinecone-api-version>'
request["Content-Type"] = 'application/json'
request.body = "{\"reason\":\"<string>\",\"target\":\"<string>\",\"pinecone_api_key\":\"<string>\",\"user_token\":\"<string>\"}"

response = http.request(request)
puts response.read_body
404
{
  "message": "<string>",
  "code": "<string>"
}
Authorizationstringrequired

Session token from POST /auth/login, sent as Authorization: Bearer <token>.

X-Pinecone-Api-Version?string

Date-based contract version, echoed back on the same header. Omit for the default (2026-07); send unstable for the in-development surface. An unrecognized value is rejected with 400 unsupported_api_version.

Typestring
Default2026-07
idstringrequired

Task id.

Typestring
reason?string

Why the task is being terminated, recorded on the row.

Typestring
target?string

Which part of the task to terminate. Defaults to the whole task.

Typestring
pinecone_api_key?string

Task-token override; normally not needed.

Typestring
user_token?string

Caller-token override; normally not needed.

Typestring

200 — Termination enqueued (empty body)

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu