---
title: "Retrieve service contracts"
method: GET
path: "/service-contracts"
tags: ["Generic Acquirer Setup"]
---

# Retrieve service contracts

`GET /service-contracts`

This endpoint provides the user with the list of supported/configured Service Contracts for the acquirer. It returns the Service Contract index and the description.

## Headers

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

## Response `200`

OK

- InlineResponse2001 — 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."
    - `feeModel` 'INDIVIDUAL' | 'DEFAULT' — Indicates if it is a merchant individual fee or default fee. Default fees are a set of fees that apply to a group of merchants falling under the same service contract. Individual fees are fees forming part of the default set that are customised for a particular merchant.
    - `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.
    - `status` 'ACTIVE' | 'FUTURE' | 'INACTIVE' — Active - returns currently active merchant fees ( having effective date smaller than current posting date and fee mode true ). Future - returns merchant fees not yet effective ( having effective date later than current posting date ). Inactive - returns merchant fees that are not active anymore ( having expiry date smaller than current effective date ).
    - `accountType` OPYAccountAccountTypeObj — Index of the account type to be assigned to the merchant.
      - `accountTypeIndex` string — Numeric Code.
      - `accountTypeDescription` string — Contains description associated to a code in English.
    - `accountCurrencyCode` string — ISO 4217 currency of the account selected, possible values are restricted based on the institution configuration. For a list of valid codes use Acquirer Profile API GET /service-contracts/serviceContractIndex/account-settlement.
    - `effectiveDate` string — The date the FX Mergin rate becomes effective. 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
    - `triggerSource` OPYAccountFeesTriggerSourceObj — The condition that triggers the fee.
      - `triggerSourceIndex` string — Numeric Code.
      - `triggerSourceDescription` string — Contains description associated to a code in English.
    - `rule` OPYAccountFeesRuleIDObj — 
      - `ruleIDIndex` string — Numeric Code.
      - `ruleIDDescription` string — Contains description associated to a code in English.
    - `feeBaseCurrencyCode` string — The ISO 4217 currency code for the fee base, minimum and maximun amounts. Values are restricted by institution configuration.
    - `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.
    - `triggerLowValue` string — Indicates the lower 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.
    - `triggerVolumeLow` string — Indicates the lower 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.
    - `feeType` OPYAccountFeesFeeTypeObj — The posted account charges fee type, e.g. Merchant Retrieval Fee
      - `feeTypeIndex` string — Numeric Code.
      - `feeTypeDescription` string — Contains description associated to a code in English.
    - `rateCategory` OPYAccountFeesRateCategoryObj — Indicates the rate category assigned to the merchant account fee that will be used to convert the fee value into merchant funding amount.
      - `rateCategoryIndex` string — Numeric Code.
      - `rateCategoryDescription` string — Contains description associated to a code in English.
    - `feeId` OPYAccountFeesFeeIdObj — The description of the fee that will be posted to the merchant account.
      - `feeIdIndex` string — Numeric Code.
      - `feeIdDescription` string — Contains description associated to a code in English.
    - `feeLevel` OPYAccountFeesFeeLevelObj — The level at which the fee applies to the merchant.
      - `feeLevelIndex` string — Numeric Code.
      - `feeLevelDescription` string — Contains description associated to a code in English.
    - `triggerFrequency` OPYAccountFeesTriggerFrequencyObj — The frequency at which the fee is applied.
      - `triggerFrequencyIndex` string — Numeric Code.
      - `triggerFrequencyDescription` string — Contains description associated to a code in English.
    - `triggerCurrency` OPYAccountFeesTriggerCurrencyObj — For which transaction currency the fee is charged.
      - `triggerCurrencyIndex` string — Numeric Code.
      - `triggerCurrencyDescription` string — Contains description associated to a code in English.
    - `postToAccount` OPYAccountFeesPostToAccountObj — Indicates whether the generated fee should be applied to the merchant account specified in this configuration or not.
      - `postToAccountIndex` string — Numeric Code.
      - `postToAccountDescription` string — Contains description associated to a code in English.
    - `lastUpdated` string — Date when the record was last updated. Format YYYYMMDD.
    - `lastUpdatedBy` string — Contact name of the person or system description that last updated the record.
  - `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` — Bad Request - the request could not be interpreted by the server due to incorrect syntax. The client SHOULD NOT repeat the request without modifications.
- `401` — Authentication 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/versions/dd7ef6ce81a1/schema)
