Create or update account transaction category

Create or update a account transaction category.

If an existing account transaction category is found (same account_id and transaction_category_id), it is updated. Otherwise, a new one is created.

For an interest rate, for example fine_rate, the field fine_rate or fine_rate_multiplier_percent must be passed. You can pass one or the other but not both. This rule applies to all interest rate fields. However, you can combine fixed amounts and multipliers for different interest rates. Note that zero (0) is considered a valid value.

Note: This endpoint requires an account token - an access token encoded with a Pismo account ID. Tokens can expire quickly, which can result in a 401 Unauthorized message.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
int64
required
≥ 1

Account ID

Body Params
int64
required

Transaction category ID. Must be associated with the passed program_id and org_id.

string
length ≤ 50

Transaction category description

float

Interest rate for the accrual type REFINANCING if the statement due date is past, but the account is not overdue. (That is, the MAD was paid.)

By default, this is a monthly rate, so the Pismo platform divides it by 30 before applying it on a daily basis. For more information, refer to Changing the interest rate period.

float

Interest rate used for the accrual type OVERDUE when the statement is past the due date and the MAD has not been paid. (The account is overdue.)

By default, this is a monthly rate, so the Pismo platform divides it by 30 before applying it on a daily basis. For more information, refer to Changing the interest rate period.

float

Fine rate. Charged once per transaction when transaction is due.

float

Interest rate used for the accrual type REFINANCING if the statement due date has passed and the MAD was not paid. Note: If this value is null, refinancing_rate_after_due_date is used instead.

By default, this is a monthly rate, so the Pismo platform divides it by 30 before applying it on a daily basis. For more information, refer to Changing the interest rate period.

float

Percentage multiplier applied to transaction category refinancing rate after due date. 1.5 = 150% of the refinancing rate.

number

Percentage multiplier applied to transaction category default rate. 1.7 = 170% of the default rate.

float

Percentage multiplier applied to transaction category fine rate. For example, 2 = 200% of the fine rate.

float

Multiplier applied to transaction category overdue rate after due date. 0.7 = 70% of the overdue rate.

int64

Account cycle in which this interest rate should start being applied. Must be greater than or equal to the current account cycle. Enter either this field or start_date, but not both. Format = yyyy-mm-dd.

date

When this interest rate should start being applied. Enter either this field or start_cylce but not both. Date must be greater than current date. Format = yyyy-mm-dd.

boolean
Defaults to false

Cancel at start date?

If false, the behavior of the endpoint is not affected.

If true, the endpoint presents the following behavior.

  • If a value is provided for start_date, the cancelled_at field is set to the day before start_date, and the configuration is canceled on that date.
  • If a value is provided for start_cycle, cancel_at_start_date is ignored. The account transaction category is immediately canceled (that is, cancelled_at is set to null), and the cancelled_at field is updated with today's date (the date of the request), just as it would be if cancel_at_start_date were false.

Note: You must provide a value for either start_date or start_cycle, but not both.

Executing this endpoint multiple times with cancel_at_start_date set to true, but with different values for rate and start_date enables you to define a schedule for when the different rates should be applied. For example, suppose you have an existing account transaction category with the following settings. account_transaction_category_id = 2301 account_id = 1 transaction_category_id = 1001 rate = 10.0 start_date = 2025-07-01

Now suppose you execute this endpoint with the following settings. (Assume 2025-07-15 is the current date or a date in the near future.) You do not have to pass an account_transaction_category_id. The Pismo platform generates a new ID and returns it in the endpoint response. Note, however, that you're passing the same value (1001) for transaction_category_id as in the existing category. account_id = 1 transaction_category_id = 1001 rate = 12.0 start_date = 2025-07-15

The new account transaction category is created with ID 2302 (for example), and the account transaction category with ID 2301 is canceled on 2025-07-14.

Suppose the client executes the endpoint again, using the following values. account_id: 1 transaction_category_id: 1001 rate: 14.0 start_date: 2025-07-25

The new account transaction category is created with ID 2303 (for example) and the account transaction category with ID 2302 is canceled on 2025-07-24. In the last request, if a value is provided for start_cycle, instead of start_date, the platform immediately cancels all of the existing account transactions categories, just as it would have done if cancel_at_start_date were false.

Headers
string
required

Account token, not a regular access token. Account tokens are encoded with an account ID. Tokens can expire quickly, which can result in an Unauthorized message.

Responses

Language
Credentials
Bearer
Account JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json