---
title: "List installment plans"
method: GET
path: "/v1/financial_accounts/{financial_account_token}/installment_plans"
tags: ["Statements"]
---

# List installment plans

`GET /v1/financial_accounts/{financial_account_token}/installment_plans`

## Request

- Base URL: `https://sandbox.lithic.com`
- URL: `https://sandbox.lithic.com/v1/financial_accounts/{financial_account_token}/installment_plans`
- Auth: API key in header `Authorization`

List the installment plans for a given financial account.

## Path parameters

- `financial_account_token` string, uuid, required: Globally unique identifier for financial account.

## Query parameters

- `ending_before` string: A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.
- `page_size` integer: Page size (for pagination).
- `state` 'PENDING' | 'ACTIVE' | 'REBUILD_IN_PROGRESS' | 'FULLY_PAID' | 'CANCELLED': State of the installment plan. A plan is REBUILD_IN_PROGRESS while its loan tapes are being rebuilt, during which its payment totals are being recomputed and should not be treated as final
- `starting_after` string: A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.

## Response `200`

OK

- InstallmentPlansResponse
  - `data` InstallmentPlanResponse[], required
    - `token` string, required: Globally unique identifier for an installment plan
    - `financial_account_token` string, uuid, required: Globally unique identifier for a financial account
    - `num_installments` integer, required: Number of installments the plan is broken into
    - `principal_amount` integer, required: Balance the plan was opened on in cents, excluding the enrollment fee
    - `fee_amount` integer, required: Enrollment fee charged when the plan was created in cents
    - `installment_plan_total` integer, required: Total owed on the plan in cents, the principal amount plus the enrollment fee
    - `total_paid` integer, required: Amount paid towards the plan to date in cents
    - `installments_paid` integer, required: Number of installments that have been paid off
    - `installments_outstanding` integer, required: Number of installments that still carry a balance
    - `state` 'PENDING' | 'ACTIVE' | 'REBUILD_IN_PROGRESS' | 'FULLY_PAID' | 'CANCELLED', required: State of the installment plan. A plan is REBUILD_IN_PROGRESS while its loan tapes are being rebuilt, during which its payment totals are being recomputed and should not be treated as final
    - `start_date` string, date, required: Date the plan was created
    - `closed_at` string, date, nullable, required: Date the plan was paid off or cancelled, or null while it is still open
    - `source_type` 'UNPAID_BALANCE' | 'TRANSACTION', required
    - `source_id` string, required: Identifier of the record the plan was opened from, such as the closing statement for an unpaid balance
    - `source_amounts` TransactionCategoryBalances, required
      - `purchases` CategoryBalances, required
        - `interest` integer, required
        - `principal` integer, required
        - `fees` integer, required
      - `cash_advances` CategoryBalances, required
        - `interest` integer, required
        - `principal` integer, required
        - `fees` integer, required
      - `balance_transfers` CategoryBalances, required
        - `interest` integer, required
        - `principal` integer, required
        - `fees` integer, required
    - `created` string, date-time, required: Timestamp of when the installment plan was created
    - `updated` string, date-time, required: Timestamp of when the installment plan was updated
    - `installments` Installment[], required: Installments that make up the plan, oldest first
      - `installment_num` integer, required: Position of this installment within the plan, starting at 0
      - `due_date` string, date, required: Date the installment is scheduled to be assessed onto the account
      - `payment_due_date` string, date, required: Date the installment must be paid by before it is considered past due
      - `date_assessed` string, date, nullable, required: Date the installment was actually assessed onto the account, or null if it has not been assessed yet
      - `amount_due` integer, required: Amount the installment was opened for in cents
      - `amount_due_details` TransactionCategoryBalances, required
        - `purchases` CategoryBalances, required
          - `interest` integer, required
          - `principal` integer, required
          - `fees` integer, required
        - `cash_advances` CategoryBalances, required
          - `interest` integer, required
          - `principal` integer, required
          - `fees` integer, required
        - `balance_transfers` CategoryBalances, required
          - `interest` integer, required
          - `principal` integer, required
          - `fees` integer, required
      - `amount_paid` integer, required: Amount paid towards the installment in cents
      - `amount_paid_details` TransactionCategoryBalances, required
        - `purchases` CategoryBalances, required
          - `interest` integer, required
          - `principal` integer, required
          - `fees` integer, required
        - `cash_advances` CategoryBalances, required
          - `interest` integer, required
          - `principal` integer, required
          - `fees` integer, required
        - `balance_transfers` CategoryBalances, required
          - `interest` integer, required
          - `principal` integer, required
          - `fees` integer, required
      - `amount_outstanding` integer, required: Amount still owed on the installment in cents
      - `amount_outstanding_details` TransactionCategoryBalances, required
        - `purchases` CategoryBalances, required
          - `interest` integer, required
          - `principal` integer, required
          - `fees` integer, required
        - `cash_advances` CategoryBalances, required
          - `interest` integer, required
          - `principal` integer, required
          - `fees` integer, required
        - `balance_transfers` CategoryBalances, required
          - `interest` integer, required
          - `principal` integer, required
          - `fees` integer, required
      - `payments` InstallmentPayment[], required: Payments applied to this installment, oldest first
        - `date` string, date, required: Date the payment was applied to the installment
        - `amount` integer, required: Amount applied to the installment in cents
        - `amount_details` TransactionCategoryBalances, required
          - `purchases` CategoryBalances, required
            - `interest` integer, required
            - `principal` integer, required
            - `fees` integer, required
          - `cash_advances` CategoryBalances, required
            - `interest` integer, required
            - `principal` integer, required
            - `fees` integer, required
          - `balance_transfers` CategoryBalances, required
            - `interest` integer, required
            - `principal` integer, required
            - `fees` integer, required
  - `has_more` boolean, required

## Other responses

- `400`: A parameter in the query given in the request does not match the valid queries for the endpoint.
- `401`: | | | |---|---| | User has not been authenticated | Invalid or missing API key | | API key is not active | The API key used is no longer active | | Could not find API key | The API key provided is not associated with any user | | Please provide API key in Authorization header | The Authorization header is not in the request | | Please provide API key in the form Authorization: [api-key] | The Authorization header is not formatted properly | | Insufficient privileges. Issuing API key required | Write access requires an Issuing API key. Reach out at [lithic.com/contact](https://lithic.com/contact) | | Insufficient privileges to create virtual cards. | Creating virtual cards requires an additional privilege | Reach out at [lithic.com/contact](https://lithic.com/contact) |
- `404`: The specified resource was not found.
- `422`: Unprocessable entity.
- `429`: Client has exceeded the number of allowed requests in a given time period. | | | |---|---| | Rate limited, too many requests per second | User has exceeded their per second rate limit | | Rate limited, reached daily limit | User has exceeded their daily rate limit | | Rate limited, too many keys tried | One IP has queried too many different API keys |

## Changes

- **2026-09-18** `f8e0a7413526`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/lithic-com/apis/lithic-developer-api/changes/v1/financial_accounts/:financial_account_token/installment_plans/get.md)

---

[API](https://skmtc.dev/lithic-com/apis/lithic-developer-api.md) - [All operations](https://skmtc.dev/lithic-com/apis/lithic-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lithic-com/apis/lithic-developer-api/revisions/17d2fbc28992?raw)
