Skip to main content
Required scopes: candidates:read
Rate limit: default tier, 120 requests per minute per key
The candidates the calling recruiter owns in their Paraform CRM. An agency owner, or a member of an agency that shares candidates between members, sees more candidates in the app than this endpoint returns. Only your own candidates are ever returned; there is no parameter for reading another recruiter’s CRM, so never ask the user for an id. Filters are optional and combine with AND. query is a free-text search across the candidate’s name, headline, location and employer names, so use it for location questions too. tags and relationshipStatus match ANY of the values given; pass a filter more than once to send several values. furthestStatus is the furthest pipeline status any of the candidate’s applications reached (SUBMITTED, INTERVIEWING, OFFER, HIRED and so on), null for a candidate you have never submitted. relationshipStatus is your working relationship with them, separate from any application. Rows come newest first. When query is set, candidates whose name matches it come first, then the rest, newest first within each group. A page holds at most 50 candidates (limit, default 20). Pass nextCursor back as cursor for the next page. Hidden and archived candidates are left out.

Query parameters

string
Constraints: min length 1.
integer | null
default:"0"
Constraints: minimum 0.
integer
default:"20"
Constraints: minimum 1.
string | string[]
string | string[]
Allowed values: SOURCED, CONTACTED, REPLIED, SCHEDULED_CALL, SCREENED, ACTIVE, STAY_IN_TOUCH, BACKBURNER.

Response

object[]
required
number