Get channel (Partner)
curl --request GET \
--url https://api.omni.z-api.io/v1/channels/{channelId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.omni.z-api.io/v1/channels/{channelId}"
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/v1/channels/{channelId}', 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/v1/channels/{channelId}",
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/v1/channels/{channelId}"
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/v1/channels/{channelId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.omni.z-api.io/v1/channels/{channelId}")
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{
"id": "AA0C61D24A6549A3BF83239847DE1CC2",
"name": "Suporte",
"token": "F1B29C3D4E5A6B7C8D9E0F1A2B3C4D5E",
"tenant": "01A090B7FB82798CB38AB259C0B65FBE",
"type": "META_WHATSAPP",
"created": "2026-03-11T14:02:00.000Z",
"due": 1774915200000,
"paymentStatus": "PAID",
"phoneConnected": true,
"whatsappConnected": true,
"phoneNumberConnected": "5585999999999",
"businessId": "102938475610293",
"whatsappCoexistence": false,
"webhooks": [
{
"id": "01A08132F180733B83D7B7BDFAF9E574",
"url": "https://parceiro.example.com/hook",
"events": [
"MESSAGE_RECEIVED",
"MESSAGE_DELIVERY"
]
}
]
}{
"error": "Authorization invalid"
}{
"error": "Channel not found"
}{
"error": "Channel listing requires ENTERPRISE role"
}Channels
Get channel
Get the data of a single channel by its identifier
GET
/
v1
/
channels
/
{channelId}
Get channel (Partner)
curl --request GET \
--url https://api.omni.z-api.io/v1/channels/{channelId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.omni.z-api.io/v1/channels/{channelId}"
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/v1/channels/{channelId}', 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/v1/channels/{channelId}",
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/v1/channels/{channelId}"
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/v1/channels/{channelId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.omni.z-api.io/v1/channels/{channelId}")
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{
"id": "AA0C61D24A6549A3BF83239847DE1CC2",
"name": "Suporte",
"token": "F1B29C3D4E5A6B7C8D9E0F1A2B3C4D5E",
"tenant": "01A090B7FB82798CB38AB259C0B65FBE",
"type": "META_WHATSAPP",
"created": "2026-03-11T14:02:00.000Z",
"due": 1774915200000,
"paymentStatus": "PAID",
"phoneConnected": true,
"whatsappConnected": true,
"phoneNumberConnected": "5585999999999",
"businessId": "102938475610293",
"whatsappCoexistence": false,
"webhooks": [
{
"id": "01A08132F180733B83D7B7BDFAF9E574",
"url": "https://parceiro.example.com/hook",
"events": [
"MESSAGE_RECEIVED",
"MESSAGE_DELIVERY"
]
}
]
}{
"error": "Authorization invalid"
}{
"error": "Channel not found"
}{
"error": "Channel listing requires ENTERPRISE role"
}Overview
Returns a channel from the workspace of your Secret Key, with the same fields as the listing plus the webhooks registered on it — id, URL and events of each endpoint.A channel from another workspace returns
404, the same as a channel that does not exist. The response does not distinguish between the two cases on purpose.Webhooks
Unlike Z-API, where each instance has a fixed URL per callback type, in Omni a channel can have several endpoints, each subscribed to the events you choose. To create, update or delete them, use the channel webhook routes.The
channelId comes from the Create channel endpoint or from List channels.Authorizations
Secret Key generated in the Omni Z-API Security panel
Path Parameters
Channel identifier
Example:
"AA0C61D24A6549A3BF83239847DE1CC2"
Response
Channel found
Example:
"AA0C61D24A6549A3BF83239847DE1CC2"
Example:
"Suporte"
Example:
"F1B29C3D4E5A6B7C8D9E0F1A2B3C4D5E"
Example:
"01A090B7FB82798CB38AB259C0B65FBE"
Available options:
META_WHATSAPP, Z_API_WHATSAPP, META_INSTAGRAM, META_MESSENGER, BOT_TELEGRAM Example:
"META_WHATSAPP"
Example:
"2026-03-11T14:02:00.000Z"
Example:
1774915200000
Available options:
PAID, PENDING, BOLETO_PENDING, CANCELLATION_PROCESS, CANCELED, TRIAL Example:
"PAID"
Example:
true
Example:
true
Example:
"5585999999999"
Example:
"102938475610293"
Example:
false
Show child attributes
Show child attributes