Fill in, submit or revise your scorecard
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
ApiKeyAuthorizationBearer <probb_live_<id>_<secret>>id*stringThe report's ID.
1 <= length <= 200application/json- body
entries?array<>The entries to set. Entries you leave out stay as they are, so sending the same body twice changes nothing.
items <= 35[]lean?|The overall vote: strong_yes, yes, no or strong_no. Required to submit.
summaryNote?|An overall note (at most 1000 characters).
submit?booleanTrue 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.
falserevisionReason?stringRequired 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.
1 <= length <= 500Success.
application/json- response
object*stringid*stringThe scorecard's ID.
finalRoundId*stringThe final round it belongs to.
reportId*stringThe report the final round was prepared from.
interviewer*Whose scorecard it is.
status*stringdraft while the interviewer is still filling it in, submitted once they have submitted it.
"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*integerHow many times the scorecard was changed after its first submission. 0 until then.
-9007199254740991 <= value <= 9007199254740991submittedAt*|nullupdatedAt*stringdate-timeentries*array<>One entry per item the interviewer was given, in the final round's order.
# 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}'{ "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" } ]}