Create a reinterview
Create a new interview attempt for a candidate who needs another session. Unlike resend, this prepares a new interview and uses the current assigned version and allowance.
Before you call
Use the previous interview ID, a fresh quote for the same report, invitation details, and a new Idempotency-Key. An in-progress session cannot be replaced.
Required scope: interviews:write.
What happens next
Save the newly returned interviewId. Previous public results remain tied to the old attempt. Old invitation links cannot enter the replacement session.
Recovery
Check the old lifecycle before replacing it. Retry identical requests after timeouts; requote with a new key if configuration has changed. Do not use reinterview merely to resend an email.
Follow the complete workflow · Errors and retries
ApiKeyAuthorizationBearer <token>id*stringResource ID returned by this resource's creation or list endpoint. See prerequisites for whether this is a report, interview, job, or batch ID.
1 <= length <= 100Idempotency-Key*stringStable key for one logical write. Retry the identical body with the same key after a timeout; a changed body conflicts. 1–128 letters, digits, dots, underscores, colons, or hyphens.
^[A-Za-z0-9._:-]+$1 <= length <= 128application/json- body
reportId*stringReport ID returned by upload preparation, admission, discovery, or an event. It must belong to the API key's workspace.
1 <= length <= 100candidateEmail*stringEmail address of the intended candidate. The quote and invitation must use the same address.
^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$emailsendEmail?booleanTrue (default) asks ProBB AI to email the invitation. False returns a private link credential for your system to deliver. Invitation batches require true.
truequoteFingerprint*stringFingerprint copied unchanged from the corresponding current quote. Changing quote inputs requires a new quote.
^[a-f0-9]{64}$Save the newly returned interviewId. Previous public results remain tied to the old attempt. Old invitation links cannot enter the replacement session.
application/json- response
data*# Set PROBB_URL and PROBB_API_KEY. Replace RESOURCE_ID if present.# Set REQUEST_KEY once for this logical write; reuse it with the same body on retries.curl --fail-with-body -X POST "$PROBB_URL/api/v1/interviews/RESOURCE_ID/reinterview" \ -H "Authorization: Bearer $PROBB_API_KEY" \ -H "Idempotency-Key: $REQUEST_KEY" \ -H 'Content-Type: application/json' \ --data-binary '{ "reportId": "report_example", "candidateEmail": "candidate@example.test", "sendEmail": true, "quoteFingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}'{ "data": { "interviewId": "interview_new", "reportId": "report_example", "invitationToken": null, "statusUrl": "/api/v1/interviews/interview_new/status", "emailDelivery": "queued" }}