Docs
API reference

Revoke an outside interviewer's link

POST
/api/v1/reports/{id}/final-round/externals/{assignmentId}/revoke

Kills an outside interviewer's scorecard link: it stops opening at once. Their draft or submitted scorecard stays. Revoking a revoked link changes nothing. Resend the link to make a new one.

Required scope: reports:write.

Errors

  • 400: invalid_idempotency_key, unknown_field
  • 401: authentication_required, invalid_api_key
  • 403: api_access_disabled, insufficient_scope, permission_denied
  • 404: external_interviewer_not_found, final_round_not_found, report_not_found
  • 409: idempotency_key_reused, idempotency_request_in_progress
  • 422: invalid_parameter
  • 429: rate_limit_exceeded
  • 500: api_error
  • 503: maintenance_mode, service_unavailable

Authorization

ApiKey
headerAuthorizationBearer <probb_live_<id>_<secret>>

Path Parameters

id*string

The report's ID.

Length1 <= length <= 200
assignmentId*string

The outside interviewer's assignmentId, from the final round's interviewers.

Length1 <= length <= 200

Header Parameters

Idempotency-Key?string

Makes 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.

Length1 <= length <= 255

Response Body

Success.

application/json
  1. response
object*string
id*string

The final round's ID.

reportId*string

The report it was prepared from. A report has at most one.

candidate*

The candidate being interviewed.

job*

The job.

status*string

active, completed or cancelled.

Value in"active""completed""cancelled"
locked*boolean

True once an interviewer has submitted a scorecard. A locked final round can no longer be changed.

items*array<|>

What the panel will cover, in order: the requirements chosen, then the members' own questions.

interviewers*array<>

Who asks what. Every item has exactly one interviewer, a member or an outside interviewer.

preparedBy*|

Who prepared it, or null if that person was since deleted.

completedAt*|

When every interviewer still in the organisation had submitted a scorecard, or null while the panel is still working.

createdAt*string
Formatdate-time
updatedAt*string
Formatdate-time
Example Request
# 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/reports/ID_VALUE/final-round/externals/ASSIGNMENT_ID_VALUE/revoke" \  -H "Authorization: Bearer $PROBB_API_KEY" \  -H "Idempotency-Key: $REQUEST_KEY"
Example Response
{  "object": "final_round",  "id": "string",  "reportId": "string",  "candidate": {    "id": "string",    "name": "string"  },  "job": {    "id": "string",    "title": "string"  },  "status": "active",  "locked": true,  "items": [    {      "kind": "requirement",      "key": "string",      "label": "string",      "priority": "must_have",      "hardConstraint": true,      "resume": {        "state": "shown",        "summary": "string"      },      "interview": {        "state": "shown",        "summary": "string"      },      "followUpRecommended": true,      "guidance": "string",      "probes": [        "string"      ]    }  ],  "interviewers": [    {      "assignmentId": "string",      "kind": "member",      "user": {        "id": "string",        "name": "string"      },      "external": {        "emailMasked": "string",        "link": "queued",        "linkExpiresAt": "2019-08-24T14:15:22Z"      },      "itemKeys": [        "string"      ]    }  ],  "preparedBy": {    "id": "string",    "name": "string"  },  "completedAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}