Update a project by id. This endpoint supports partial updates using PATCH semantics:
- Only fields present in the request will be updated
- Null values clear the clearable fields (note, retentionDays)
- Absent fields will remain unchanged
- All other fields (name, extractionModelId, ocr, completion, duplicates, isLive, generateWordRegionsOnReview, members, schema) may be omitted but cannot be set to null; sending null returns a
422 - At least one field must be provided in the request
projectTypeis immutable and is not part of the update request
For preProcessing and execution projects, extractionModelId must match the company's automatically selected Cases processing mode; any other value is rejected with a 422.
Only the google and internal OCR engines can be set. A project that currently uses abbyy or chinese can still be updated, but the ocr property must be omitted from the request — sending the project's existing ocr block back unchanged is rejected with a 422.
Project update data (all fields optional for partial update)
Extraction Model id
ProjectCompletion type
automatic- Mark documents as completed after succesfull validationmanual- Mark documents to review after succesfull validation
How duplicates documents show be handle
allow- Allow documents duplicates to be processedfail- Mark documents duplicates as failed
Project document retention in days
Generate word bounding boxes for documents that require human review.
When enabled, documents that stop for review (extracted or reviewRequired) get an additional OCR pass that produces word regions, unless the project's OCR engine already provided them. Useful for the internal OCR engine, which does not place words.
- API EUhttps://api.cloud.hypatos.ai/v2/projects/{id}
- API UShttps://api.cloud.hypatos.com/v2/projects/{id}
- Mock serverhttps://hypatos.redocly.app/_mock/openapi/projects/{id}
curl -i -X PATCH \
https://api.cloud.hypatos.ai/v2/projects/63e6663823b4c1f5287398bb \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "My Project",
"note": "My project description note",
"ocr": {
"engine": "google",
"features": [
"barcodes"
]
},
"extractionModelId": "63e6663823b4c1f5287398bb",
"completion": "manual",
"duplicates": "allow",
"retentionDays": 180,
"isLive": false,
"generateWordRegionsOnReview": true,
"members": {
"allow": "all"
},
"schema": {
"version": 1,
"dataPoints": [
{
"internalName": "type",
"displayName": "Type",
"type": "string",
"source": {
"type": "extractor"
},
"normalization": [],
"rules": {}
},
{
"internalName": "number",
"displayName": "Number",
"type": "string",
"source": {
"type": "extractor"
},
"normalization": [],
"rules": {}
},
{
"internalName": "issuedAt",
"displayName": "Issued At",
"type": "date",
"preferDayOfMonth": "last",
"source": {
"type": "extractor"
},
"normalization": [],
"rules": {}
},
{
"internalName": "deliveredAt",
"displayName": "Delivered At",
"type": "date",
"preferDayOfMonth": "last",
"source": {
"type": "extractor"
},
"normalization": [],
"rules": {}
},
{
"internalName": "currency",
"displayName": "Currency",
"type": "string",
"source": {
"type": "extractor"
},
"normalization": [],
"rules": {}
}
],
"features": {
"derivation": false
},
"enrichment": {},
"normalization": {},
"validation": {}
}
}'Project updated
Project processing type. Set on creation and immutable afterwards.
documentProcessing- classic extraction project backed by an extraction modelpreProcessing- pre-processing project backed by the company's Cases processing modeexecution- execution project backed by the company's Cases processing mode
Extraction Model id
ProjectCompletion type
automatic- Mark documents as completed after succesfull validationmanual- Mark documents to review after succesfull validation
How duplicates documents show be handle
allow- Allow documents duplicates to be processedfail- Mark documents duplicates as failed
Project document retention in days
Generate word bounding boxes for documents that require human review.
When enabled, documents that stop for review (extracted or reviewRequired) get an additional OCR pass that produces word regions, unless the project's OCR engine already provided them. Useful for the internal OCR engine, which does not place words.
{ "id": "63e6663823b4c1f5287398bb", "projectType": "documentProcessing", "createdAt": "1990-12-31T15:46:19.384990Z", "createdBy": "63e6663823b4c1f5287398bb", "updatedAt": "1990-12-31T15:46:19.384990Z", "updatedBy": "63e6663823b4c1f5287398bb", "name": "My Project", "note": "My project description note", "extractionModelId": "63e6663823b4c1f5287398bb", "ocr": { "engine": "abbyy", "features": [ … ], "languages": [ … ] }, "completion": "manual", "duplicates": "allow", "members": { "allow": "all" }, "retentionDays": 180, "isLive": false, "generateWordRegionsOnReview": true }