List applicants awaiting your invite decision
Applicants who passed screening and are waiting on your decision to invite them.
They are deliberately absent from GET /opportunities/{opportunityId}/submissions: an applicant
here has not been invited yet, so they hold no submission status, and GET /submissions/{id}
returns 404 for them. This collection is where they exist until you decide.
Act on one with POST /submissions/{submissionId}/invite or /decline. Inviting makes them
screen_passed and starts their tasks; declining makes them screened_out. Either way they
leave this collection and appear in the submissions listing from then on.
An opportunity on manual_review routes every qualified applicant here. One on auto_invite
still routes an individual applicant here when a screening answer you marked review flags
them, so poll this even when you did not opt into reviewing everyone.
Authorization
apiKey API key as Bearer token: Authorization: Bearer
In: header
Path Parameters
Query Parameters
251 <= value <= 100Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://terac.com/api/external/v2/opportunities/string/applicants"{
"data": [
{
"id": "string",
"opportunity_id": "string",
"participant_id": "string",
"screening_outcome": "passed",
"screening_answers": [
{
"key": "string",
"question": "string",
"answer": [
"string"
],
"outcome": "qualify"
}
],
"created_at": "string",
"updated_at": "string"
}
],
"pagination": {
"next_cursor": "string",
"has_more": true
},
"dashboard_url": "string"
}{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}List submissions for an opportunity GET
Lists an opportunity's submissions, newest first, each with its status and screening answers. Filter to one `status`; the `awaiting_review` ones wait on you to approve or reject them. Applicants still in the screener, or waiting on your invite decision, are not listed; the latter are in `GET /opportunities/{opportunityId}/applicants`. Returns up to `limit` per page; while `pagination.has_more` is true, pass `pagination.next_cursor` back as `cursor` for the next page. For totals, read `submission_stats` on the opportunity rather than counting pages.
Get submission details GET
Returns one submission with its status, screening answers and per-task progress. An applicant still in the screener, or waiting on your invite decision, returns 404 here; the latter are listed in `GET /opportunities/{opportunityId}/applicants`.