curl --request POST \
--url https://api.getoneprofile.ai/find-leads/tables/{table_id}/search/run/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/find-leads/tables/{table_id}/search/run/"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/find-leads/tables/{table_id}/search/run/', 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.getoneprofile.ai/find-leads/tables/{table_id}/search/run/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/find-leads/tables/{table_id}/search/run/"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.getoneprofile.ai/find-leads/tables/{table_id}/search/run/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/find-leads/tables/{table_id}/search/run/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"rows_created": 123,
"total_matched": 123,
"import_status": "success",
"people_skipped": 0,
"provider_notices": [
"<string>"
],
"rows_not_added": {
"count": 123,
"reason": "found_twice"
},
"rows_wanted": 0,
"run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skip_limit_reached": false
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"error_code": "<string>",
"filter_errors": [
{
"filter": "<string>",
"message": "<string>"
}
],
"message": "<string>",
"retryable": true
}{
"detail": "<string>"
}Run a table's search again
Re-run the persisted search into the same table. Existing rows are matched on the provider’s identifier and update in place; only genuinely new matches add rows. A search saved under filters this API no longer accepts answers 422 against query: open it, fix the filters, and save it again.
curl --request POST \
--url https://api.getoneprofile.ai/find-leads/tables/{table_id}/search/run/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/find-leads/tables/{table_id}/search/run/"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/find-leads/tables/{table_id}/search/run/', 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.getoneprofile.ai/find-leads/tables/{table_id}/search/run/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/find-leads/tables/{table_id}/search/run/"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.getoneprofile.ai/find-leads/tables/{table_id}/search/run/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/find-leads/tables/{table_id}/search/run/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"rows_created": 123,
"total_matched": 123,
"import_status": "success",
"people_skipped": 0,
"provider_notices": [
"<string>"
],
"rows_not_added": {
"count": 123,
"reason": "found_twice"
},
"rows_wanted": 0,
"run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skip_limit_reached": false
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"error_code": "<string>",
"filter_errors": [
{
"filter": "<string>",
"message": "<string>"
}
],
"message": "<string>",
"retryable": true
}{
"detail": "<string>"
}Authorizations
Path Parameters
Query Parameters
The most rows this run may add, and so charge for, however many new matches it finds. Leave it out to add every new match within the search's row limit.
x >= 1Response
Successful Response
What one re-run of a table's search changed.
Rows the request itself added.
running when the request added a first batch and the rest is still being added in the background, so poll the table's search runs for progress; success when every row is in.
running, success, failed People the request left out because another of the workspace's tables already has them. A run that continues in the background goes on skipping them.
What the data source said about the rows the request added, in the words to show beside them; see the create response. A run that continues in the background can add more, and the table's search runs carry every one.
The people the search found that are not rows, and why, once every row is in: found_twice when the people search holds one person under two records, so a new table took them once; already_in_table when a person found was already a row of the table. Null when every person found was added, or while rows are still being added.
Show child attributes
Show child attributes
Rows the import set out to add in all.
The run row recording this import, when the search is persisted.
Whether the search stopped looking after skipping as many people as one search may, so fewer rows may be added than asked for.
Was this page helpful?