Docs
API reference

Retrieve a job's auto-invite rule

GET
/api/v1/jobs/{id}/auto-invite

A job can carry one rule that checks each report as it finishes. In queue mode (the default) a report that clears the bar is queued for a person to approve, and nothing is invited or charged until someone does. In invite mode it is held for holdMinutes and then invited automatically, up to inviteCap automatic invites on the job, unless a person cancels it. Reports that fall short are left alone: nothing is ever declined. The rule only looks at reports that finish after it is switched on. Answers auto_invite_rule_not_found when the job never had a rule; a rule that was switched off is returned with enabled: false.

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

Errors

  • 400: unknown_field
  • 401: authentication_required, invalid_api_key
  • 403: api_access_disabled, insufficient_scope
  • 404: auto_invite_rule_not_found, job_not_found
  • 422: invalid_parameter
  • 429: rate_limit_exceeded
  • 500: api_error
  • 503: service_unavailable

Authorization

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

Path Parameters

id*string

The job's ID.

Length1 <= length <= 200

Response Body

Success.

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

The job the rule belongs to.

enabled*boolean

False after the rule was switched off. Its criteria are kept; switching it on again with PUT keeps the revision when they are unchanged.

mode*string

queue: candidates who clear the bar wait for a person to approve them (the default). invite: they are held for holdMinutes and then invited automatically, unless a person cancels, the rule changed or inviteCap is reached.

Value in"queue""invite"
holdMinutes*integer

Invite mode: how long a matching candidate waits before the invitation goes out and can still be cancelled, 0 to 1440 minutes. If the wait ends outside 09:00 to 18:00 in timeZone, the invitation goes out at 09:00 the next morning.

Range-9007199254740991 <= value <= 9007199254740991
timeZone*string

The organisation's time zone, an IANA name such as Europe/London (UTC when unset). In invite mode invitations go out between 09:00 and 18:00 in it; a wait that ends at night sends the next morning.

inviteCap*integer

Invite mode: the most automatic invites the rule may send on this job, 1 to 500. It counts invites, not credits, so it holds in every billing mode. Past it, matches are queued for approval instead.

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

Automatic invites the rule has sent on this job so far.

Range-9007199254740991 <= value <= 9007199254740991
criteria*
description*string

The rule as one sentence, such as the app shows it.

revision*integer

Starts at 1 and goes up each time the criteria change. Every evaluation records the revision it used.

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

Candidates waiting for approval on this job.

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

Candidates held to be invited automatically, whose invitation can still be cancelled.

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

Queued candidates who were invited, whoever sent the invitation, across every revision of the rule.

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

Queued candidates a person dismissed, across every revision of the rule.

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

Queued candidates the rule as it stands would no longer queue, such as after the bar was raised. Nothing is dismissed automatically: each shows matchesCurrentRule: false in the evaluations, and you can dismiss them with POST .../evaluations/dismiss.

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

PUT with applyToExisting only: how many of the job's existing reports were sent through the rule. Null otherwise.

stats*
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.curl --fail-with-body -X GET "$PROBB_URL/api/v1/jobs/ID_VALUE/auto-invite" \  -H "Authorization: Bearer $PROBB_API_KEY"
Example Response
{  "object": "auto_invite_rule",  "jobId": "string",  "enabled": true,  "mode": "queue",  "holdMinutes": -9007199254740991,  "timeZone": "string",  "inviteCap": -9007199254740991,  "autoInvitedCount": -9007199254740991,  "criteria": {    "minFitScore": 0,    "mustHaves": "any",    "whenUnknown": "queue",    "excludeIntegrityReview": true  },  "description": "string",  "revision": -9007199254740991,  "queuedCount": -9007199254740991,  "heldCount": -9007199254740991,  "invitedCount": -9007199254740991,  "dismissedCount": -9007199254740991,  "noLongerMatchingCount": -9007199254740991,  "appliedToExistingCount": -9007199254740991,  "stats": {    "byVersion": [      {        "versionId": "string",        "label": "string",        "evaluated": -9007199254740991,        "cleared": -9007199254740991      }    ],    "people": {      "approved": -9007199254740991,      "invitedByRule": -9007199254740991,      "dismissed": -9007199254740991,      "cancelled": -9007199254740991    }  },  "updatedAt": "2019-08-24T14:15:22Z"}