Skip to content

PATCH /v1/icps/{id}/thresholds

Call PATCH /v1/icps/{id}/thresholds
Price free
Scope account:manage
Operation id updateIcpThresholds

Trade precision for recall: set the threshold answer applies to p for one or more decisions on this profile, or null to return to the calibrated default. Changes answer on future decisions and nothing else; p is unaffected. Audited. Free. Scope: account:manage.

Copy it as curl. Set VERDICT_API_KEY first; uuidgen makes a fresh Idempotency-Key.

Request
curl -X PATCH 'https://api.askverdict.io/v1/icps/icp_01JC3Z4Y8R9K2M5N7P1Q3S5T7V/thresholds' \
-H "Authorization: Bearer $VERDICT_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"thresholds": {
"right_person": 0.7,
"qualify_firm": null
}
}'

200: The profile’s thresholds after the change.

200 response
{
"qualify_firm": {
"value": 0.6,
"source": "calibrated"
},
"score_signal": {
"value": 0.55,
"source": "calibrated"
},
"pick_person": {
"value": 0.5,
"source": "calibrated"
},
"triage_reply": {
"value": 0.65,
"source": "calibrated"
},
"right_person": {
"value": 0.7,
"source": "custom"
},
"should_send": {
"value": 0.6,
"source": "calibrated"
}
}
Name In Type Required Description
id path string yes The ICP profile id.
x-verdict-version header string no API version to use, a date. Defaults to the version current when the key was created. The current version is 2026-11-01.

Schema UpdateThresholdsRequest. Thresholds to change.

Field Type Required Description
thresholds object yes Thresholds to change, by decision name.
thresholds.qualify_firm number or null no New threshold for qualify_firm, or null to return to the calibrated default.
thresholds.score_signal number or null no New threshold for score_signal, or null to return to the calibrated default.
thresholds.pick_person number or null no New threshold for pick_person, or null to return to the calibrated default.
thresholds.triage_reply number or null no New threshold for triage_reply, or null to return to the calibrated default.
thresholds.right_person number or null no New threshold for right_person, or null to return to the calibrated default.
thresholds.should_send number or null no New threshold for should_send, or null to return to the calibrated default.

Schema Thresholds.

Field Type Required Description
qualify_firm object yes Threshold for qualify_firm.
qualify_firm.value number yes The threshold answer applies to p.
qualify_firm.source enum: “calibrated”, “custom” yes Calibrated default or your own value.
score_signal object yes Threshold for score_signal.
score_signal.value number yes The threshold answer applies to p.
score_signal.source enum: “calibrated”, “custom” yes Calibrated default or your own value.
pick_person object yes Threshold for pick_person.
pick_person.value number yes The threshold answer applies to p.
pick_person.source enum: “calibrated”, “custom” yes Calibrated default or your own value.
triage_reply object yes Threshold for triage_reply.
triage_reply.value number yes The threshold answer applies to p.
triage_reply.source enum: “calibrated”, “custom” yes Calibrated default or your own value.
right_person object yes Threshold for right_person.
right_person.value number yes The threshold answer applies to p.
right_person.source enum: “calibrated”, “custom” yes Calibrated default or your own value.
should_send object yes Threshold for should_send.
should_send.value number yes The threshold answer applies to p.
should_send.source enum: “calibrated”, “custom” yes Calibrated default or your own value.

Errors are RFC 9457 problem details and are never billed. Branch on type. See Errors.

Status Meaning
400 Invalid request: malformed JSON, an unknown field, a failed constraint or a size limit (invalid_request).
401 Missing, malformed, revoked or expired API key, or a bad webhook signature (unauthorized).
403 The key lacks the scope this operation needs (forbidden_scope).
404 The resource does not exist in this organization (not_found).
409 The Idempotency-Key was reused with a different request, or the first request is still running (idempotency_conflict).
429 Rate limited (rate_limited). Wait Retry-After seconds.
500 Unexpected server error (internal). Not billed; retry with the same Idempotency-Key.

Open the interactive reference to send this request from the browser. The full document is at /openapi.json.