Skip to main content
POST
Create a job posting 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
description
string

DESCRIBED path: your own sentence or paragraph about what the signal should catch, with context on why it matters. An AI drafts the whole definition from it, and the response carries its notes. Pass this alone, or kind and filters instead.

filters
any

EXPLICIT path: the provider's search block as an object: company facets at the top level (company_country_code_or, industry_id_or, min_employee_count_or_null, ...), plus nested job_filters (job_title_or, job_title_pattern_or, job_country_code_or, job_description_contains_or, ...) and tech_filters (technology_slug_or, technology_category_slug_or, ...). An unknown key is a 422 listing the valid ones, never a silently dropped filter.

is_enabled
boolean

Defaults to true.

kind
enum<string>

EXPLICIT path: immutable once created, it decides which filters the signal may carry. technology catches adoption; hiring_role catches a role being hired; use_case_analysis has an AI read each posting against use_cases.

Available options:
technology,
hiring_role,
use_case_analysis
max_postings_analyzed
integer<int32>

use_case_analysis only: how many postings per company the AI reads. Defaults to 10.

Required range: 1 <= x <= 50
name
string

Label for the signal, unique in the account. Optional on the described path (the drafter names it); required on the explicit path.

persona_ids
string[] | null

hiring_role only, at most 20. Referenced rather than copied, so editing a persona changes what the signal matches.

Maximum array length: 20
use_cases
object[] | null

use_case_analysis only, one to ten: the questions the AI answers over each posting.

Maximum array length: 10

Response

OK

id
string
required
is_enabled
boolean
required
job_posting_kind
string
required

technology, hiring_role or use_case_analysis.

kind
string
required

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

name
string
required
notes
string[] | null
required

DESCRIBED path: the drafter's assumptions and anything it could not resolve. Read them: a signal drafted on a wrong assumption searches for the wrong thing quietly. Empty on the explicit path.

use_cases
string[] | null
required

The use-case names the definition carries.

used_by_program_count
integer<int64>
required

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