Put Payroll Settings
Patch semantics: an omitted key keeps its value, an explicit null clears it.
⚠️ exclude_unset is load-bearing (ZCT-518). ApiModel does not set it, so a plain model_dump() emits all four account keys with None for the ones the caller omitted, and update_settings writes every key it is handed (setattr(row, key, value or None)). A partial PUT — say {"payroll_clearing_account_code": "2265"}, which is exactly how the ZCT-518 reporter unblocked their tenant, and exactly what the payroll_clearing_unconfigured work item now sends people to do — therefore wiped an explicitly configured salary_payable_account_code back to its catalog default, silently. The SPA happened to submit all four, so only the raw API and MCP were exposed. The non-account keys in the same body already had keep-semantics (DELIVERY_MODE_KEY/AUTO_RUN_KEY/QST_THIRTEENTH_KEY/ SALARY_PRORATION_KEY, None = keep); this makes the four account keys agree with them.
Request
- Base URL: https://app.zeno-works.ch (the document declares no server; this is the origin it was published from)
- URL: https://app.zeno-works.ch/companies/{company_id}/payroll/settings
- Auth: none declared
Path parameters
Headers
Cookies
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.