Bulk delete sender accounts
curl --request POST \
--url https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"inbox_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"confirm_deletion": true
}
'import requests
url = "https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete"
payload = {
"inbox_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"confirm_deletion": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({inbox_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'], confirm_deletion: true})
};
fetch('https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete', 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.coldsend.pro/api/public/v1/sender-accounts/bulk/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'inbox_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'confirm_deletion' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete"
payload := strings.NewReader("{\n \"inbox_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm_deletion\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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))
}HttpResponse<String> response = Unirest.post("https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"inbox_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm_deletion\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inbox_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm_deletion\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"total": 123,
"deleted_count": 123,
"failed_count": 123,
"job_id": "<string>",
"skipped_count": 0,
"results": []
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Sender Accounts
Bulk delete sender accounts
Delete multiple sender accounts asynchronously
Delete up to 100 sender accounts with background processing.
Behavior
- ColdSend Native inboxes: Removes from Azure Communication Services and Stalwart, then deletes from database
- Workspace/SMTP inboxes: Removes IMAP registration and deletes from database only
- Campaign check: Accounts used in campaigns will be skipped
Tracking Progress
Use the returned job_id to track progress:
GET /api/public/v1/sender-accounts/bulk/delete/{job_id}/progress
Important Notes
- Maximum 100 accounts per request
- Processing runs in background
- Returns immediately with a job_id
- Requires explicit confirmation
POST
/
api
/
public
/
v1
/
sender-accounts
/
bulk
/
delete
Bulk delete sender accounts
curl --request POST \
--url https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"inbox_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"confirm_deletion": true
}
'import requests
url = "https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete"
payload = {
"inbox_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"confirm_deletion": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({inbox_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'], confirm_deletion: true})
};
fetch('https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete', 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.coldsend.pro/api/public/v1/sender-accounts/bulk/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'inbox_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'confirm_deletion' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete"
payload := strings.NewReader("{\n \"inbox_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm_deletion\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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))
}HttpResponse<String> response = Unirest.post("https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"inbox_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm_deletion\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coldsend.pro/api/public/v1/sender-accounts/bulk/delete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inbox_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm_deletion\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"total": 123,
"deleted_count": 123,
"failed_count": 123,
"job_id": "<string>",
"skipped_count": 0,
"results": []
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
API key with format cs_live_xxx
Body
application/json
Response
Bulk deletion initiated
Response for bulk sender account deletion.
Total accounts in request
Number of successfully deleted accounts
Number of failed deletions
Job ID for tracking progress
Number of skipped accounts (not found, in use)
Individual deletion results
Show child attributes
Show child attributes
Was this page helpful?

