PUT /v1/projects/{project}/scoring/settings
Update a project's enforcement toggles and bot threshold. Changes bust the verdict cache so they take effect promptly.
curl -X PUT https://api.botect.ai/v1/projects/123/scoring/settings \
-H "Authorization: Bearer YOUR_ACCOUNT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"block_definite": true,
"challenge_likely": true,
"likely_bot_threshold": 40
}'
const res = await fetch('https://api.botect.ai/v1/projects/123/scoring/settings', {
method: 'PUT',
headers: {
Authorization: `Bearer ${process.env.BOTECT_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ block_definite: true, challenge_likely: true }),
});
const settings = await res.json();
import os, requests
r = requests.put(
"https://api.botect.ai/v1/projects/123/scoring/settings",
headers={"Authorization": f"Bearer {os.environ['BOTECT_TOKEN']}"},
json={"block_definite": True, "challenge_likely": True, "likely_bot_threshold": 40},
)
settings = r.json()
{
"bot_settings": {
"allow_verified": true,
"protect_static": true,
"block_definite": true,
"challenge_likely": true
},
"likely_bot_threshold": 40
}
Updates the project's enforcement toggles and the likely-bot threshold. This is the 90% control surface — most tuning happens here, without writing rules. Changes bust the verdict cache so they take effect within the cache window.
PUT https://api.botect.ai/v1/projects/{project}/scoring/settings
Authentication
Account API token via Authorization: Bearer <token>. The project must belong to the token's account. See Authentication.
Path parameters
The project ID.
Body
All fields are optional — send only what you want to change.
Verified bots → allow, regardless of score. Default true.
When false, static-resource requests are skipped (allow). Default true.
When true, band definite → block. Default false.
When true, band likely_automated → challenge. Default false.
The bot/human boundary T, 1–99. Default 30. Higher is more suspicious.
Example
Response fields
The project's toggles after the update.
The threshold T after the update.
Errors
| Status | code | When |
|---|---|---|
401 | UNAUTHENTICATED | Missing / bad account token |
403 | — | Project does not belong to the token's account |
422 | INVALID_PAYLOAD | A toggle is non-boolean or likely_bot_threshold is out of range |
See Score bands for how these settings drive the verdict action.