Skip to main content
POST
Create a person discovery via filters agent

Authorizations

Authorization
string
header
required

Your API token (af_…) as the Basic-auth username, with an empty password.

Body

application/json
listName
string
required

Name for BOTH the agent and the results list it creates. Must be unique across your agents: a name already in use is rejected with 409 LIST_NAME_TAKEN.

start
boolean
default:false

true creates AND activates the agent (spends credits); false (default) saves a draft to activate later.

regions
string[]

Where the person is located, as a LinkedIn geography: either a country ("United States") or a sub-national area ("California, United States"). Use exact values from GET /business/agents/autocomplete?field=region. The upstream stores the string as sent and never checks it against a list, so any other value is accepted, the create still answers 201, and the agent then silently matches nothing. Multiple regions are OR-joined (a person in any of them matches) and there is no cap.

industries
string[]

Industry the person works in. Use exact values from GET /business/agents/autocomplete?field=industry (for example "Software Development", "Financial Services"). Any other wording is first resolved to the closest supported LinkedIn industry ("tech" becomes "Technology, Information and Internet"), and a value with no match is dropped rather than rejected, so the filter silently widens instead of failing. Multiple industries are OR-joined (a person in any of them matches) and there is no cap.

currentCompany
string[]

Current employer of the people to discover, as a company NAME or DOMAIN, for example ["Google"] or ["google.com"]. Free text resolved by the provider, so a name it cannot resolve is accepted, the create still answers 201, and the agent then silently matches nothing; a domain is the unambiguous form. Multiple values are OR-joined (a person at any of them matches) and there is no cap.

pastCompany
string[]

Past employer of the people to discover, as a company NAME or DOMAIN, for example ["Google"] or ["google.com"]. Free text resolved by the provider, so a name it cannot resolve is accepted, the create still answers 201, and the agent then silently matches nothing; a domain is the unambiguous form. Multiple values are OR-joined (a person who worked at any of them matches) and there is no cap.

currentTitle
string[]

Current job title of the people to discover. Use exact values from GET /business/agents/autocomplete?field=title (for example "Vice President of Sales", "CEO"). The upstream stores the string as sent and never checks it against a list, so any other value is accepted, the create still answers 201, and the agent then silently matches nothing. Multiple titles are OR-joined (a person holding any of them matches) and there is no cap.

pastTitle
string[]

A job title anywhere in the person's PAST work history. Use exact values from GET /business/agents/autocomplete?field=title (for example "Vice President of Sales", "CEO"). The upstream stores the string as sent and never checks it against a list, so any other value is accepted, the create still answers 201, and the agent then silently matches nothing. Multiple titles are OR-joined (a person who held any of them matches) and there is no cap.

companyHeadcount
string[]

Size of the person's current employer, as a headcount bucket. Use one of exactly: 1-10, 11-50, 51-200, 201-500, 501-1,000, 1,001-5,000, 5,001-10,000, 10,001+ (the commas and the exact spacing are part of the value: "500-1000" is not a bucket). The upstream stores the string as sent and never checks it against a list, so any other value is accepted, the create still answers 201, and the agent then silently matches nothing. Multiple buckets are OR-joined (a person whose employer is in any listed band matches) and there is no cap.

companyCountries
string[]

Headquarters country of the person's current employer. Accepted values are full English country names, for example "United States", "United Kingdom", "Germany" — the vocabulary the app's own agent form sends for this filter. ISO codes such as "US" are not country names and match nothing, and no lookup endpoint serves this vocabulary: the agents autocomplete has no country field, and its region field returns LinkedIn geographies that include sub-national areas such as "California, United States", which are not country names. Nothing is checked against a list upstream, so an unrecognised value is accepted, the create still answers 201, and the agent then silently matches nothing. Multiple countries are OR-joined (a person whose employer sits in any of them matches) and there is no cap.

expirationDate
string | null

Date the agent stops running, as YYYY-MM-DD (for example "2026-12-31"), and in the future. Pass null to run until you pause or delete it; omit it for the default of one month from creation.

maxContacts
integer

Cap on the total number of results this agent delivers into its list. Omit for no cap.

maxCreditSpend
integer

Maximum credits this agent may spend in a single run or refresh (1000 to 200000); delivery-driven monitors stop once their total delivered results reach it. Omit for no limit.

Required range: 1000 <= x <= 200000
notificationCount
integer

Maximum results the agent may deliver in a single run. Must be a positive multiple of 50.

enrichPhone
boolean
default:false

Also enrich every delivered contact with a phone number. Costs additional credits per contact enriched.

enrichEmail
boolean
default:false

Also enrich every delivered contact with a work email address. Costs additional credits per contact enriched.

Response

Success

agent
object
required