---
title: "Create accumulator configuration"
method: POST
path: "/v1/accumulator-configs"
tags: ["Configuration"]
---

# Create accumulator configuration

`POST /v1/accumulator-configs`

Creates a new accumulator configuration, which keeps running totals for specified transaction types. Fees are applied to these totals based on an associated fee model.

After you create an accumulator configuration, you need to:   

1. <a href='https://developers.pismo.io/pismo-docs/reference/postmodel' target="_blank">Create a fee model</a> referencing the accumulator configuration. 
2. Attach the fee model to a <a href='https://developers.pismo.io/pismo-docs/reference/attachmentbyprogram' target="_blank">program<a> or <a href='https://developers.pismo.io/pismo-docs/reference/attachmentbyaccount' target="_blank">account<a>.

## Headers

- `x-tenant` string, required
- `x-cid` string

## Request body

- NewAccumulatorConfig
  - `level` Level, required — Hierarchy level information
    - `id` string, uuid, required — Level ID generated by the [Create hierarchy](https://developers.pismo.io/pismo-docs/reference/post-hierarchies) endpoint.
    - `index` integer, required — Hierarchy level index
    - `name` string, required — Hierarchy level name
    - `description` string, required — Hierarchy level description
  - `account_id` number — Pismo account ID
  - `identifier` string, required — Client-assigned accumulator configuration identifier for client tracking purposes. This identifier is used to <a href="https://developers.pismo.io/pismo-docs/reference/postmodel" target="_blank">create an accumulator fee model</a>.
  - `conditions` Conditions, required
    - `processing_code` ListCondition — Add processing codes representing transaction types to either include or exclude - enter one or the other, but not both. If processing codes are "include"d, then only those transactionss of those type(s) are accumulated. If processing codes are "excluded"d, then only non-excluded types are accumulated.
      - `include` string[] — Include these transaction types for accumulation
      - `exclude` string[] — Exclude these transaction types for accumulation
  - `increase_type` 'principal_amount' | 'contract_amount', required — Type of increase the accumulator will use for accumulating. `principal_amount` - The transaction amount without fees is accumulated. `contract_amount` - The transaction amount including fees is accumulated.
  - `reset_strategy` ResetStrategy — The strategy to reset the accumulators.
    - `reset_trigger` object — Trigger that resets the accumulators
      - `is_password_present` boolean — Indicates whether the client entered a password
      - `is_pin_validated_offline` boolean — Indicates whether the pin was validated offline, triggering a reset of the accumulator when true
      - `authentication_method` string[] — Indicates which authentication methods should trigger a reset of the flex-control accumulator.

## Response `201`

Created

- AccumulatorConfig
  - `id` string
  - `level` Level, required — Hierarchy level information
    - `id` string, uuid, required — Level ID generated by the [Create hierarchy](https://developers.pismo.io/pismo-docs/reference/post-hierarchies) endpoint.
    - `index` integer, required — Hierarchy level index
    - `name` string, required — Hierarchy level name
    - `description` string, required — Hierarchy level description
  - `account_id` number — Pismo account ID
  - `identifier` string, required — Client-assigned accumulator configuration identifier for client tracking purposes. This identifier is used to <a href="https://developers.pismo.io/pismo-docs/reference/postmodel" target="_blank">create an accumulator fee model</a>.
  - `conditions` Conditions, required
    - `processing_code` ListCondition — Add processing codes representing transaction types to either include or exclude - enter one or the other, but not both. If processing codes are "include"d, then only those transactionss of those type(s) are accumulated. If processing codes are "excluded"d, then only non-excluded types are accumulated.
      - `include` string[] — Include these transaction types for accumulation
      - `exclude` string[] — Exclude these transaction types for accumulation
  - `increase_type` 'principal_amount' | 'contract_amount', required — Type of increase the accumulator will use for accumulating. `principal_amount` - The transaction amount without fees is accumulated. `contract_amount` - The transaction amount including fees is accumulated.
  - `reset_strategy` ResetStrategy — The strategy to reset the accumulators.
    - `reset_trigger` object — Trigger that resets the accumulators
      - `is_password_present` boolean — Indicates whether the client entered a password
      - `is_pin_validated_offline` boolean — Indicates whether the pin was validated offline, triggering a reset of the accumulator when true
      - `authentication_method` string[] — Indicates which authentication methods should trigger a reset of the flex-control accumulator.

## Other responses

- `400` — Bad request
- `409` — Conflict
- `500` — Internal server error

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/revisions/935b62e16de4/schema)
