curl --request POST \
--url https://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"listId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userUrls": [
"<string>"
],
"moveOwnDuplicated": true,
"shouldBeDeletedIfInactive": true
}
'import requests
url = "https://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list"
payload = {
"listId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userUrls": ["<string>"],
"moveOwnDuplicated": True,
"shouldBeDeletedIfInactive": True
}
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({
listId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
userUrls: ['<string>'],
moveOwnDuplicated: true,
shouldBeDeletedIfInactive: true
})
};
fetch('https://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list', 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.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list",
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([
'listId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'userUrls' => [
'<string>'
],
'moveOwnDuplicated' => true,
'shouldBeDeletedIfInactive' => true
]),
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://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list"
payload := strings.NewReader("{\n \"listId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userUrls\": [\n \"<string>\"\n ],\n \"moveOwnDuplicated\": true,\n \"shouldBeDeletedIfInactive\": true\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://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"listId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userUrls\": [\n \"<string>\"\n ],\n \"moveOwnDuplicated\": true,\n \"shouldBeDeletedIfInactive\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list")
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 \"listId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userUrls\": [\n \"<string>\"\n ],\n \"moveOwnDuplicated\": true,\n \"shouldBeDeletedIfInactive\": true\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"listId": "cf33282b-b171-4d23-ae02-848499d793e4",
"submittedUrls": [
"<string>"
],
"validationRejectedUrls": [
"<string>"
],
"existedUrlsMap": {},
"outOfLimitUrls": [
"<string>"
],
"totalUrlsLimit": 123
},
"message": "Operation completed successfully"
}{
"status": "error",
"data": null,
"message": "An error occurred while processing the request"
}Add LinkedIn profile URLs to an existing prospect list
Adds LinkedIn profile URLs to an existing prospect list. Same validation and duplicate rules as create-list. The response describes which URLs were accepted, rejected, or skipped as duplicates.
curl --request POST \
--url https://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"listId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userUrls": [
"<string>"
],
"moveOwnDuplicated": true,
"shouldBeDeletedIfInactive": true
}
'import requests
url = "https://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list"
payload = {
"listId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userUrls": ["<string>"],
"moveOwnDuplicated": True,
"shouldBeDeletedIfInactive": True
}
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({
listId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
userUrls: ['<string>'],
moveOwnDuplicated: true,
shouldBeDeletedIfInactive: true
})
};
fetch('https://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list', 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.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list",
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([
'listId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'userUrls' => [
'<string>'
],
'moveOwnDuplicated' => true,
'shouldBeDeletedIfInactive' => true
]),
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://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list"
payload := strings.NewReader("{\n \"listId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userUrls\": [\n \"<string>\"\n ],\n \"moveOwnDuplicated\": true,\n \"shouldBeDeletedIfInactive\": true\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://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"listId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userUrls\": [\n \"<string>\"\n ],\n \"moveOwnDuplicated\": true,\n \"shouldBeDeletedIfInactive\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.goextrovert.com/client/v2/prospect-list/{id}/add-users-to-list")
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 \"listId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userUrls\": [\n \"<string>\"\n ],\n \"moveOwnDuplicated\": true,\n \"shouldBeDeletedIfInactive\": true\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"listId": "cf33282b-b171-4d23-ae02-848499d793e4",
"submittedUrls": [
"<string>"
],
"validationRejectedUrls": [
"<string>"
],
"existedUrlsMap": {},
"outOfLimitUrls": [
"<string>"
],
"totalUrlsLimit": 123
},
"message": "Operation completed successfully"
}{
"status": "error",
"data": null,
"message": "An error occurred while processing the request"
}Authorizations
API Key for authentication
Path Parameters
Body
URL admission precedes asynchronous profile verification. Check submittedUrls, validationRejectedUrls, existedUrlsMap and outOfLimitUrls. With at least one accepted URL, partial success is returned; if none are accepted, including a wholly out-of-capacity batch, the default flow fails rather than returning empty success.
Prospect list id to add URLs to.
LinkedIn profile URLs to add.
1 - 1000 elements1For an active duplicate owned by the destination campaign owner, true moves the existing prospect record into this list and false skips it into existedUrlsMap. Same-list duplicates are skipped silently; deleted same-owner records are reactivated. Teammate duplicates are searched and skipped only when the destination campaign has skipTeammatesLeads enabled; this is not global team-wide deduplication.
If true, auto-remove prospects who have no posts on LinkedIn within the last 30 days (checked once, when the backend first pulls their posts). If false, keep them regardless of recent posting activity.