List WABAs
curl --request GET \
--url https://api.omni.z-api.io/whatsapp/businesses \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.omni.z-api.io/whatsapp/businesses"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.omni.z-api.io/whatsapp/businesses', 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.omni.z-api.io/whatsapp/businesses",
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.omni.z-api.io/whatsapp/businesses"
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.omni.z-api.io/whatsapp/businesses")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.omni.z-api.io/whatsapp/businesses")
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[
{
"businessId": "428083093730937",
"name": "Demo",
"channelsCount": 1,
"connectedCount": 1,
"disconnectedCount": 0,
"templatesStatus": "AVAILABLE"
}
]{
"error": 401,
"message": "Unauthorized"
}{
"error": "integration_unavailable",
"message": "The operation could not be completed right now. Try again in a few moments."
}{
"error": "integration_timeout",
"message": "The operation took too long to complete. Try again in a few moments."
}Other endpoints
List WABAs
List the WABAs available for your token
GET
/
whatsapp
/
businesses
List WABAs
curl --request GET \
--url https://api.omni.z-api.io/whatsapp/businesses \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.omni.z-api.io/whatsapp/businesses"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.omni.z-api.io/whatsapp/businesses', 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.omni.z-api.io/whatsapp/businesses",
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.omni.z-api.io/whatsapp/businesses"
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.omni.z-api.io/whatsapp/businesses")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.omni.z-api.io/whatsapp/businesses")
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[
{
"businessId": "428083093730937",
"name": "Demo",
"channelsCount": 1,
"connectedCount": 1,
"disconnectedCount": 0,
"templatesStatus": "AVAILABLE"
}
]{
"error": 401,
"message": "Unauthorized"
}{
"error": "integration_unavailable",
"message": "The operation could not be completed right now. Try again in a few moments."
}{
"error": "integration_timeout",
"message": "The operation took too long to complete. Try again in a few moments."
}Overview
Returns the list of WABAs (WhatsApp Business Accounts) linked to your token. The returnedbusinessId is required for all other template endpoints.
Each WABA carries templatesStatus. AVAILABLE means its templates answered in time. UNAVAILABLE means they did not answer within the list deadline: the WABA stays in the list, and you can query its templates again in a few moments.Authorizations
Secret Key generated in the Omni Z-API Security panel
Response
List of WABAs
WABA ID (WhatsApp Business Account)
WABA name
Total linked channels
Connected channels
Disconnected channels
AVAILABLE when the WABA templates answered in time; UNAVAILABLE when they did not answer within the list deadline (the WABA stays in the list; query its templates again in a few moments).
Available options:
AVAILABLE, UNAVAILABLE