Add Exclusions
curl --request POST \
--url https://gateway.firsttouch.ai/api/public/tools/add_exclusions \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"contacts": null,
"companies": null,
"crmSegments": null
}
'import requests
url = "https://gateway.firsttouch.ai/api/public/tools/add_exclusions"
payload = {
"contacts": None,
"companies": None,
"crmSegments": None
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({contacts: null, companies: null, crmSegments: null})
};
fetch('https://gateway.firsttouch.ai/api/public/tools/add_exclusions', 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://gateway.firsttouch.ai/api/public/tools/add_exclusions",
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([
'contacts' => null,
'companies' => null,
'crmSegments' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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://gateway.firsttouch.ai/api/public/tools/add_exclusions"
payload := strings.NewReader("{\n \"contacts\": null,\n \"companies\": null,\n \"crmSegments\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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://gateway.firsttouch.ai/api/public/tools/add_exclusions")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"contacts\": null,\n \"companies\": null,\n \"crmSegments\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway.firsttouch.ai/api/public/tools/add_exclusions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"contacts\": null,\n \"companies\": null,\n \"crmSegments\": null\n}"
response = http.request(request)
puts response.read_body{
"summary": "<string>",
"contacts": [
"<string>"
],
"companies": [
"<string>"
],
"crmSegments": [
{
"id": 123,
"name": "<string>",
"type": "<string>",
"active": true,
"rowsIncluded": 123,
"syncStatus": "<string>",
"lastSyncStarted": "2023-11-07T05:31:56Z",
"lastSyncCompleted": "2023-11-07T05:31:56Z"
}
]
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}Contact Data & Enrichment
Add Exclusions
Requires team owner/admin access.
Detailed usage guidance
- Adds contact email exclusions, company domain exclusions, and/or connected CRM exclusion segments.
- contacts accepts only email addresses; companies accepts only domains; crmSegments accepts numeric connected-segment ids.
- Before making changes, the tool verifies that every segment exists, is accessible, and has a supported type.
- Validation reports the zero-based array indexes of every invalid item so the input can be corrected and retried.
- The complete mixed mutation is atomic: if any contact, company, or segment cannot be applied, none of the requested changes are committed.
- For CSV input, parse email rows into contacts and domain rows into companies.
- Up to 1000 contact and company values combined and up to 10 segment ids may be submitted per call, so split larger files into batches.
POST
/
api
/
public
/
tools
/
add_exclusions
Add Exclusions
curl --request POST \
--url https://gateway.firsttouch.ai/api/public/tools/add_exclusions \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"contacts": null,
"companies": null,
"crmSegments": null
}
'import requests
url = "https://gateway.firsttouch.ai/api/public/tools/add_exclusions"
payload = {
"contacts": None,
"companies": None,
"crmSegments": None
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({contacts: null, companies: null, crmSegments: null})
};
fetch('https://gateway.firsttouch.ai/api/public/tools/add_exclusions', 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://gateway.firsttouch.ai/api/public/tools/add_exclusions",
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([
'contacts' => null,
'companies' => null,
'crmSegments' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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://gateway.firsttouch.ai/api/public/tools/add_exclusions"
payload := strings.NewReader("{\n \"contacts\": null,\n \"companies\": null,\n \"crmSegments\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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://gateway.firsttouch.ai/api/public/tools/add_exclusions")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"contacts\": null,\n \"companies\": null,\n \"crmSegments\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway.firsttouch.ai/api/public/tools/add_exclusions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"contacts\": null,\n \"companies\": null,\n \"crmSegments\": null\n}"
response = http.request(request)
puts response.read_body{
"summary": "<string>",
"contacts": [
"<string>"
],
"companies": [
"<string>"
],
"crmSegments": [
{
"id": 123,
"name": "<string>",
"type": "<string>",
"active": true,
"rowsIncluded": 123,
"syncStatus": "<string>",
"lastSyncStarted": "2023-11-07T05:31:56Z",
"lastSyncCompleted": "2023-11-07T05:31:56Z"
}
]
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}{
"error": "<string>",
"message": "<string>",
"traceId": "<string>"
}Authorizations
Body
application/json
Contact email addresses to exclude. Do not provide domains in this array.
Company domains to exclude. Do not provide email addresses in this array.
Numeric ids of connected CRM segments to add as exclusion sources.