curl --request PUT \
--url https://{subdomain}.mihu.ai/api/v1/pools/{uuid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"max_parallel_items": 20,
"max_retries": 5,
"is_active": true
}
'import requests
url = "https://{subdomain}.mihu.ai/api/v1/pools/{uuid}"
payload = {
"name": "<string>",
"description": "<string>",
"max_parallel_items": 20,
"max_retries": 5,
"is_active": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
max_parallel_items: 20,
max_retries: 5,
is_active: true
})
};
fetch('https://{subdomain}.mihu.ai/api/v1/pools/{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/pools/{uuid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'max_parallel_items' => 20,
'max_retries' => 5,
'is_active' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://{subdomain}.mihu.ai/api/v1/pools/{uuid}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"max_parallel_items\": 20,\n \"max_retries\": 5,\n \"is_active\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://{subdomain}.mihu.ai/api/v1/pools/{uuid}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"max_parallel_items\": 20,\n \"max_retries\": 5,\n \"is_active\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/pools/{uuid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"max_parallel_items\": 20,\n \"max_retries\": 5,\n \"is_active\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Pool updated successfully",
"data": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"type": "FIFO",
"max_parallel_items": 123,
"max_retries": 123,
"is_active": true,
"contacts_count": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}Update a pool
Partial update. Send only the fields you want to change. Use the is_active flag to activate/deactivate — there is no separate toggle endpoint. Updates do not affect contact membership; pool items are unchanged.
curl --request PUT \
--url https://{subdomain}.mihu.ai/api/v1/pools/{uuid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"max_parallel_items": 20,
"max_retries": 5,
"is_active": true
}
'import requests
url = "https://{subdomain}.mihu.ai/api/v1/pools/{uuid}"
payload = {
"name": "<string>",
"description": "<string>",
"max_parallel_items": 20,
"max_retries": 5,
"is_active": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
max_parallel_items: 20,
max_retries: 5,
is_active: true
})
};
fetch('https://{subdomain}.mihu.ai/api/v1/pools/{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/pools/{uuid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'max_parallel_items' => 20,
'max_retries' => 5,
'is_active' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://{subdomain}.mihu.ai/api/v1/pools/{uuid}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"max_parallel_items\": 20,\n \"max_retries\": 5,\n \"is_active\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://{subdomain}.mihu.ai/api/v1/pools/{uuid}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"max_parallel_items\": 20,\n \"max_retries\": 5,\n \"is_active\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/pools/{uuid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"max_parallel_items\": 20,\n \"max_retries\": 5,\n \"is_active\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Pool updated successfully",
"data": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"type": "FIFO",
"max_parallel_items": 123,
"max_retries": 123,
"is_active": true,
"contacts_count": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}Authorizations
Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"
Path Parameters
UUID of the pool to update.
Body
New display name.
3 - 255New free-form description.
Switch the processing strategy. Note: existing in-flight pool items keep their current status; only future dispatches honor the new ordering.
FIFO, LIFO, Parallel Update the parallel cap (only meaningful when type='Parallel').
1 <= x <= 10020
Update the pool-level retry ceiling. Campaign rules still take precedence when present.
x >= 05
Activate or deactivate the pool. Deactivating does not stop running campaigns or cancel scheduled tasks; it only hides the pool from new campaign builders.
Response
Updated pool resource.
true
"Pool updated successfully"
Contact pool. Bucket of contacts that one or more campaigns can draw from. Returned with contacts_count on every endpoint, and additionally with status_counts + campaigns on detail (GET /pools/{uuid}) endpoints.
Show child attributes
Show child attributes
