Add Lead to Campaing-Blocklist
curl --request POST \
--url https://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"publicIdentifiers": [
"<string>"
]
}
'import requests
url = "https://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads"
payload = { "publicIdentifiers": ["<string>"] }
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({publicIdentifiers: ['<string>']})
};
fetch('https://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads', 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://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads",
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([
'publicIdentifiers' => [
'<string>'
]
]),
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://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads"
payload := strings.NewReader("{\n \"publicIdentifiers\": [\n \"<string>\"\n ]\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://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"publicIdentifiers\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads")
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 \"publicIdentifiers\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"blocked": 123
}{
"statusCode": 123,
"message": "<string>"
}{
"statusCode": 123,
"message": "<string>"
}Leads
Add Lead to Campaing-Blocklist
Blocks specific contacts in a campaign using their LinkedIn public identifiers. Once blocked, these leads will not receive any messages from the campaign.
POST
/
v1
/
campaigns
/
{campaignId}
/
blocked-leads
Add Lead to Campaing-Blocklist
curl --request POST \
--url https://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"publicIdentifiers": [
"<string>"
]
}
'import requests
url = "https://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads"
payload = { "publicIdentifiers": ["<string>"] }
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({publicIdentifiers: ['<string>']})
};
fetch('https://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads', 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://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads",
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([
'publicIdentifiers' => [
'<string>'
]
]),
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://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads"
payload := strings.NewReader("{\n \"publicIdentifiers\": [\n \"<string>\"\n ]\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://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"publicIdentifiers\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app-api.walead.ai/api/v1/campaigns/{campaignId}/blocked-leads")
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 \"publicIdentifiers\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"blocked": 123
}{
"statusCode": 123,
"message": "<string>"
}{
"statusCode": 123,
"message": "<string>"
}Overview
Blocks specific contacts in a campaign using their LinkedIn public identifiers. Once blocked, these leads will not receive any messages from the campaign.License Requirement: This endpoint requires a Pro or Agency license to use.
Use Cases
- Prevent Outreach: Block specific LinkedIn profiles from receiving campaign messages
- Compliance: Exclude contacts who have requested not to be contacted
- Quality Control: Remove leads that don’t match your targeting criteria
Authentication
All requests require an API key passed in thex-api-key header. You can generate your API key from the WaLead dashboard.
Example Request
curl -X POST https://app-api.walead.ai/api/v1/campaigns/CAMPAIGN_ID/blocked-leads \
-H "x-api-key: YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"publicIdentifiers": [
"john-doe",
"jane-smith"
]
}'
Request Details
This endpoint requires an API key for authentication and accepts an array of LinkedIn public identifiers to block.Public Identifiers
ThepublicIdentifiers field should contain LinkedIn profile identifiers (the username part of a LinkedIn URL). For example, from linkedin.com/in/john-doe, the public identifier would be john-doe.
Important Notes
- License Required: Pro or Agency license is required to use this endpoint
- The
publicIdentifiersarray is required and must not be empty - You can block multiple leads in a single request
- Blocked leads will be excluded from all campaign activities
- This is a public route that requires API key authentication
Authorizations
API key for authentication. Generate from your WaLead dashboard.
Path Parameters
Campaign ID
Body
application/json
Public identifiers of leads to block
Array of LinkedIn public identifiers to block (e.g., 'john-doe' from linkedin.com/in/john-doe)