curl --request POST \
--url https://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter \
--header 'Content-Type: application/json' \
--header 'api-access-token: <api-key>' \
--data '
{
"payload": [
{
"attribute_key": "name",
"filter_operator": "equal_to",
"values": [
"en"
],
"query_operator": "AND"
},
{
"attribute_key": "country_code",
"filter_operator": "equal_to",
"values": [
"us"
],
"query_operator": null
}
]
}
'import requests
url = "https://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter"
payload = { "payload": [
{
"attribute_key": "name",
"filter_operator": "equal_to",
"values": ["en"],
"query_operator": "AND"
},
{
"attribute_key": "country_code",
"filter_operator": "equal_to",
"values": ["us"],
"query_operator": None
}
] }
headers = {
"api-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payload: [
{
attribute_key: 'name',
filter_operator: 'equal_to',
values: ['en'],
query_operator: 'AND'
},
{
attribute_key: 'country_code',
filter_operator: 'equal_to',
values: ['us'],
query_operator: null
}
]
})
};
fetch('https://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter', 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://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payload' => [
[
'attribute_key' => 'name',
'filter_operator' => 'equal_to',
'values' => [
'en'
],
'query_operator' => 'AND'
],
[
'attribute_key' => 'country_code',
'filter_operator' => 'equal_to',
'values' => [
'us'
],
'query_operator' => null
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-access-token: <api-key>"
],
]);
$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://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter"
payload := strings.NewReader("{\n \"payload\": [\n {\n \"attribute_key\": \"name\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"en\"\n ],\n \"query_operator\": \"AND\"\n },\n {\n \"attribute_key\": \"country_code\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"us\"\n ],\n \"query_operator\": null\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-access-token", "<api-key>")
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.post("https://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter")
.header("api-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payload\": [\n {\n \"attribute_key\": \"name\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"en\"\n ],\n \"query_operator\": \"AND\"\n },\n {\n \"attribute_key\": \"country_code\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"us\"\n ],\n \"query_operator\": null\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payload\": [\n {\n \"attribute_key\": \"name\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"en\"\n ],\n \"query_operator\": \"AND\"\n },\n {\n \"attribute_key\": \"country_code\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"us\"\n ],\n \"query_operator\": null\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"meta": {
"count": 123,
"current_page": "<string>"
},
"payload": [
{
"additional_attributes": {
"city": "<string>",
"country": "<string>",
"country_code": "<string>",
"created_at_ip": "<string>"
},
"email": "<string>",
"id": 123,
"name": "<string>",
"phone_number": "<string>",
"blocked": true,
"identifier": "<string>",
"thumbnail": "<string>",
"custom_attributes": {},
"last_activity_at": 123,
"created_at": 123,
"contact_inboxes": [
{
"source_id": "<string>",
"inbox": {
"id": 123,
"avatar_url": "<string>",
"channel_id": 123,
"name": "<string>",
"channel_type": "<string>",
"provider": "<string>"
}
}
]
}
]
}{
"description": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}Contact Filter
Filter contacts with custom filter options and pagination
curl --request POST \
--url https://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter \
--header 'Content-Type: application/json' \
--header 'api-access-token: <api-key>' \
--data '
{
"payload": [
{
"attribute_key": "name",
"filter_operator": "equal_to",
"values": [
"en"
],
"query_operator": "AND"
},
{
"attribute_key": "country_code",
"filter_operator": "equal_to",
"values": [
"us"
],
"query_operator": null
}
]
}
'import requests
url = "https://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter"
payload = { "payload": [
{
"attribute_key": "name",
"filter_operator": "equal_to",
"values": ["en"],
"query_operator": "AND"
},
{
"attribute_key": "country_code",
"filter_operator": "equal_to",
"values": ["us"],
"query_operator": None
}
] }
headers = {
"api-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payload: [
{
attribute_key: 'name',
filter_operator: 'equal_to',
values: ['en'],
query_operator: 'AND'
},
{
attribute_key: 'country_code',
filter_operator: 'equal_to',
values: ['us'],
query_operator: null
}
]
})
};
fetch('https://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter', 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://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payload' => [
[
'attribute_key' => 'name',
'filter_operator' => 'equal_to',
'values' => [
'en'
],
'query_operator' => 'AND'
],
[
'attribute_key' => 'country_code',
'filter_operator' => 'equal_to',
'values' => [
'us'
],
'query_operator' => null
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-access-token: <api-key>"
],
]);
$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://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter"
payload := strings.NewReader("{\n \"payload\": [\n {\n \"attribute_key\": \"name\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"en\"\n ],\n \"query_operator\": \"AND\"\n },\n {\n \"attribute_key\": \"country_code\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"us\"\n ],\n \"query_operator\": null\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-access-token", "<api-key>")
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.post("https://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter")
.header("api-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payload\": [\n {\n \"attribute_key\": \"name\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"en\"\n ],\n \"query_operator\": \"AND\"\n },\n {\n \"attribute_key\": \"country_code\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"us\"\n ],\n \"query_operator\": null\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://chat.domix.ai/api/v1/accounts/{account_id}/contacts/filter")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payload\": [\n {\n \"attribute_key\": \"name\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"en\"\n ],\n \"query_operator\": \"AND\"\n },\n {\n \"attribute_key\": \"country_code\",\n \"filter_operator\": \"equal_to\",\n \"values\": [\n \"us\"\n ],\n \"query_operator\": null\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"meta": {
"count": 123,
"current_page": "<string>"
},
"payload": [
{
"additional_attributes": {
"city": "<string>",
"country": "<string>",
"country_code": "<string>",
"created_at_ip": "<string>"
},
"email": "<string>",
"id": 123,
"name": "<string>",
"phone_number": "<string>",
"blocked": true,
"identifier": "<string>",
"thumbnail": "<string>",
"custom_attributes": {},
"last_activity_at": 123,
"created_at": 123,
"contact_inboxes": [
{
"source_id": "<string>",
"inbox": {
"id": 123,
"avatar_url": "<string>",
"channel_id": 123,
"name": "<string>",
"channel_type": "<string>",
"provider": "<string>"
}
}
]
}
]
}{
"description": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>",
"code": "<string>"
}
]
}Authorizations
This token can be obtained by visiting the profile page or via rails console. Provides access to endpoints based on the user permissions levels. This token can be saved by an external system when user is created via API, to perform activities on behalf of the user.
Path Parameters
The numeric ID of the account
Query Parameters
Body
Hide child attributes
Hide child attributes
filter attribute name
filter operator name
equal_to, not_equal_to, contains, does_not_contain array of the attribute values to filter
query operator name
AND, OR [ { "attribute_key": "name", "filter_operator": "equal_to", "values": ["en"], "query_operator": "AND" }, { "attribute_key": "country_code", "filter_operator": "equal_to", "values": ["us"], "query_operator": null } ]
Response
Success
List of contacts
Hide child attributes
Hide child attributes
The object containing additional attributes related to the contact
Hide child attributes
Hide child attributes
Availability status of the contact
online, offline The email address of the contact
The ID of the contact
The name of the contact
The phone number of the contact
Whether the contact is blocked
The identifier of the contact
The thumbnail of the contact
The custom attributes of the contact
Timestamp of last activity
Timestamp when contact was created
List of inboxes associated with this contact
Hide child attributes
Hide child attributes
Source identifier for the contact inbox
Hide child attributes
Hide child attributes
ID of the inbox
URL for the inbox avatar
ID of the channel
Name of the inbox
Type of channel
Provider of the inbox