Skip to main content
DELETE
/
chatbots
/
{chatbotId}
/
contacts
/
{contactId}
Delete a contact
curl --request DELETE \
  --url https://www.chatbase.co/api/v1/chatbots/{chatbotId}/contacts/{contactId} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://www.chatbase.co/api/v1/chatbots/{chatbotId}/contacts/{contactId}"

headers = {"Authorization": "Bearer <token>"}

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

print(response.text)
const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};

fetch('https://www.chatbase.co/api/v1/chatbots/{chatbotId}/contacts/{contactId}', 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://www.chatbase.co/api/v1/chatbots/{chatbotId}/contacts/{contactId}",
  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://www.chatbase.co/api/v1/chatbots/{chatbotId}/contacts/{contactId}"

	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://www.chatbase.co/api/v1/chatbots/{chatbotId}/contacts/{contactId}")
  .header("Authorization", "Bearer <token>")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://www.chatbase.co/api/v1/chatbots/{chatbotId}/contacts/{contactId}")

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": "Success",
  "data": {
    "id": "contact_internal_123",
    "external_id": "user_123",
    "name": "John Doe",
    "email": "john@example.com",
    "phonenumber": "+1234567890",
    "stripe_accounts": [
      {
        "label": "main",
        "stripe_id": "cus_123abc456",
        "stripe_email": "john@example.com"
      }
    ],
    "custom_attributes": {
      "department": "Sales",
      "subscription_tier": "Premium"
    },
    "created_at": 1704067200,
    "updated_at": 1704153600
  }
}
{
  "message": "No API key provided."
}
{
  "message": "Resource not found"
}
{
  "message": "Rate limit exceeded. Please try again later."
}
{
  "message": "Internal server error"
}

Authorizations

Authorization
string
header
required

API key in Bearer token format

Path Parameters

chatbotId
string
required

ID of the chatbot

contactId
string
required

External ID of the contact

Response

Contact deleted successfully

message
string
Example:

"Success"

data
object