/v2/api/entity/credit_usage 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.client_id and credit_type_id and sets either of them that you omit to null. Because both are non-nullable, omitting one fails with a 400. Always resend client_id and credit_type_id on every update. The other fields (usage_date, description) are preserved if omitted.usage_date accepts 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_usage' \
--header 'Accept: application/json' \
--header 'apikey: ' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"id": 12,
"client_id": 8,
"credit_type_id": 1,
"usage_date": "2025-12-30",
"description": "updated note"
}'{
"message": "Updated successfully",
"id": 0
}