Real-time data gives you the current balance, APR, or payoff amount on a liability or bank account as of the moment you ask — rather than the last time it was reported to a bureau. Every real-time refresh follows the same shape: confirm eligibility via the capabilities matrix, request the refresh, wait for it to complete, then retrieve the result.
| Endpoint | Method / Path | What It Does | When to Use It |
|---|---|---|---|
| Request Liability Data | POST (liability refresh) | Initiates a refresh for a supported capability — real-time balance, APR, or payoff summary — on a specific credit card, auto loan, or student loan. | Only after checking that the requested capability shows SUPPORTED for that liability in the capabilities matrix. Don't call this for a NOT_SUPPORTED capability — it will fail. |
| Poll Request Status | Refresh status check | Reports whether a liability refresh is IN_PROGRESS, COMPLETED, or FAILED. | On an ongoing basis after requesting a refresh, to know when it's safe to retrieve updated data. Spinwheel recommends listening for the REFRESH_TRANSACTION_STATUS webhook rather than tight polling. |
| Request Bank Account Data | POST — by userId • bankAccountId | Initiates a real-time balance lookup on a bank account that's already been added. | To initiate a request for real-time bank account data. |
| Retrieve Bank Account Data | Retrieval after lookup | Returns the bank account's current balance once a lookup completes. | After a COMPLETED status on the bank account lookup — via the BANK_ACCOUNT_LOOKUP_STATUS_CHANGE webhook, or by retrieving the user. |
📘 References: Real-Time Liability Data Guide · Bank Account Real-Time Balances Guide · Webhooks

