---
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`

## Request

- Base URL: `https://sandbox-api.spinwheel.io`
- URL: `https://sandbox-api.spinwheel.io/v1/users/{userId}/liabilities/refresh`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `Authorization`

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/optimize.md) - [All operations](https://skmtc.dev/spinwheel/apis/optimize/llms.txt) - [OpenAPI document](https://skmtc.dev/spinwheel/apis/optimize/revisions/6222309663d2?raw)
