/v2/api/entity/credit_charge path as create; the record to update is identified by the id in the request body. If id is omitted a new record is created instead.staff_id, client_id, credit_type_id, renewal_id, and amount — and sets any of them that you omit to null. Because client_id, credit_type_id, and amount are non-nullable, omitting them fails with a 400; omitting staff_id or renewal_id silently clears them. Always resend the whole core set on every update. The remaining fields (start_date, expiry_date, description, status) are preserved if omitted.YYYY-MM-DD or DD/MM/YYYY. On success the response is { "message": <localized text>, "id": <id> }.curl --location --globoff 'https://.daftara.com/v2/api/entity/credit_charge' \
--header 'Accept: application/json' \
--header 'apikey: ' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"id": 221,
"client_id": 8,
"credit_type_id": 1,
"staff_id": 1,
"amount": 200,
"description": "updated note"
}'{
"message": "Credit charge updated successfully",
"id": 0
}