List channel accounts
curl --request GET \
--url https://api.onexaura.com/v1/channel-accounts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onexaura.com/v1/channel-accounts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.onexaura.com/v1/channel-accounts', 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.onexaura.com/v1/channel-accounts",
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.onexaura.com/v1/channel-accounts"
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.onexaura.com/v1/channel-accounts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onexaura.com/v1/channel-accounts")
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{
"page": 1,
"pageSize": 25,
"total": 137,
"totalPages": 6,
"data": [
{
"id": "ca_abc123",
"name": "<string>",
"channelType": "sms",
"status": "enabled",
"archivedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"updatedBy": "<string>",
"credentialFields": [
{
"key": "<string>",
"label": "<string>",
"secret": true,
"value": "<string>"
}
]
}
]
}{
"error": {
"code": "pin_expired",
"message": "<string>",
"requestId": "req_9f3a2c",
"details": {}
}
}{
"error": {
"code": "pin_expired",
"message": "<string>",
"requestId": "req_9f3a2c",
"details": {}
}
}{
"error": {
"code": "pin_expired",
"message": "<string>",
"requestId": "req_9f3a2c",
"details": {}
}
}Verify
List channel accounts
The provider accounts each channel dispatches through.
GET
/
v1
/
channel-accounts
List channel accounts
curl --request GET \
--url https://api.onexaura.com/v1/channel-accounts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onexaura.com/v1/channel-accounts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.onexaura.com/v1/channel-accounts', 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.onexaura.com/v1/channel-accounts",
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.onexaura.com/v1/channel-accounts"
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.onexaura.com/v1/channel-accounts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onexaura.com/v1/channel-accounts")
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{
"page": 1,
"pageSize": 25,
"total": 137,
"totalPages": 6,
"data": [
{
"id": "ca_abc123",
"name": "<string>",
"channelType": "sms",
"status": "enabled",
"archivedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"updatedBy": "<string>",
"credentialFields": [
{
"key": "<string>",
"label": "<string>",
"secret": true,
"value": "<string>"
}
]
}
]
}{
"error": {
"code": "pin_expired",
"message": "<string>",
"requestId": "req_9f3a2c",
"details": {}
}
}{
"error": {
"code": "pin_expired",
"message": "<string>",
"requestId": "req_9f3a2c",
"details": {}
}
}{
"error": {
"code": "pin_expired",
"message": "<string>",
"requestId": "req_9f3a2c",
"details": {}
}
}A channel account is the provider connection a channel actually sends through — the WhatsApp
number, the SMS route, the email sender. Templates reference them by
channelAccountId, so this
endpoint is how you resolve that id into something readable, and how you check whether a channel
is live before you try to send on it.
A disabled channel account fails the send at dispatch time with
channel_account_disabled (409),
even though the template still lists the channel. If a channel starts failing for every
destination, check status here before looking anywhere else.Credentials
credentialFields[] describes the provider credentials the account is configured with. Fields
marked secret: true always come back with an empty value — the API never returns a
credential, and there is no parameter that makes it.
Use the key and label to render a settings view; change the values in the OneXtel portal.
Paging
Page-numbered, the same as List templates: passpage
and pageSize, read total and totalPages, and trust the echoed values, which are post-clamp.Authorizations
An API key from the OneXtel portal, Developers → API Keys, sent as Authorization: Bearer <key>.
Query Parameters
Available options:
sms, whatsapp, email Available options:
enabled, disabled 1-based page number. Out-of-range or unparseable values read as page 1.
Rows per page. Defaults to 25; larger values clamp to 100.
Required range:
x <= 100Column to sort by. Defaults to createdAt. Enum-typed columns sort by declaration order, not alphabetically.
Sort direction. Defaults to desc.
Available options:
asc, desc Was this page helpful?

