Update Sync Settings
PUT/api/accounting/sync-settings
Updates the accounting sync settings. Unsubmitted types are preserved (partial updates supported).
accounting:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token
Each key of sync_controls_by_type must be a valid transaction type value — call GET /api/accounting/sync-settings/types for the current list. An unknown key returns 422.
Fields per type:
enabled(boolean, required) — whether documents of this type sync to the accounting providersync_start_date(date, nullable) — documents dated before this are never synced
Saving a type gives it a control of its own, which ends any inheritance from the type it was split out of (inventory_revaluation from inventory_adjustment).
Both top-level keys are optional — send either or both:
sync_controls_by_type— per-transaction-type auto-sync toggles (as before)mirror_sync_controls(Xero only) —{"bank_transactions": {"enabled": bool}, "payments": {"enabled": bool}}; enables the nightly mirror download for that entity. Unsubmitted keys keep their stored state. A request with neither key returns 422.
Request
Responses
- 200
- 401
- 403
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.