---
title: "Modify future dated account fees"
method: PUT
path: "/account-fees"
tags: ["Account Fees"]
---

# Modify future dated account fees

`PUT /account-fees`

This operation allows to update the fee mode, effective date, expiry date, fee percentage, fee base, fee minimum, fee maximum, trigger high value, trigger low value, trigger high volume and trigger low volume for one or more account fees. The fees to be updated are identified by record id number. Only individual fees whose effective date is in the future can be updated. Only passed fields will be updated, if a particular field should not be updated, it should not be passed.

## Headers

- `Content-Type` 'application/json' | 'application/json;charset=UTF-8', required
- `FSV-Interaction-Id` string, required
- `Environment` string, required
- `Institution-Number` string, required
- `Internal-Merchant-Id` string, required

## Request body

- MerchantAccountFeesUpdate[]
  - `recordIdNumber` string, required — Record id of the client account fee to be overwritten. The corresponding id should belong to the client tariff id selected on the merchant contract details and the merchant accounts with account currency assigned to the merchant. For a list of valid codes use account-fees GET endpoint in merchant maintenance API.
  - `effectiveDate` string — Effective date of the fee. For auditing reasons merchant fees can not be deleted after it has become effective hence the use of effective dates for fees. Format YYYYMMDD
  - `expiryDate` string — Expiry date for fee if defined or set to or future date 99991231. Format YYYYMMDD. The date should be in future
  - `feePercentage` string — Fee percentage to be applied. Valid value as per the Format NNNNNN.NNNN
  - `feeBase` string — Fee base to be applied. Valid value as per the Format NNNNNN.NNNN
  - `feeMinimum` string — Fee minimum to be applied. Valid value as per the Format NNNNNN.NNNN
  - `feeMaximum` string — Fee minimum to be applied. Valid value as per the Format NNNNNN.NNNN
  - `feeMode` boolean — Indicates if the fee is being generated (true) or suppressed (false). Suppressing a fee in effect is the same as setting the fee's pricing to zero, i.e. no fee will be charged.
  - `triggerHighValue` string — Indicates the upper threshold limit set in terms of value of transaction that is used as a trigger for fee calculation. If populated, it will override current active value to the merchant specific value submitted on payload. This field is allowed to be overridden as merchant specific only for certain account fees.
  - `triggerVolumeHigh` string — Indicates the upper threshold limit set in terms of volume of transactions that is used as a trigger for fee calculation. If populated, it will override current active volume to the merchant specific volume submitted on payload. This field is allowed to be overridden as merchant specific only for certain account fees.

## Response `200`

OK

- InlineResponse400 — An API response. The API response will be either a `SUCCESS` or an `ERROR`. A partial success or warning scenario will be treated as a Success with embedded messages in the meta data. A full success may not have messages. The API response will contain at least one of the following top level members."
  - `meta` MetaType — Supplementary information about the data.
    - `paging` PagingMetaType — Map containing pagination related information about data.
      - `count` integer — Total number of records present in system which can be retrieved.
      - `totalPages` integer — Total number of pages with maximum limit taken into account.
      - `currentOffset` integer — Current offset used in request.
      - `currentNumberOfRetrievedRecords` integer — Current number of retrieved records.
      - `maxLimit` integer — Maximum limit of records that can be retrieved.
      - `hasMoreRecords` boolean — Indicates if there are more records available.
      - `pageNumber` integer — Current page number.
    - `sorting` SortingMetaType — Map containing sorting related information about data.
      - `sort` string — Indicates the elements the current data is sorted with and the direction of sorting.
    - `messages` ErrorType[] — Messages related to request processing or response data - any additional information or warnings to be returned in the case of a successful API call.
      - `id` string — Generated message identifier for particular request, helping to locate server logs.
      - `code` string, required — Machine readable, unique code of the message related to particular case within operation execution. For complete list of codes please refer to API portal, messages page.
      - `title` string, required — Short description of the error. Not for displaying purposes.
      - `detail` string — Provides additional low-level details about the error to assist with troubleshooting. Not for displaying purposes.
      - `source` SourceType — Object containing references to the source of the message.
        - `pointer` string — Indicates the element in the request document which caused the error.
        - `parameter` string — Indicates which query parameter caused the error.
        - `header` string — Indicates which header caused the error.
  - `data` object[] — "Contains the primary data to be returned as the API response. Use this object only when respnse type is an array. It will not be returned in case of error."
  - `errors` ErrorType[] — "Contains one or more error messages and is mutually exclusive with the data item. This will not be returned in success scenarios."
    - `id` string — Generated message identifier for particular request, helping to locate server logs.
    - `code` string, required — Machine readable, unique code of the message related to particular case within operation execution. For complete list of codes please refer to API portal, messages page.
    - `title` string, required — Short description of the error. Not for displaying purposes.
    - `detail` string — Provides additional low-level details about the error to assist with troubleshooting. Not for displaying purposes.
    - `source` SourceType — Object containing references to the source of the message.
      - `pointer` string — Indicates the element in the request document which caused the error.
      - `parameter` string — Indicates which query parameter caused the error.
      - `header` string — Indicates which header caused the error.
  - `links` LinksType — Contains the links to retrieve the resources exposed as part of this API.
    - `self` string — The link to the primary resource being retrieved in the request.
    - `first` string — This is to provide the link to retrieve the first record/page. This SHOULD be used in case server provides pagination of the resource.
    - `last` string — This is to provide the link to retrieve the last record/page. This SHOULD be used in case server provides pagination of the resource.
    - `prev` string — This is to provide the link to retrieve the previous record/page. This SHOULD be used in case server provides pagination of the resource.
    - `next` string — This is to provide the link to retrieve the last record. This SHOULD be used in case server provides pagination of the resource

## Other responses

- `400` — Invalid request
- `401` — Authorization error
- `403` — Forbidden error i.e. Consumer token credentials are valid but lack of permissions to do this action.
- `404` — Record does not exist
- `500` — Internal Server Error

---

[API](https://skmtc.net/fiserv/apis/acquirer-profile-in-design.md) · [All operations](https://skmtc.net/fiserv/apis/acquirer-profile-in-design/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fiserv/acquirer-profile-in-design/revisions/dd7ef6ce81a1/schema)
