Skip to main content
Required scopes: candidates:read, roles:read, submissions:read
Rate limit: default tier, 120 requests per minute per key
ParaAI matches sent to you: a hiring manager looked at a candidate profile, asked for that specific candidate on a specific role, and Paraform routed the request to you because the candidate is in your CRM. This is a different list from listRecommendedRolesForCandidate, where Paraform’s model suggests roles; here a person asked. Each row carries the hiring manager’s name and their note on why they want the candidate, the role with its pay and your fee, the candidate, and the deadline. A pending match expires 7 days after it is sent (daysUntilExpiry), and unresolved expired matches can pause ParaAI matching for you, so the oldest pending rows are the most urgent. actionBucket says what to do: new means nobody has contacted the candidate, needs_submission means you marked them contacted but have not submitted, expired means the window closed, closed means submitted or passed. status narrows the list: pending (default), expired, dismissed, submitted, or all. Pending matches on closed roles are left out; resolved matches are kept. Rows come back oldest first. A page holds at most 20 matches (limit, default 20). Pass nextCursor back as cursor, with the same status, for the next page; nextCursor is absent on the last page. The cursor marks a position, so acting on a match between pages does not skip or repeat rows. role.feePercent is null when your agency hides payment from its members; agency owners always see it. role.urls.recruit is null until you are approved on the role. When role.company.confidentialSearch is true the search is confidential: candidate-facing copy must refer to the employer as role.company.anonymizedName and must not name the company or quote copy that identifies it. This endpoint is read-only; contacting, passing and submitting happen in the Paraform app.

Query parameters

string
default:"pending"
Which matches to return: pending (default), expired, dismissed, submitted, or all. Allowed values: pending, expired, dismissed, submitted, all.
string
The nextCursor of the previous page, sent back verbatim. Omit for the first page. Constraints: min length 1, max length 2048.
integer
default:"20"
Matches per page, at most 20. A larger value returns 20. Constraints: minimum 1.

Response

object[]
required
string
Absent on the last page. Opaque: send it back verbatim as cursor.