---
title: "Request Liability Data"
method: POST
path: "/v1/users/{userId}/liabilities/refresh"
tags: ["Real-Time Data"]
---

# Request Liability Data

`POST /v1/users/{userId}/liabilities/refresh`

This API will trigger the process of refreshing liabilities given in the POST body. This process is asynchronous and you can either poll results by using API GET /v1/users/{userId}/liabilities/refresh/{extRequestId} or register for a webhook

## Path parameters

- `userId` string, required

## Request body

- RefreshLiabilitiesRequest
  - `extRequestId` string, required — The external ID for the liability request. Must be unique across the refreshes.
  - `studentLoans` RefreshStudentLoans[] — The list of student loans that will be refreshed. One of the autoLoans or creditCards or studentLoans must be provided.
    - `liabilityGroupId` string, required — Liability group ID that will be refreshed.
    - `capabilities` string[], required — The capabilities list to be refreshed
  - `autoLoans` RefreshAutoLoans[] — The list of auto loans that will be refreshed. One of the autoLoans or creditCards or studentLoans must be provided.
    - `id` string, required — Auto Loan ID that will be refreshed.
    - `capabilities` string[], required — The capabilities list to be refreshed
  - `creditCards` RefreshCreditCards[] — The list of credit cards that will be refreshed. One of the autoLoans or creditCards or studentLoans must be provided.
    - `id` string, required — Credit Card ID that will be refreshed.
    - `capabilities` string[], required — The capabilities list to be refreshed

## Response `200`

Successful response

- RefreshLiabilitiesResponse
  - `status` ResponseStatus, required
    - `code` number
    - `desc` string
    - `messages` Message[]
      - `desc` string, required
      - `type` 'ERROR' | 'WARN' | 'INFO'
  - `data` RefreshLiabilitiesTransaction[], required
    - `refreshTransactionStatus` 'IN_PROGRESS' | 'COMPLETED' | 'FAILED', required — Status of the transaction
    - `refreshTransactionId` string, required — Refresh transaction ID
    - `creditCardId` string — ID of the credit card being refreshed
    - `capability` 'LIABILITY_GROUP_PAYOFF_QUOTE' | 'PAYOFF_SUMMARY' | 'REALTIME_BALANCE' | 'STATEMENT_SUMMARY' | 'ANNUAL_PERCENTAGE_RATE' — Capability for which refresh was requested
    - `liabilityGroupId` string — ID of the liability group being refreshed
    - `studentLoanIds` string[] — IDs of the student loans being refreshed
    - `nextEligibleRefreshOn` number — Next refresh will be enabled at provided timestamp

## Other responses

- `400` — Bad Request
- `401` — Unauthorized response
- `404` — Not found response
- `500` — Internal server error response

---

[API](https://skmtc.dev/spinwheel/apis/discover.md) · [All operations](https://skmtc.dev/spinwheel/apis/discover/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/spinwheel/discover/revisions/55b90a2e1dd4/schema)
