Docs
API reference

Resolve an identity review

POST
/api/v1/identity-reviews/{id}/resolve

Records whether the incoming resume belongs to one of the candidates the review offers (same_person with candidateId), to someone new (different_person), or should be dropped (discard). Nothing is ever merged: the decision only says where this one file goes. Unless discarded, the file then goes on through its normal processing, which can start an analysis and spend credits. There is no maxCredits: the forward was the confirmation, and the address's monthlyAnalysisCap bounds the spend. Send an Idempotency-Key so a retry returns the same answer. A review someone already decided is already_decided.

Required scope: inbox:write.

Errors

  • 400: invalid_content_type, invalid_idempotency_key, invalid_json, invalid_request, request_body_too_large, unknown_field
  • 401: authentication_required, invalid_api_key
  • 403: api_access_disabled, insufficient_scope, permission_denied
  • 404: resource_not_found
  • 409: already_decided, idempotency_key_reused, idempotency_request_in_progress
  • 422: invalid_parameter
  • 429: rate_limit_exceeded
  • 500: api_error
  • 503: inbox_unavailable, maintenance_mode, service_unavailable

Authorization

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

Path Parameters

id*string

The ID.

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

Request Body

application/json
  1. body
decision*string

same_person: the resume belongs to the candidate in candidateId. different_person: it belongs to a new candidate. discard: drop the file. The file then goes on through its normal processing, analysis included.

Value in"same_person""different_person""discard"
candidateId?string

Required with same_person: one of the candidates the review offers.

Length1 <= length <= 200

Response Body

Success.

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

The review.

status*string
Value in"open""same_person""different_person""discarded""expired"
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/identity-reviews/ID_VALUE/resolve" \  -H "Authorization: Bearer $PROBB_API_KEY" \  -H "Idempotency-Key: $REQUEST_KEY" \  -H 'Content-Type: application/json' \  --data-binary '{  "decision": "same_person",  "candidateId": "cand_example_1"}'
Example Response
{  "object": "identity_review_resolution",  "id": "string",  "status": "open"}