List connected WhatsApp numbers (senders)
curl --request GET \
--url https://api.minimo.it/public/v1/templates/whatsapp/senders \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.minimo.it/public/v1/templates/whatsapp/senders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.minimo.it/public/v1/templates/whatsapp/senders', 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.minimo.it/public/v1/templates/whatsapp/senders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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.minimo.it/public/v1/templates/whatsapp/senders"
req, _ := http.NewRequest("GET", 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.get("https://api.minimo.it/public/v1/templates/whatsapp/senders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.minimo.it/public/v1/templates/whatsapp/senders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"phoneNumber": "+393511234567",
"phoneName": "Acme Support",
"phoneNumberId": "123456789012345",
"isPreferred": true
}
],
"pagination": {
"totalRecords": 2,
"currentPage": 1,
"totalPages": 1,
"nextPage": null,
"prevPage": null
}
}{
"error": "Missing API client ID or API key"
}WhatsApp
List WhatsApp Senders
Discover the connected WhatsApp numbers you can send from (multi-sender / multi-WABA)
GET
/
public
/
v1
/
templates
/
whatsapp
/
senders
List connected WhatsApp numbers (senders)
curl --request GET \
--url https://api.minimo.it/public/v1/templates/whatsapp/senders \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.minimo.it/public/v1/templates/whatsapp/senders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.minimo.it/public/v1/templates/whatsapp/senders', 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.minimo.it/public/v1/templates/whatsapp/senders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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.minimo.it/public/v1/templates/whatsapp/senders"
req, _ := http.NewRequest("GET", 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.get("https://api.minimo.it/public/v1/templates/whatsapp/senders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.minimo.it/public/v1/templates/whatsapp/senders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"phoneNumber": "+393511234567",
"phoneName": "Acme Support",
"phoneNumberId": "123456789012345",
"isPreferred": true
}
],
"pagination": {
"totalRecords": 2,
"currentPage": 1,
"totalPages": 1,
"nextPage": null,
"prevPage": null
}
}{
"error": "Missing API client ID or API key"
}Overview
A single Minimo company can connect more than one WhatsApp number — for example a support line and a marketing line, possibly under different WhatsApp Business Accounts (WABAs). This endpoint returns the numbers you are allowed to send from, so you know which values you can pass as thesender field of a WhatsApp send.
Custom numbers for platforms & agencies. Minimo is a WhatsApp Business Solution
Provider (BSP) on a 360dialog partner plan with unlimited numbers, so you can provision a
dedicated, custom number per customer, brand or location and resell WhatsApp messaging
without your own Meta BSP contract. This endpoint lists every number the company can send
from; target a specific one with the
sender field. See
Custom numbers, multiple numbers & agencies.Connect and manage your WhatsApp numbers from the Channels section at
app.minimo.it/channels.
Response Structure
{
"items": [
{
"phoneNumber": "+393511234567",
"phoneName": "Acme Support",
"phoneNumberId": "123456789012345",
"isPreferred": true
},
{
"phoneNumber": "+393517654321",
"phoneName": "Acme Marketing",
"phoneNumberId": "543210987654321",
"isPreferred": false
}
],
"pagination": {
"totalRecords": 2,
"currentPage": 1,
"totalPages": 1,
"nextPage": null,
"prevPage": null
}
}
Fields
| Field | Type | Description |
|---|---|---|
phoneNumber | string | The display phone number — the primary value to pass as sender. |
phoneName | string | The WhatsApp Business display name of the number. |
phoneNumberId | string | The Meta phone_number_id — also accepted as sender. May differ for 360dialog-connected numbers. |
isPreferred | boolean | Whether this is the company default number, used when a send omits sender. Exactly one per company. |
How the sender is resolved on a send
When you callPOST /public/v1/templates/whatsapp/send,
Minimo picks the number to send from as follows:
- If you pass
sender, that number is used. You may pass either thephoneNumber(in any formatting — E.164, spaces, etc.) or thephoneNumberId. - If you omit
sender, the company preferred number (isPreferred: true) is used.
Passing a
sender that isn’t one of the company’s connected numbers returns WHATSAPP_SENDER_NOT_FOUND. Always
source the value from this endpoint.Example: send from a specific number
# 1. Discover the senders
curl https://api.minimo.it/public/v1/templates/whatsapp/senders \
-H "Authorization: Bearer mn-abc123-xyz789"
# 2. Send FROM the marketing number
curl https://api.minimo.it/public/v1/templates/whatsapp/send \
-H "Authorization: Bearer mn-abc123-xyz789" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"recipient": "393471234567",
"type": "template",
"sender": "+393517654321",
"template": {
"name": "product_launch",
"components": [
{ "type": "BODY", "parameters": [ { "type": "text", "text": "Jane" } ] }
]
}
}'
Related Endpoints
- Send WhatsApp Template - Send messages, optionally from a chosen
sender - List WhatsApp Templates - View all available templates