Detach a pool from a campaign
curl --request DELETE \
--url https://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid} \
--header 'Authorization: Bearer <token>'import requests
url = "https://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}', 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://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}",
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://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}"
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://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}")
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{
"success": true,
"message": "Pool detached from campaign",
"data": {
"campaign_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pool_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tasks_cancelled": 123
}
}Campaigns
Detach a pool from a campaign
Removes the pool↔campaign association. Side effect: cancels any scheduled/queued/pending tasks created for THIS specific pool in THIS specific campaign. Cancellation is keyed on contact_pool_item_id (stored in tasks.task_data) — so if the same contact exists in another pool also attached to this campaign, those tasks are NOT affected. The pool itself and its contacts remain intact and can be reattached later.
DELETE
/
api
/
v1
/
campaigns
/
{uuid}
/
pools
/
{pool_uuid}
Detach a pool from a campaign
curl --request DELETE \
--url https://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid} \
--header 'Authorization: Bearer <token>'import requests
url = "https://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}', 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://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}",
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://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}"
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://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/campaigns/{uuid}/pools/{pool_uuid}")
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{
"success": true,
"message": "Pool detached from campaign",
"data": {
"campaign_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pool_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tasks_cancelled": 123
}
}Authorizations
Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"
Path Parameters
UUID of the campaign.
UUID of the pool to detach.
