/v2/api/entity base and authenticated with a Bearer token. Both PUT and POST to this path are accepted.workflow_id path segment selects the workflow type (entity key le_workflow-type-entity-{workflow_id}) and record_id identifies the record. The request body is a flat object whose keys are the workflow type's fields and must include id matching record_id. Custom fields are supplied under the le_workflow-type-entity-{workflow_id}_custom_data object (include its existing row id to update in place).400 with an errors map (note: unlike create, which returns 422). On success the message is localized to the workflow type's name, e.g. "<name> Updated Successfully".curl --location --globoff --request PUT 'https://.daftara.com/v2/api/entity/le_workflow-type-entity-56/70' \
--header 'Accept: application/json' \
--header 'apikey: ' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"id": 70,
"title": "Instance 22 edited",
"number": {
"code": "000007"
},
"start_date": "01/06/2026",
"delivery_date": "04/06/2026",
"client_id": "1",
"assigned_users": [
"1",
"2"
],
"budget": {
"number": 1000,
"currency": "USD"
},
"tags": [
"tag1, tag2"
],
"description": "description",
"attachments": [],
"branch_id": 1,
"staff_id": 1,
"follow_up_status_id": null,
"le_workflow-type-entity-56_custom_data": {
"id": 1,
"code": "Renee315",
"discount_type": "نسبة مئوية",
"discount_value": 15
}
}'{
"message": "تم تحديث أكواد الخصم بنجاح",
"id": 65
}