vsmsconnect — API — sync-from-date

← all endpoints

PATCH/api/v1/accounting/sync-from-date auth: jwt (administrator)

Per-business sync lower-bound date — Administrator-only. The stored epoch-ms lower bound is read by all sync paths (manual Sync Now + scheduled workers for Xero/Sage/MYOB) and passed as modifiedSince to the accounting provider. Setting to null restores the default 'full history' behaviour. Webhooks are never filtered. Surfaced on GET /accounting/{xero|sage|myob}/status so the app can render the date picker pre-populated.

handlers: SyncFromDateController.update

Inputs

Request body type: SyncFromDateUpdateBody

namerequireddefaultdescription
syncFromDate body
ISO-8601 datetime | null
yes—Lower-bound date for incoming syncs. Null clears the lower bound.

Outputs

200
APIResponseDataObject<SetSyncFromDateResult>
Persisted result (typically { syncFromDate: epochMs | null }).
401
APIError
AUTH_UNAUTHORIZED — caller has no JWT user.
409
APIError
BUSINESS_CONTEXT_REQUIRED — no businessId on the JWT.
422
APIError
VALIDATION_ERROR — non-ISO datetime.