Skip to main content
GET
Lists the proposals on one of your jobs, newest first — each with the candidate’s bid, AI-interview score, and a privacy-safe candidate summary. This is the entry point of the candidate evaluation flow: list here, then drill into GET /proposals/{id} and the interview transcript. Candidate identity is masked pre-hire: first name + last initial, no contact details. Personal emails are never exposed at any stage — see privacy. Requirements: proposals:read scope. The job must be yours (403 otherwise). Works pre-claim.

Request

id
string
required
Your job’s ID.
status
string
Filter by proposal status: UNREVIEWED, SHORTLISTED, MAYBE, HIRED, DECLINED, NOT_A_FIT, or RESUME_SENT. Case-insensitive; spaces and hyphens are normalized to underscores. Invalid values return 400 with details.supportedStatuses.
limit
number
default:"25"
Page size, max 100. Below 1 → 400.
cursor
string
Pagination cursor (a proposal ID) from a previous response’s nextCursor.

Response

proposals
object[]
Proposals ordered by creation date, newest first.
nextCursor
string | null
Pass back as cursor for the next page; null at the end.

Errors