Delete Single Prospect
curl --request DELETE \
--url https://api.kakiyo.com/v1/prospects/{prospectId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.kakiyo.com/v1/prospects/{prospectId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.kakiyo.com/v1/prospects/{prospectId}', 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.kakiyo.com/v1/prospects/{prospectId}",
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.kakiyo.com/v1/prospects/{prospectId}"
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.kakiyo.com/v1/prospects/{prospectId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kakiyo.com/v1/prospects/{prospectId}")
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{
"message": "Prospect deleted successfully",
"deletionSummary": {
"prospectId": "prospect_123",
"deletedItems": {
"chats": 1,
"messages": 8
}
}
}{
"error": "validation_error",
"message": "The request parameters failed validation",
"details": [
{
"field": "name",
"message": "The name field is required"
}
]
}{
"error": "validation_error",
"message": "The request parameters failed validation",
"details": [
{
"field": "name",
"message": "The name field is required"
}
]
}Prospects
Delete Single Prospect
Delete a single prospect and all associated data
DELETE
/
prospects
/
{prospectId}
Delete Single Prospect
curl --request DELETE \
--url https://api.kakiyo.com/v1/prospects/{prospectId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.kakiyo.com/v1/prospects/{prospectId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.kakiyo.com/v1/prospects/{prospectId}', 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.kakiyo.com/v1/prospects/{prospectId}",
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.kakiyo.com/v1/prospects/{prospectId}"
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.kakiyo.com/v1/prospects/{prospectId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kakiyo.com/v1/prospects/{prospectId}")
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{
"message": "Prospect deleted successfully",
"deletionSummary": {
"prospectId": "prospect_123",
"deletedItems": {
"chats": 1,
"messages": 8
}
}
}{
"error": "validation_error",
"message": "The request parameters failed validation",
"details": [
{
"field": "name",
"message": "The name field is required"
}
]
}{
"error": "validation_error",
"message": "The request parameters failed validation",
"details": [
{
"field": "name",
"message": "The name field is required"
}
]
}Overview
Delete a single prospect and all associated conversation data. This operation removes the prospect from the campaign and permanently deletes all related messages, tasks, and analytics data. This action cannot be undone.Path Parameters
string
required
The unique identifier of the prospect to delete
Use Cases
- Data Cleanup: Remove invalid or duplicate prospects
- Compliance: Delete prospects who requested removal
- Quality Control: Remove prospects that don’t meet criteria
- Campaign Optimization: Remove unresponsive prospects
Important Considerations
Permanent Deletion: This operation permanently deletes:
- Prospect profile and contact information
- All conversation history and messages
- All scheduled tasks and follow-ups
- All analytics data related to this prospect
- All webhook events for this prospect
Response Structure
{
"message": "Prospect deleted successfully",
"deletionSummary": {
"prospectId": "prospect_123",
"prospectName": "John Smith",
"campaignId": "campaign_456",
"campaignName": "Enterprise Outreach Q4",
"deletedItems": {
"chats": 1,
"messages": 8,
"tasks": 3,
"webhookEvents": 2
},
"deletedAt": "2024-01-20T15:30:00Z"
},
"campaignStatsUpdated": {
"prospectsCount": 149,
"messagesCount": 412,
"qualifiedCount": 11
}
}
Testing Example
curl -X DELETE "https://api.kakiyo.com/v1/prospects/prospect_123" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
// JavaScript/Node.js
const prospectId = 'prospect_123';
const response = await fetch(`https://api.kakiyo.com/v1/prospects/${prospectId}`, {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
});
const result = await response.json();
console.log('Deletion Result:', result);
# Python
import requests
prospect_id = 'prospect_123'
response = requests.delete(
f'https://api.kakiyo.com/v1/prospects/{prospect_id}',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
)
result = response.json()
print('Deletion Result:', result)
Error Responses
Prospect Not Found
{
"error": "not_found",
"message": "Prospect not found"
}
Access Denied
{
"error": "forbidden",
"message": "You do not have access to this prospect"
}
Active Conversation
{
"error": "prospect_active",
"message": "Cannot delete prospect with active conversation. Please pause first."
}
Pre-Deletion Checklist
Before deleting a prospect, consider:- Export Data: Save important conversation history
- Pause Prospect: Stop active outreach activities
- Check Qualification: Verify if prospect was qualified
- Update CRM: Sync status with external systems
- Team Notification: Inform relevant team members
Cascade Deletion Details
When a prospect is deleted, the following data is automatically removed:Prospect Data
- Profile information and LinkedIn data
- Additional fields and enrichment data
- Contact information and preferences
Conversations
- All chat records and message history
- AI-generated responses and templates
- Response tracking and engagement metrics
Tasks
- Scheduled outreach tasks
- Follow-up reminders
- Automation triggers
Analytics
- Individual prospect performance data
- Engagement metrics and activity logs
- Qualification tracking data
Campaign Statistics
Campaign statistics are automatically updated to reflect the deletion:- Total prospects count decreased
- Message counts adjusted
- Qualification metrics recalculated
Best Practices
- Data Export: Always export critical data before deletion
- Batch Processing: For multiple deletions, use bulk delete endpoint
- Audit Trail: Keep records of deleted prospects for compliance
- Alternative Actions: Consider pausing instead of deleting
- Team Communication: Notify team members of deletions
Alternative Actions
Instead of deletion, consider these alternatives:Pause Prospect
curl -X POST "https://api.kakiyo.com/v1/prospects/prospect_123/pause" \
-H "Authorization: Bearer YOUR_API_KEY"
Disqualify Prospect
curl -X POST "https://api.kakiyo.com/v1/prospects/prospect_123/disqualify" \
-H "Authorization: Bearer YOUR_API_KEY"
Move to Different Campaign
Use the campaign update endpoint to transfer the prospect to another campaign while preserving data.Recovery Options
No Recovery Available: Once a prospect is deleted, it cannot be recovered. To restore functionality:
- Re-add the prospect to the campaign
- Restart the conversation from the beginning
- Rebuild any custom data or notes
Bulk Operations
For deleting multiple prospects, use the bulk deletion endpoint:- More efficient for large operations
- Better error handling for partial failures
- Detailed results for each deletion attempt
Integration Considerations
When integrating prospect deletion:- Webhook Events: Deletion triggers webhook events if configured
- CRM Sync: Update external CRM systems accordingly
- Analytics Impact: Consider impact on historical analytics
- Automation Rules: Update any automation rules referencing the prospect
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Last modified on August 29, 2025

