Skip to main content
POST
Create a new hire signal

Authorizations

Authorization
string
header
required

Account API key passed in the Authorization header

Query Parameters

account_id
string

Target account UUID. Required for staff callers; ignored for customer API keys.

Body

application/json
name
string
required

Short label, unique in the account. Name it after the hire it watches, e.g. 'New RevOps leaders'.

Minimum string length: 1
canonical_job_title_ids
string[] | null

Canonical job-title UUIDs, at most 50. A union with job_titles_includes, and it also counts as naming the role.

Maximum array length: 50
company_headcounts
string[] | null

Size bands of the NEW employer, as LinkedIn letter codes: A (self-employed), B (1-10), C (11-50), D (51-200), E (201-500), F (501-1,000), G (1,001-5,000), H (5,001-10,000), I (10,001+).

company_hq_countries
string[] | null

Two-letter country codes where the NEW employer is headquartered.

company_linkedin_ids
string[] | null

Numeric LinkedIn company IDs, at most 100: watch hires INTO these companies only. Omit to watch hires anywhere.

Maximum array length: 100
countries
string[] | null

Two-letter country codes narrowing a persona that names no country of its own: where the PERSON is.

industry_ids
string[] | null

Industry UUIDs the new employer has to be in, at most 25.

Maximum array length: 25
is_enabled
boolean

Defaults to true.

job_titles_excludes
string[] | null

Job titles to drop, at most 50. Narrows the lane; never names it.

Maximum array length: 50
job_titles_includes
string[] | null

Job titles to watch, stated directly, at most 50. Either this or persona_ids has to name the role.

Maximum array length: 50
location_geo_ids
string[] | null

LinkedIn geo IDs where the PERSON is, at most 25: a region, city or metro a country code cannot express.

Maximum array length: 25
max_profiles_per_sweep
integer<int32>

Profiles read per persona per sweep. Defaults to 100. The cost dial: each profile read costs one credit.

Required range: 1 <= x <= 500
persona_ids
string[] | null

The roles a new hire has to match, at most 20. Required unless job_titles_includes or canonical_job_title_ids names the role instead.

Maximum array length: 20
seniority_levels
string[] | null

Seniority levels to keep: In Training, Entry Level, Senior, Strategic, Entry Level Manager, Experienced Manager, Vice President, Director, CXO, Owner / Partner. Read from the title after results come back, so it narrows who is kept, not who is paid for.

Response

OK

id
string
required
is_enabled
boolean
required
kind
string
required

The kind, as List signals reports it and as a lead generation run takes it.

name
string
required
used_by_program_count
integer<int64>
required

Always 0 on creation: a signal runs only when a lead generation program picks it.