---
title: "Post interest accruals"
method: POST
path: "/v1/accounts/{accountId}/interest-accruals"
tags: ["Post interest accruals"]
---

# Post interest accruals

`POST /v1/accounts/{accountId}/interest-accruals`

## Request

- Base URL: `https://sandbox.pismolabs.io/credit-cycle-interest-accruals`
- URL: `https://sandbox.pismolabs.io/credit-cycle-interest-accruals/v1/accounts/{accountId}/interest-accruals`
- Auth: HTTP bearer

The Pismo platform filters all accruals by `accrual_status` and, optionally, by `start_date` and `end_date`. For each accrual type in the results, it adds the values and posts one transaction for the total amount.

The status for each accrual filtered is changed to `PROCESSED`.

The `201 Created` HTTP status response code indicates that the accruals were processed. However, the process that posts the transactions on the account's statement is asynchronous. To check if all transactions were created, check the [Transaction created](https://developers.pismo.io/events/docs/transaction-creation-1) event to verify that a transaction was created for each `tracking_id` returned by the endpoint.

You can use `start_date` and `end_date` to restrict the search to accruals in a specific date range (where the accrual date indicates when the client issued the asset). If you do not provide either date field, then the search returns results from any date.

NOTE: This endpoint requires an account-specific access token. Getting an account token requires you to call [Get OpenID access token](ref:post-passport-v1-oauth2-token) with an external account ID. Tokens can expire quickly, which can result in an Unauthorized message.

## Path parameters

- `accountId` integer, required

## Request body

- InterestAccrualRequest
  - `accrual_statuses` AccrualStatusesForPost[], required: Accrual statuses that you can use for filtering the interest accruals (`PENDING`, `STOP_ACCRUAL`, or both).
    - `status` 'PENDING' | 'STOP_ACCRUAL', required: Accrual status.<br> `PENDING` — Accrual has not been processed.<br> `STOP_ACCRUAL` — An accrual is generated with this status when the account has been in `OVERDUE` status for at least X number of days, where X is configured in the program parameter `Stop accrual # of days`. Accruals with STOP_ACCRUAL status are not posted at cycle closing.
  - `start_date` string, date: Start date. Format = YYYY-MM-DD.
  - `end_date` string, date: End date. Format = YYYY-MM-DD.
  - `accrual_type` string: Accrual type enables selective posting, instead of posting all types at once. If not passed, the original behavior is preserved (posts all accrual types). The following are some of the possible values. (This is not an exhaustive list.) `REFINANCING` `OVERDUE` `WITHDRAWAL_INTEREST` `BILLPAYMENT_INTEREST` `OVERDRAFT_INTEREST` `FINANCIAL_TAX`
  - `processing_code` string: Processing code. Allows overriding the processing code used for posting the transaction, instead of using the one configured in `accrual-type-post-config`. **Notes:** - If you pass `processing_code`, you must also pass the `accrual_type` field. - The provided processing code must exist in the transaction-flow service (validated via HTTP call). - If not passed, the processing code from the existing configuration (created using the [Create accrual type post configuration endpoint](ref:createaccrualtypepostconfig)) or from the default mapping is used.
  - `processing_code_fine` string: Processing code for fine. Allows overriding the processing code used specifically for posting FINE (penalty) when `accrual_type` is `OVERDUE`. **Notes:** - Only allowed when `accrual_type` = `OVERDUE` and `processing_code` is passed. - If you pass `processing_code_fine`, you must also pass `processing_code`. **Special case:** if `accrual_type` = `OVERDUE` and `processing_code` is passed, but `processing_code_fine` is **not**, and there are `FINE` accruals for the account, the endpoint returns a 409 Conflict error.

## Response `201`

Created

- InterestAccrualResponse
  - `authorizations` Authorization[], required: Authorizations created to post the accruals on the current statement. `tracking_id` can be used to check if each transaction was created after receiving a [Transaction created](https://developers.pismo.io/events/docs/transaction-creation-1) event.
    - `accrual_type` string, required: Accrual type. Should be one of the following values: `REFINANCING` `OVERDUE` `WITHDRAWAL_INTEREST` `BILLPAYMENT_INTEREST` `OVERDRAFT_INTEREST` `FINANCIAL_TAX`
    - `tracking_id` string, required: Generated tracking ID. Identifies the authorization for the debit transaction used to post the total accrual for the given accrual type.
    - `amount` number, float, required: Transaction amount

## Other responses

- `400`: Bad request
- `403`: Forbidden
- `404`: Not found
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/pismo/apis/revolving-credit-interest-accruals.md) - [All operations](https://skmtc.dev/pismo/apis/revolving-credit-interest-accruals/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/revolving-credit-interest-accruals/revisions/b2738f79f455?raw)
