Docs
API reference

Fill in, submit or revise your scorecard

PUT
/api/v1/reports/{id}/final-round/scorecards/me

Sets the entries, lean and note of the scorecard of the key's owner, who must be an interviewer on this final round and a member of the organisation. With submit: false it saves a draft; with submit: true it submits (every item rated, a lean chosen), which locks the final round on its first scorecard and completes it when every interviewer still in the organisation has submitted. A submitted scorecard can change only with a revisionReason. Repeating the same request leaves the same scorecard, and a retry of a submission returns the submitted scorecard. The final round must be active or completed, and the job open. Keys held by viewers cannot hold scorecards:write: viewers submit in the app.

Required scope: scorecards:write.

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, not_an_interviewer, permission_denied
  • 404: final_round_not_found, report_not_found
  • 409: final_round_cancelled, job_closed, scorecard_submitted
  • 422: invalid_parameter, scorecard_incomplete, scorecard_invalid_item, scorecard_reason_required
  • 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

Request Body

application/json
  1. body
entries?array<>

The entries to set. Entries you leave out stay as they are, so sending the same body twice changes nothing.

Itemsitems <= 35
Default[]
lean?|

The overall vote: strong_yes, yes, no or strong_no. Required to submit.

summaryNote?|

An overall note (at most 1000 characters).

submit?boolean

True to submit the scorecard: every item must be rated (not_covered counts) and a lean chosen. The first submission locks the final round, and the one that completes the panel completes it. False saves a draft.

Defaultfalse
revisionReason?string

Required to change a scorecard that is already submitted (at most 500 characters). It is recorded in the activity log, and the change is announced again as final_round.scorecard_submitted with a higher revision.

Length1 <= length <= 500

Response Body

Success.

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

The scorecard's ID.

finalRoundId*string

The final round it belongs to.

reportId*string

The report the final round was prepared from.

interviewer*

Whose scorecard it is.

status*string

draft while the interviewer is still filling it in, submitted once they have submitted it.

Value in"draft""submitted"
lean*|

The interviewer's overall vote: strong_yes, yes, no or strong_no. Null until chosen.

summaryNote*|

The interviewer's overall note (at most 1,000 characters).

revision*integer

How many times the scorecard was changed after its first submission. 0 until then.

Range-9007199254740991 <= value <= 9007199254740991
submittedAt*|null
updatedAt*string
Formatdate-time
entries*array<>

One entry per item the interviewer was given, in the final round's order.

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 PUT "$PROBB_URL/api/v1/reports/ID_VALUE/final-round/scorecards/me" \  -H "Authorization: Bearer $PROBB_API_KEY" \  -H 'Content-Type: application/json' \  --data-binary '{  "entries": [    {      "key": "distributed-systems",      "rating": "partly",      "note": "Named the trade-off but not what it cost."    },    {      "key": "stakeholder-management",      "rating": "shown"    }  ],  "lean": "yes",  "summaryNote": "Clear thinker; probe scale next.",  "submit": true}'
Example Response
{  "object": "final_round_scorecard",  "id": "string",  "finalRoundId": "string",  "reportId": "string",  "interviewer": {    "id": "string",    "name": "string",    "kind": "member"  },  "status": "draft",  "lean": "strong_yes",  "summaryNote": "string",  "revision": -9007199254740991,  "submittedAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z",  "entries": [    {      "key": "string",      "kind": "requirement",      "label": "string",      "rating": "shown",      "note": "string"    }  ]}