Create Radar
Persistent monitoring config that captures matching signals and leads over time.
Endpoint
POST /api/v1/radar/createAuthentication
All requests require the X-Satellyte-API-Key header. See Quickstart.
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
name | string | No | Radar name. Generated if absent. |
titles | string[] | No | Target titles. Maximum 50 values. |
industries | string[] | No | Target LinkedIn industries. Use values from the Satellyte LinkedIn industry taxonomy. Maximum 50 values. |
location | string | No | Single target location. Merged into geos. |
locations | string[] | No | Multiple target locations. Merged into geos. Maximum 50 values. |
geos | string[] | No | Target geographies. Alias-compatible with location and locations. Maximum 50 values. |
signals_to_track | string[] | No | Signal categories to track, for example hiring, funding, or techstack. Maximum 20 values. |
company_size_min | number | No | Minimum employee count. Must be at least 1. Defaults to 1. |
company_size_max | number | No | Maximum employee count. Must be at least 1. Defaults to 10000. |
pain_keywords | string[] | No | Pain-point keywords to match. Maximum 50 values. |
category_keywords | string[] | No | Category keywords to match. Maximum 50 values. |
competitor_urls | string[] | No | Competitor URLs to track. Maximum 50 values. |
influencer_urls | string[] | No | Influencer URLs to track. Maximum 50 values. |
exclude_keywords | string[] | No | Keywords to exclude from matching. Maximum 50 values. |
company_types | string[] | No | Company type filters. Maximum 20 values. |
company_linkedin_url | string | No | Company LinkedIn URL used for company-based targeting. |
your_profile_url | string | No | LinkedIn profile URL used for profile visitor tracking. |
track_profile_visitors | boolean | No | Whether to track profile visitors. Defaults to false. |
company_followers_url | string | No | Company followers URL used for follower-based targeting. |
raised_funds | boolean | No | Whether to track raised-funds signals. Defaults to true when signals_to_track includes funding. |
recent_job_changes | boolean | No | Whether to track recent job-change signals. Defaults to true when signals_to_track includes job_change. |
job_posting_keywords | string[] | No | Job posting keywords. Defaults to ["hiring"] when signals_to_track includes hiring and no job posting keywords are provided. |
At least one radar config filter must be provided so the radar has something to match against.
cURL
curl -i -X POST "https://api-staging.satellyte.ai/api/v1/radar/create" \
-H "X-Satellyte-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Retail Expansion Watch",
"titles": ["Founder", "CEO", "Head of Sales"],
"industries": [
"Skiing Facilities",
"Retail Apparel and Fashion",
"Photography"
],
"location": "Singapore",
"locations": ["Singapore", "United States"],
"geos": ["Singapore", "United States"],
"signals_to_track": ["hiring", "funding", "techstack"],
"company_size_min": 11,
"company_size_max": 500,
"pain_keywords": ["manual prospecting", "low conversion"],
"category_keywords": ["sales automation", "revenue intelligence"],
"competitor_urls": ["https://www.linkedin.com/company/example-competitor"],
"influencer_urls": ["https://www.linkedin.com/in/example-influencer"],
"exclude_keywords": ["agency", "student"],
"company_types": ["startup", "enterprise"],
"company_linkedin_url": "https://www.linkedin.com/company/example-company",
"your_profile_url": "https://www.linkedin.com/in/example-user",
"track_profile_visitors": true,
"company_followers_url": "https://www.linkedin.com/company/example-company/people",
"raised_funds": true,
"recent_job_changes": true,
"job_posting_keywords": ["hiring", "sales", "partnerships"]
}'Response (200)
{
"data": {
"radar_id": "nJBj9azouTmbmiOY1x3Cn"
}
}Response fields
| Field | Type | Notes |
|---|---|---|
radar_id | string | Opaque ID. Pass this to /radar/{id}/signals and /radar/{id}/leads. |
Error responses
All failed calls use the standard error envelope documented in Errors.
| Status | Code | Notes |
|---|---|---|
400 | validation_error | Returned when the request body is invalid or no radar config filter is provided. |
401 | unauthorized | Returned when X-Satellyte-API-Key is missing, invalid, or expired. |
404 | not_found | Returned when Public API access is not enabled or the requested Public API resource is unavailable. |
429 | rate_limit_exceeded | Returned when the API key exceeds its configured rate limit. |
500 | service_error | Returned when the service cannot complete the request. Retry with backoff. |