Docs
API reference

Preview an auto-invite rule

POST
/api/v1/jobs/{id}/auto-invite/preview

Counts how many of the job's existing finished reports a draft rule would match, would not match, or cannot judge, split by report version, so you can choose a bar before saving it. Also counts newMatches, the existing reports applyToExisting would send through the rule, and for a draft in invite mode the applyQuote: the most credits that could spend. Saves nothing and changes nothing. Scores from different report versions are on the same 0 to 10 scale but are not calibrated alike, which is why the counts are split.

Required scope: auto_invite:read (auto_invite:write also works).

Errors

  • 400: invalid_content_type, invalid_json, request_body_too_large, unknown_field
  • 401: authentication_required, invalid_api_key
  • 403: api_access_disabled, insufficient_scope
  • 404: job_not_found
  • 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 job's ID.

Length1 <= length <= 200

Request Body

application/json
  1. body
criteria*

The bar a finished report must clear to be queued. All conditions must hold.

mode?string

The mode you intend to save, for applyQuote only. Omit to use the rule's current mode (queue for a job without a rule).

Value in"queue""invite"
inviteCap?integer

The cap you intend to save, for applyQuote only. Omit to use the rule's current cap.

Range1 <= value <= 500

Response Body

Success.

application/json
  1. response
object*string
total*integer

Existing finished reports on the job that were read (reports held as role mismatches are left out).

Range-9007199254740991 <= value <= 9007199254740991
wouldMatch*integer
Range-9007199254740991 <= value <= 9007199254740991
wouldNotMatch*integer
Range-9007199254740991 <= value <= 9007199254740991
unknown*integer

Reports the rule cannot judge, because their version has no requirements check.

Range-9007199254740991 <= value <= 9007199254740991
withRequirementsCheck*integer
Range-9007199254740991 <= value <= 9007199254740991
byVersion*array<>
truncated*boolean

The job has more finished reports than the preview reads.

newMatches*integer

Existing reports applyToExisting would send through the rule: ones it would queue or hold now, with no waiting or settled evaluation of this rule, nothing the bulk invite would skip (an interview, no email, a role mismatch) and no hiring decision on the candidate. At most 1,000 reports are read.

Range-9007199254740991 <= value <= 9007199254740991
newUnknown*integer

Of newMatches, the reports whose must-haves cannot be checked. With whenUnknown: queue they go to a person in any mode and are never invited automatically, so applyQuote leaves them out.

Range-9007199254740991 <= value <= 9007199254740991
applyQuote*|

What applyToExisting could spend. Present only when the draft mode is invite and newMatches is above zero. Send it back as maxCredits on PUT.

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.curl --fail-with-body -X POST "$PROBB_URL/api/v1/jobs/ID_VALUE/auto-invite/preview" \  -H "Authorization: Bearer $PROBB_API_KEY" \  -H 'Content-Type: application/json' \  --data-binary '{  "criteria": {    "minFitScore": 7.5  }}'
Example Response
{  "object": "auto_invite_preview",  "total": -9007199254740991,  "wouldMatch": -9007199254740991,  "wouldNotMatch": -9007199254740991,  "unknown": -9007199254740991,  "withRequirementsCheck": -9007199254740991,  "byVersion": [    {      "versionId": "string",      "label": "string",      "hasRequirementsCheck": true,      "total": -9007199254740991,      "wouldMatch": -9007199254740991,      "wouldNotMatch": -9007199254740991,      "unknown": -9007199254740991    }  ],  "truncated": true,  "newMatches": -9007199254740991,  "newUnknown": -9007199254740991,  "applyQuote": {    "billingMode": "CREDITS",    "creditsPerInvite": 0,    "affordable": true,    "capRoom": -9007199254740991,    "invites": -9007199254740991,    "credits": 0  }}