curl --request POST \
--url https://api.getoneprofile.ai/find-signals/tables/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"table_name": "<string>",
"query": {
"categories": [
"<string>"
],
"countries": [
"<string>"
],
"employees_max": 1,
"employees_min": 1,
"financing_types": [
"<string>"
],
"found_at_from": "2023-12-25",
"found_at_until": "2023-12-25",
"founded_year_max": 2000,
"founded_year_min": 2000,
"industries": [
"<string>"
],
"job_locations": [
"<string>"
],
"job_titles": [
"<string>"
],
"revenue_max": 1,
"revenue_min": 1,
"tags": [
"<string>"
],
"technology": "<string>"
},
"row_limit": 2
}
'import requests
url = "https://api.getoneprofile.ai/find-signals/tables/"
payload = {
"table_name": "<string>",
"query": {
"categories": ["<string>"],
"countries": ["<string>"],
"employees_max": 1,
"employees_min": 1,
"financing_types": ["<string>"],
"found_at_from": "2023-12-25",
"found_at_until": "2023-12-25",
"founded_year_max": 2000,
"founded_year_min": 2000,
"industries": ["<string>"],
"job_locations": ["<string>"],
"job_titles": ["<string>"],
"revenue_max": 1,
"revenue_min": 1,
"tags": ["<string>"],
"technology": "<string>"
},
"row_limit": 2
}
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({
table_name: '<string>',
query: {
categories: ['<string>'],
countries: ['<string>'],
employees_max: 1,
employees_min: 1,
financing_types: ['<string>'],
found_at_from: '2023-12-25',
found_at_until: '2023-12-25',
founded_year_max: 2000,
founded_year_min: 2000,
industries: ['<string>'],
job_locations: ['<string>'],
job_titles: ['<string>'],
revenue_max: 1,
revenue_min: 1,
tags: ['<string>'],
technology: '<string>'
},
row_limit: 2
})
};
fetch('https://api.getoneprofile.ai/find-signals/tables/', 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-signals/tables/",
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([
'table_name' => '<string>',
'query' => [
'categories' => [
'<string>'
],
'countries' => [
'<string>'
],
'employees_max' => 1,
'employees_min' => 1,
'financing_types' => [
'<string>'
],
'found_at_from' => '2023-12-25',
'found_at_until' => '2023-12-25',
'founded_year_max' => 2000,
'founded_year_min' => 2000,
'industries' => [
'<string>'
],
'job_locations' => [
'<string>'
],
'job_titles' => [
'<string>'
],
'revenue_max' => 1,
'revenue_min' => 1,
'tags' => [
'<string>'
],
'technology' => '<string>'
],
'row_limit' => 2
]),
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.getoneprofile.ai/find-signals/tables/"
payload := strings.NewReader("{\n \"table_name\": \"<string>\",\n \"query\": {\n \"categories\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ],\n \"employees_max\": 1,\n \"employees_min\": 1,\n \"financing_types\": [\n \"<string>\"\n ],\n \"found_at_from\": \"2023-12-25\",\n \"found_at_until\": \"2023-12-25\",\n \"founded_year_max\": 2000,\n \"founded_year_min\": 2000,\n \"industries\": [\n \"<string>\"\n ],\n \"job_locations\": [\n \"<string>\"\n ],\n \"job_titles\": [\n \"<string>\"\n ],\n \"revenue_max\": 1,\n \"revenue_min\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": \"<string>\"\n },\n \"row_limit\": 2\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.getoneprofile.ai/find-signals/tables/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"table_name\": \"<string>\",\n \"query\": {\n \"categories\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ],\n \"employees_max\": 1,\n \"employees_min\": 1,\n \"financing_types\": [\n \"<string>\"\n ],\n \"found_at_from\": \"2023-12-25\",\n \"found_at_until\": \"2023-12-25\",\n \"founded_year_max\": 2000,\n \"founded_year_min\": 2000,\n \"industries\": [\n \"<string>\"\n ],\n \"job_locations\": [\n \"<string>\"\n ],\n \"job_titles\": [\n \"<string>\"\n ],\n \"revenue_max\": 1,\n \"revenue_min\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": \"<string>\"\n },\n \"row_limit\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/find-signals/tables/")
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 \"table_name\": \"<string>\",\n \"query\": {\n \"categories\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ],\n \"employees_max\": 1,\n \"employees_min\": 1,\n \"financing_types\": [\n \"<string>\"\n ],\n \"found_at_from\": \"2023-12-25\",\n \"found_at_until\": \"2023-12-25\",\n \"founded_year_max\": 2000,\n \"founded_year_min\": 2000,\n \"industries\": [\n \"<string>\"\n ],\n \"job_locations\": [\n \"<string>\"\n ],\n \"job_titles\": [\n \"<string>\"\n ],\n \"revenue_max\": 1,\n \"revenue_min\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": \"<string>\"\n },\n \"row_limit\": 2\n}"
response = http.request(request)
puts response.read_body{
"rows_created": 123,
"rows_matched": 123,
"table_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"table_name": "<string>",
"technology": {
"id": "<string>",
"name": "<string>"
}
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Create a table from a signal search
Run a signal search and land its companies in a new table, one row per company with the newest matching signal on it. The row count is capped per run and further clamped by the plan’s rows-per-table limit.
curl --request POST \
--url https://api.getoneprofile.ai/find-signals/tables/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"table_name": "<string>",
"query": {
"categories": [
"<string>"
],
"countries": [
"<string>"
],
"employees_max": 1,
"employees_min": 1,
"financing_types": [
"<string>"
],
"found_at_from": "2023-12-25",
"found_at_until": "2023-12-25",
"founded_year_max": 2000,
"founded_year_min": 2000,
"industries": [
"<string>"
],
"job_locations": [
"<string>"
],
"job_titles": [
"<string>"
],
"revenue_max": 1,
"revenue_min": 1,
"tags": [
"<string>"
],
"technology": "<string>"
},
"row_limit": 2
}
'import requests
url = "https://api.getoneprofile.ai/find-signals/tables/"
payload = {
"table_name": "<string>",
"query": {
"categories": ["<string>"],
"countries": ["<string>"],
"employees_max": 1,
"employees_min": 1,
"financing_types": ["<string>"],
"found_at_from": "2023-12-25",
"found_at_until": "2023-12-25",
"founded_year_max": 2000,
"founded_year_min": 2000,
"industries": ["<string>"],
"job_locations": ["<string>"],
"job_titles": ["<string>"],
"revenue_max": 1,
"revenue_min": 1,
"tags": ["<string>"],
"technology": "<string>"
},
"row_limit": 2
}
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({
table_name: '<string>',
query: {
categories: ['<string>'],
countries: ['<string>'],
employees_max: 1,
employees_min: 1,
financing_types: ['<string>'],
found_at_from: '2023-12-25',
found_at_until: '2023-12-25',
founded_year_max: 2000,
founded_year_min: 2000,
industries: ['<string>'],
job_locations: ['<string>'],
job_titles: ['<string>'],
revenue_max: 1,
revenue_min: 1,
tags: ['<string>'],
technology: '<string>'
},
row_limit: 2
})
};
fetch('https://api.getoneprofile.ai/find-signals/tables/', 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-signals/tables/",
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([
'table_name' => '<string>',
'query' => [
'categories' => [
'<string>'
],
'countries' => [
'<string>'
],
'employees_max' => 1,
'employees_min' => 1,
'financing_types' => [
'<string>'
],
'found_at_from' => '2023-12-25',
'found_at_until' => '2023-12-25',
'founded_year_max' => 2000,
'founded_year_min' => 2000,
'industries' => [
'<string>'
],
'job_locations' => [
'<string>'
],
'job_titles' => [
'<string>'
],
'revenue_max' => 1,
'revenue_min' => 1,
'tags' => [
'<string>'
],
'technology' => '<string>'
],
'row_limit' => 2
]),
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.getoneprofile.ai/find-signals/tables/"
payload := strings.NewReader("{\n \"table_name\": \"<string>\",\n \"query\": {\n \"categories\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ],\n \"employees_max\": 1,\n \"employees_min\": 1,\n \"financing_types\": [\n \"<string>\"\n ],\n \"found_at_from\": \"2023-12-25\",\n \"found_at_until\": \"2023-12-25\",\n \"founded_year_max\": 2000,\n \"founded_year_min\": 2000,\n \"industries\": [\n \"<string>\"\n ],\n \"job_locations\": [\n \"<string>\"\n ],\n \"job_titles\": [\n \"<string>\"\n ],\n \"revenue_max\": 1,\n \"revenue_min\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": \"<string>\"\n },\n \"row_limit\": 2\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.getoneprofile.ai/find-signals/tables/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"table_name\": \"<string>\",\n \"query\": {\n \"categories\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ],\n \"employees_max\": 1,\n \"employees_min\": 1,\n \"financing_types\": [\n \"<string>\"\n ],\n \"found_at_from\": \"2023-12-25\",\n \"found_at_until\": \"2023-12-25\",\n \"founded_year_max\": 2000,\n \"founded_year_min\": 2000,\n \"industries\": [\n \"<string>\"\n ],\n \"job_locations\": [\n \"<string>\"\n ],\n \"job_titles\": [\n \"<string>\"\n ],\n \"revenue_max\": 1,\n \"revenue_min\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": \"<string>\"\n },\n \"row_limit\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/find-signals/tables/")
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 \"table_name\": \"<string>\",\n \"query\": {\n \"categories\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ],\n \"employees_max\": 1,\n \"employees_min\": 1,\n \"financing_types\": [\n \"<string>\"\n ],\n \"found_at_from\": \"2023-12-25\",\n \"found_at_until\": \"2023-12-25\",\n \"founded_year_max\": 2000,\n \"founded_year_min\": 2000,\n \"industries\": [\n \"<string>\"\n ],\n \"job_locations\": [\n \"<string>\"\n ],\n \"job_titles\": [\n \"<string>\"\n ],\n \"revenue_max\": 1,\n \"revenue_min\": 1,\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": \"<string>\"\n },\n \"row_limit\": 2\n}"
response = http.request(request)
puts response.read_body{
"rows_created": 123,
"rows_matched": 123,
"table_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"table_name": "<string>",
"technology": {
"id": "<string>",
"name": "<string>"
}
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Body
Run a signal search and land it in a new table.
Which buying signal a search is looking for.
Each member names one discovery question the provider can answer, and each maps to exactly one upstream endpoint. The last two are firmographic rather than event-shaped — they find companies by what they ARE rather than by what they DID — and are kept in the same enum because they land the same company rows through the same machinery.
hiring, news, technology, portfolio_companies, financing, products, firmographics, extended_firmographics 1 - 255Every filter any signal type can take.
ONE schema for all eight types, mirroring the domain's single query dataclass. Which of these a given signal type actually accepts is decided by the domain's per-type allow-list, and a filter the type cannot use is REJECTED with a 422 naming it — never quietly dropped.
An empty query is valid here. Discovery is bounded by the row cap rather than by the filters, so "the companies that most recently raised" is a legitimate search.
Show child attributes
Show child attributes
Company rows to land. Clamped by the product's own ceiling and by the plan's rows-per-table limit; null uses the product default.
x >= 1Response
Successful Response
The table a signal search was turned into.
Companies the search returned. Larger than rows_created when some of them were already in the table.
The provider's own entry for the technology that was searched.
Show child attributes
Show child attributes
Was this page helpful?