Cancel an interview
Cancels an interview the candidate has not started: the link stops working and reserved credits are released. Monthly quota used by the invitation is not given back. An interview that has started, finished or expired cannot be cancelled. Cancelling a cancelled interview returns it unchanged.
Required scope: interviews:write.
Errors
- 400:
invalid_idempotency_key,unknown_field - 401:
authentication_required,invalid_api_key - 403:
api_access_disabled,insufficient_scope - 404:
interview_not_found - 409:
idempotency_key_reused,idempotency_request_in_progress,interview_not_cancellable - 422:
invalid_parameter - 429:
rate_limit_exceeded - 500:
api_error - 503:
maintenance_mode,service_unavailable
ApiKeyAuthorizationBearer <probb_live_<id>_<secret>>id*stringThe interview's ID.
1 <= length <= 200Idempotency-Key?stringMakes retries safe. Repeating a request with the same key and body within 24 hours returns the original response with Idempotent-Replayed: true. The same key with a different body, or from a different API key, returns idempotency_key_reused.
1 <= length <= 255Success.
application/json- response
object*stringid*stringThe interview's ID. It stays the same when the invitation is re-sent.
reportId*stringThe report the interview was created for.
candidate*|The candidate interviewed. Null if the candidate was deleted.
job*|The job interviewed for. Null if the job was deleted.
status*stringinvited from the invitation until the candidate starts (the interview is prepared in the background), in_progress, evaluating once the candidate has finished and scoring runs, completed when the evaluation is ready, expired if the invitation lapsed unused, cancelled if it was cancelled or replaced, and failed with a failureCode.
"invited""in_progress""evaluating""completed""expired""cancelled""failed"failureCode*|Why the interview failed, when status is failed. invitation_failed means the email could not be delivered; the interview is otherwise intact and can be re-sent.
invitation*How the candidate was invited.
reminders*The reminder emails for an invitation the candidate has not started. At most two go out. Change the schedule with PATCH /v1/organization/interview-reminders; to nudge a candidate now, resend the interview.
interviewVersion*stringThe interview version the candidate takes. It never changes.
createdAt*stringWhen the interview was created.
date-timeupdatedAt*stringWhen the interview last changed.
date-timeexpiresAt*stringWhen the invitation stops working if unused.
date-timestartedAt*|When the candidate started.
completedAt*|When the candidate finished.
# Set PROBB_URL and PROBB_API_KEY. Replace any *_VALUE placeholder and any example ID (such as job_example) with a real one.# Idempotency-Key is optional. Reuse the same key and body when retrying one logical write.curl --fail-with-body -X POST "$PROBB_URL/api/v1/interviews/ID_VALUE/cancel" \ -H "Authorization: Bearer $PROBB_API_KEY" \ -H "Idempotency-Key: $REQUEST_KEY"{ "object": "interview", "id": "string", "reportId": "string", "candidate": { "id": "string", "name": "string" }, "job": { "id": "string", "title": "string" }, "status": "invited", "failureCode": "preparation_failed", "invitation": { "email": "string", "emailStatus": "queued", "sentAt": "2019-08-24T14:15:22Z" }, "reminders": { "optedOut": true, "nudgeSentAt": "2019-08-24T14:15:22Z", "lastCallSentAt": "2019-08-24T14:15:22Z", "nextReminderAt": "2019-08-24T14:15:22Z", "nextReminderKind": "nudge", "inactiveReason": "org_disabled" }, "interviewVersion": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "expiresAt": "2019-08-24T14:15:22Z", "startedAt": "2019-08-24T14:15:22Z", "completedAt": "2019-08-24T14:15:22Z"}