Assign a number to an agent
curl --request PUT \
--url https://{subdomain}.mihu.ai/api/v1/phone-numbers/{uuid}/bindings/{channel} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"agent_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://{subdomain}.mihu.ai/api/v1/phone-numbers/{uuid}/bindings/{channel}"
payload = { "agent_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a" }
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({agent_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a'})
};
fetch('https://{subdomain}.mihu.ai/api/v1/phone-numbers/{uuid}/bindings/{channel}', 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/phone-numbers/{uuid}/bindings/{channel}",
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([
'agent_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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/phone-numbers/{uuid}/bindings/{channel}"
payload := strings.NewReader("{\n \"agent_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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/phone-numbers/{uuid}/bindings/{channel}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"agent_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/phone-numbers/{uuid}/bindings/{channel}")
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 \"agent_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"phone_number_uuid": "<string>",
"channel": "<string>",
"agent_uuid": "<string>",
"agent_name": "<string>",
"bound_at": "2023-11-07T05:31:56Z"
}
}Phone Numbers
Assign a number to an agent
Connects this number to one of your agents on a specific channel (call, SMS, or WhatsApp). The agent must already have that channel configured. For SMS, this also provisions the messaging profile and inbound webhook and fails if that setup cannot be completed. A number can only serve one agent per channel — disconnect the existing assignment first if you’re switching.
PUT
/
api
/
v1
/
phone-numbers
/
{uuid}
/
bindings
/
{channel}
Assign a number to an agent
curl --request PUT \
--url https://{subdomain}.mihu.ai/api/v1/phone-numbers/{uuid}/bindings/{channel} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"agent_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://{subdomain}.mihu.ai/api/v1/phone-numbers/{uuid}/bindings/{channel}"
payload = { "agent_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a" }
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({agent_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a'})
};
fetch('https://{subdomain}.mihu.ai/api/v1/phone-numbers/{uuid}/bindings/{channel}', 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/phone-numbers/{uuid}/bindings/{channel}",
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([
'agent_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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/phone-numbers/{uuid}/bindings/{channel}"
payload := strings.NewReader("{\n \"agent_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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/phone-numbers/{uuid}/bindings/{channel}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"agent_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/phone-numbers/{uuid}/bindings/{channel}")
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 \"agent_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"phone_number_uuid": "<string>",
"channel": "<string>",
"agent_uuid": "<string>",
"agent_name": "<string>",
"bound_at": "2023-11-07T05:31:56Z"
}
}Authorizations
Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"
Path Parameters
Phone number UUID
Available options:
call, sms, whatsapp Body
application/json
⌘I