talent_network:read, which every agency key carries.
Both endpoints only ever return your own agency’s candidates. A candidate who is in the talent network through a different agency looks exactly like someone who isn’t in the network at all.
List your members
GET /talent-network/candidates returns every candidate your agency has in the network. It’s the same set your team sees on the in-app Talent Network tab, whether they entered by direct submission (directlySubmittedAt is set) or through a role submission (hasRoleSubmission is true).
candidateUserId, name, email, linkedinUrl, and a status:
on_market: ParaAI is actively considering the candidate.daysRemainingcounts down the eligibility window andexpiresAtis when it ends.off_market: still in your network but not being considered.daysRemainingandexpiresAtarenull.
Filters
All filters are optional and combine.?status=on_market&daysRemainingMax=7 is everyone about to fall off the market this week. Only on-market candidates have a daysRemaining, so these combinations return 400 instead of an empty page:
- a days bound together with
status=off_market - a
daysRemainingMingreater thandaysRemainingMax
Paging
PassnextCursor back as cursor until it’s absent (limit defaults to 50, maximum 100). The walk is stable: it visits every candidate that existed when it started exactly once, even while your team keeps submitting. See Pagination.
A candidate is listed through the agency member who owns them, and only while that member is an approved member of your agency. If the owning recruiter is deactivated or leaves, the candidate leaves this list too.
Pre-flight a bulk submit
POST /talent-network/candidates/lookup answers, for up to 500 identities at once, whether each is already in your network.
results is aligned by index with identities. Each result has inNetwork and, when it’s true, candidateUserId, status, and daysRemaining.
- Each identity needs
email,linkedinUrl, or both. When both are given, LinkedIn is matched first and wins, the same rule submission deduplication uses. SoinNetwork: falsemeans a submit would create new work. - Values are never rejected. An unparseable URL or unknown email just answers
inNetwork: false. - Duplicate identities in one request get the same answer.
- In rare cases a stored handle differs from yours only by letter case, and lookup answers
falsefor a candidate a submit would deduplicate. Resubmitting is always safe.
Idempotency-Key.