DEVELOPER DOCUMENTATION
List Job Proposals
List proposals submitted to a job you own, with bids, AI-interview scores, and candidate summaries.
/api/public/v1/jobs/{id}/proposalsLists 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
Section titled “Request”idstringpathrequiredYour job’s ID.
statusstringqueryFilter 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.
limitnumberquery25Page size, max 100. Below 1 → 400.
cursorstringqueryPagination cursor (a proposal ID) from a previous response’s nextCursor.
Response
Section titled “Response”proposalsobject[]Proposals ordered by creation date, newest first.
nextCursorstring | nullPass back as cursor for the next page; null at the end.
Errors
Section titled “Errors”| Status | code | Meaning |
|---|---|---|
400 | BAD_REQUEST | Invalid status (details.supportedStatuses) or limit below 1 |
401 | UNAUTHORIZED | Missing or invalid token |
403 | FORBIDDEN | Missing proposals:read scope, or the job belongs to another account |
404 | NOT_FOUND | No such job |