curl --request PATCH \
--url 'https://api-prod.usefini.com/v2/test-sets/44c1f705-8e1a-4f61-8c4c-d519d37fb6b7/criteria/96eab02d-3bc3-4b90-ae5b-1a41a1444afa/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"blocking": false,
"isActive": true
}'
const testSetId = '44c1f705-8e1a-4f61-8c4c-d519d37fb6b7';
const criteriaId = '96eab02d-3bc3-4b90-ae5b-1a41a1444afa';
const response = await fetch(`https://api-prod.usefini.com/v2/test-sets/${testSetId}/criteria/${criteriaId}/public`, {
method: 'PATCH',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
blocking: false,
isActive: true
})
});
const criterion = await response.json();
import requests
test_set_id = "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7"
criteria_id = "96eab02d-3bc3-4b90-ae5b-1a41a1444afa"
response = requests.patch(
f"https://api-prod.usefini.com/v2/test-sets/{test_set_id}/criteria/{criteria_id}/public",
headers={
"Authorization": "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
json={
"blocking": False,
"isActive": True,
},
)
criterion = response.json()
{
"id": "96eab02d-3bc3-4b90-ae5b-1a41a1444afa",
"testSetId": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
"companyId": "1d2a4c9f-59f8-4f9c-bd36-6f12e0d5d927",
"defaultCriterionId": null,
"name": "Goal resolution",
"type": "complex_judge",
"judgePrompt": "Judge whether the conversation resolved the user's goal.",
"passPrompt": "The user's goal was resolved.",
"failPrompt": "The user's goal was not resolved.",
"condition": null,
"blocking": false,
"isActive": true,
"createdAt": "2026-07-28T08:56:12.000Z",
"updatedAt": "2026-07-28T09:12:45.000Z"
}
Test Sets
Update a criterion
Update one criterion on a test set.
PATCH
/
v2
/
test-sets
/
{testSetId}
/
criteria
/
{criteriaId}
/
public
curl --request PATCH \
--url 'https://api-prod.usefini.com/v2/test-sets/44c1f705-8e1a-4f61-8c4c-d519d37fb6b7/criteria/96eab02d-3bc3-4b90-ae5b-1a41a1444afa/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"blocking": false,
"isActive": true
}'
const testSetId = '44c1f705-8e1a-4f61-8c4c-d519d37fb6b7';
const criteriaId = '96eab02d-3bc3-4b90-ae5b-1a41a1444afa';
const response = await fetch(`https://api-prod.usefini.com/v2/test-sets/${testSetId}/criteria/${criteriaId}/public`, {
method: 'PATCH',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
blocking: false,
isActive: true
})
});
const criterion = await response.json();
import requests
test_set_id = "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7"
criteria_id = "96eab02d-3bc3-4b90-ae5b-1a41a1444afa"
response = requests.patch(
f"https://api-prod.usefini.com/v2/test-sets/{test_set_id}/criteria/{criteria_id}/public",
headers={
"Authorization": "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
json={
"blocking": False,
"isActive": True,
},
)
criterion = response.json()
{
"id": "96eab02d-3bc3-4b90-ae5b-1a41a1444afa",
"testSetId": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
"companyId": "1d2a4c9f-59f8-4f9c-bd36-6f12e0d5d927",
"defaultCriterionId": null,
"name": "Goal resolution",
"type": "complex_judge",
"judgePrompt": "Judge whether the conversation resolved the user's goal.",
"passPrompt": "The user's goal was resolved.",
"failPrompt": "The user's goal was not resolved.",
"condition": null,
"blocking": false,
"isActive": true,
"createdAt": "2026-07-28T08:56:12.000Z",
"updatedAt": "2026-07-28T09:12:45.000Z"
}
Updates one criterion. For criteria created from a default, only
blocking can be changed.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs write scope.string
required
application/jsonPath parameters
string
required
Test set ID.
string
required
Criterion ID.
Body parameters
string
New criterion name for custom criteria.
string
New judge prompt for judge criteria.
string
New pass prompt for judge criteria.
string
New fail prompt for judge criteria.
object
New condition for deterministic criteria.
boolean
Whether failing this criterion should fail the conversation overall.
boolean
Whether the criterion is active.
Response
Returns the updated Criterion object.curl --request PATCH \
--url 'https://api-prod.usefini.com/v2/test-sets/44c1f705-8e1a-4f61-8c4c-d519d37fb6b7/criteria/96eab02d-3bc3-4b90-ae5b-1a41a1444afa/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"blocking": false,
"isActive": true
}'
const testSetId = '44c1f705-8e1a-4f61-8c4c-d519d37fb6b7';
const criteriaId = '96eab02d-3bc3-4b90-ae5b-1a41a1444afa';
const response = await fetch(`https://api-prod.usefini.com/v2/test-sets/${testSetId}/criteria/${criteriaId}/public`, {
method: 'PATCH',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
blocking: false,
isActive: true
})
});
const criterion = await response.json();
import requests
test_set_id = "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7"
criteria_id = "96eab02d-3bc3-4b90-ae5b-1a41a1444afa"
response = requests.patch(
f"https://api-prod.usefini.com/v2/test-sets/{test_set_id}/criteria/{criteria_id}/public",
headers={
"Authorization": "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
json={
"blocking": False,
"isActive": True,
},
)
criterion = response.json()
{
"id": "96eab02d-3bc3-4b90-ae5b-1a41a1444afa",
"testSetId": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
"companyId": "1d2a4c9f-59f8-4f9c-bd36-6f12e0d5d927",
"defaultCriterionId": null,
"name": "Goal resolution",
"type": "complex_judge",
"judgePrompt": "Judge whether the conversation resolved the user's goal.",
"passPrompt": "The user's goal was resolved.",
"failPrompt": "The user's goal was not resolved.",
"condition": null,
"blocking": false,
"isActive": true,
"createdAt": "2026-07-28T08:56:12.000Z",
"updatedAt": "2026-07-28T09:12:45.000Z"
}
Was this page helpful?
⌘I

