curl --request PATCH \
--url https://api.coval.dev/v1/review-projects/{project_id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"display_name": "Updated Project Name"
}
'{
"review_project": {
"created_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"updated_by": "<string>",
"name": "review-projects/01HXYZ1234567890ABCDEF",
"id": "01HXYZ1234567890ABCDEF",
"display_name": "<string>",
"assignees": [
"<string>"
],
"linked_simulation_ids": [
"<string>"
],
"linked_metric_ids": [
"<string>"
],
"project_type": "PROJECT_INDIVIDUAL",
"notifications": true,
"create_time": "2023-11-07T05:31:56Z",
"update_time": "2023-11-07T05:31:56Z",
"reviewer_user_ids": {},
"opted_out_assignee_user_ids": [
"<string>"
],
"description": "<string>",
"project_rules": [
"require_disagreement_notes"
],
"enforced_collaboration": false,
"allow_metric_skipping": false,
"blind_labeling_shown_metric_ids": [
"<string>"
],
"linked_metric_count": 0,
"linked_simulation_count": 0,
"review_label_enabled": true,
"review_label_input_mode": "OPTION_ONLY",
"review_label_options": [
"<string>"
],
"review_label_selection_mode": "SINGLE"
}
}{
"error": {
"code": "INVALID_ARGUMENT",
"message": "Invalid request body",
"details": [
{
"field": "simulation_output_id",
"description": "simulation_output_id is required"
}
]
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Authentication failed",
"details": [
{
"field": "X-API-Key",
"description": "Invalid or missing API key"
}
]
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Resource not found",
"details": [
{
"field": "annotation_id",
"description": "Annotation not found or not accessible by your organization"
}
]
}
}{
"error": {
"code": "INTERNAL",
"message": "Internal server error",
"details": [
{
"description": "An unexpected error occurred"
}
]
}
}Update review project
Partially update a review project.
curl --request PATCH \
--url https://api.coval.dev/v1/review-projects/{project_id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"display_name": "Updated Project Name"
}
'{
"review_project": {
"created_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"updated_by": "<string>",
"name": "review-projects/01HXYZ1234567890ABCDEF",
"id": "01HXYZ1234567890ABCDEF",
"display_name": "<string>",
"assignees": [
"<string>"
],
"linked_simulation_ids": [
"<string>"
],
"linked_metric_ids": [
"<string>"
],
"project_type": "PROJECT_INDIVIDUAL",
"notifications": true,
"create_time": "2023-11-07T05:31:56Z",
"update_time": "2023-11-07T05:31:56Z",
"reviewer_user_ids": {},
"opted_out_assignee_user_ids": [
"<string>"
],
"description": "<string>",
"project_rules": [
"require_disagreement_notes"
],
"enforced_collaboration": false,
"allow_metric_skipping": false,
"blind_labeling_shown_metric_ids": [
"<string>"
],
"linked_metric_count": 0,
"linked_simulation_count": 0,
"review_label_enabled": true,
"review_label_input_mode": "OPTION_ONLY",
"review_label_options": [
"<string>"
],
"review_label_selection_mode": "SINGLE"
}
}{
"error": {
"code": "INVALID_ARGUMENT",
"message": "Invalid request body",
"details": [
{
"field": "simulation_output_id",
"description": "simulation_output_id is required"
}
]
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Authentication failed",
"details": [
{
"field": "X-API-Key",
"description": "Invalid or missing API key"
}
]
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Resource not found",
"details": [
{
"field": "annotation_id",
"description": "Annotation not found or not accessible by your organization"
}
]
}
}{
"error": {
"code": "INTERNAL",
"message": "Internal server error",
"details": [
{
"description": "An unexpected error occurred"
}
]
}
}Authorizations
Organization API key for authentication
Headers
Workspace that scopes this operation. When omitted, the organization's active default workspace is used when one can be resolved.
1 - 26Path Parameters
The project ID (ULID)
Body
Verified Coval reviewer User IDs, mutually exclusive with emails. Null leaves membership unchanged.
1 - 1000 elements26Assigned reviewer IDs opting out of notifications, mutually exclusive with email opt-outs. Null leaves preferences unchanged; an empty list clears them. Authenticated users may change only their own preference.
100026Updated project name
1 - 200Updated description
Updated assignee list
Updated simulation IDs
Simulation IDs to add atomically; cannot be combined with other project updates
1Simulation IDs to remove atomically; cannot be combined with other project updates
1Updated metric IDs
25Required only when adding metrics to choose whether valid enforced-collaborative completed conversations reopen; omitted keeps completed conversations unchanged
KEEP_COMPLETED, REOPEN_COMPLETED Updated notification setting
Updated project rules
Project rule: require_disagreement_notes requires reviewer notes when ground truth disagrees with model output
require_disagreement_notes Metric IDs whose machine score stays visible during blind labeling
Assignees who opted out of notifications
Enforce claims and explicit single-author completion for collaborative projects
Allow reviewers to skip linked metrics
False pauses conversation triage for everyone while preserving categories, modes, and saved labels. True enables triage. Null uses legacy configuration-based activation. Omission leaves the enabled state unchanged. For legacy clients, explicitly sending empty categories and both modes as null without this field pauses triage while preserving configuration. When all three configuration fields are supplied without this field, a valid enabled configuration is treated as enabled.
OPTION_ONLY, CUSTOM_ONLY, OPTION_OR_CUSTOM SINGLE, MULTIPLE Response
Project updated successfully
A single review project resource.
Show child attributes
Show child attributes
Was this page helpful?