A single transport function that centralises tokens, refresh, error extraction and the pinned API version. A parallel GraphQL caller shares the same credential and refresh path for the newer Projects API.
Also called: QuickBooks disconnected again · token expired · have to reconnect every hour
- 1A call loads the account's credentials from a 60-second cache.
- 2If the access token is near expiry it is refreshed and the new pair persisted.
- 3The request is made against the environment's API host with the pinned minor version.
- 4Vendor fault envelopes are parsed into a readable message.
- 5The cache is invalidated whenever tokens change.
The centralisation is called out in the accounting boundary module: 'QBO was already the best-contained integration (qbApiCall/qbGraphqlCall centralize transport + tokens), so this pass establishes the MODULE BOUNDARY rather than re-shaping working logic.' Proactive refresh is documented on the function itself as loading credentials and refreshing 'when it's' near expiry.
- An expired access token broke sync until someone reconnected manually.
- Token handling scattered across call sites would drift.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →