---
title: "Get a transaction rule"
method: GET
path: "/transactionRules/{transactionRuleId}"
tags: ["Transaction rules"]
---

# Get a transaction rule

`GET /transactionRules/{transactionRuleId}`

Returns the details of a transaction rule.

## Path parameters

- `transactionRuleId` string, required

## Response `200`

OK - the request has succeeded.

- TransactionRuleResponse
  - `transactionRule` TransactionRule
    - `aggregationLevel` string — The level at which data must be accumulated, used in rules with `type` **velocity** or **maxUsage**. The level must be the [same or lower in hierarchy](https://docs.adyen.com/issuing/transaction-rules#accumulate-data) than the `entityKey`. If not provided, by default, the rule will accumulate data at the **paymentInstrument** level. Possible values: **paymentInstrument**, **paymentInstrumentGroup**, **balanceAccount**, **accountHolder**, **balancePlatform**.
    - `description` string, required — Your description for the transaction rule.
    - `endDate` string — The date when the rule will stop being evaluated, in ISO 8601 extended offset date-time format. For example, **2025-03-19T10:15:30+01:00**. If not provided, the rule will be evaluated until the rule status is set to **inactive**.
    - `entityKey` TransactionRuleEntityKey, required
      - `entityReference` string — The unique identifier of the resource.
      - `entityType` string — The type of resource. Possible values: **balancePlatform**, **paymentInstrumentGroup**, **accountHolder**, **balanceAccount**, or **paymentInstrument**.
    - `id` string — The unique identifier of the transaction rule.
    - `interval` TransactionRuleInterval, required
      - `dayOfMonth` integer — The day of month, used when the `duration.unit` is **months**. If not provided, by default, this is set to **1**, the first day of the month.
      - `dayOfWeek` 'friday' | 'monday' | 'saturday' | 'sunday' | 'thursday' | 'tuesday' | 'wednesday' — The day of week, used when the `duration.unit` is **weeks**. If not provided, by default, this is set to **monday**. Possible values: **sunday**, **monday**, **tuesday**, **wednesday**, **thursday**, **friday**.
      - `duration` Duration
        - `unit` 'days' | 'hours' | 'minutes' | 'months' | 'weeks' — The unit of time. You can only use **minutes** and **hours** if the `interval.type` is **sliding**. Possible values: **minutes**, **hours**, **days**, **weeks**, or **months**
        - `value` integer — The length of time by the unit. For example, 5 days. The maximum duration is 90 days or an equivalent in other units. For example, 3 months.
      - `timeOfDay` string — The time of day, in **hh:mm:ss** format, used when the `duration.unit` is **hours**. If not provided, by default, this is set to **00:00:00**.
      - `timeZone` string — The [time zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For example, **Europe/Amsterdam**. By default, this is set to **UTC**.
      - `type` 'daily' | 'lifetime' | 'monthly' | 'perTransaction' | 'rolling' | 'sliding' | 'weekly', required — The [type of interval](https://docs.adyen.com/issuing/transaction-rules#time-intervals) during which the rule conditions and limits apply, and how often counters are reset. Possible values: * **perTransaction**: conditions are evaluated and the counters are reset for every transaction. * **daily**: the counters are reset daily at 00:00:00 CET. * **weekly**: the counters are reset every Monday at 00:00:00 CET. * **monthly**: the counters reset every first day of the month at 00:00:00 CET. * **lifetime**: conditions are applied to the lifetime of the payment instrument. * **rolling**: conditions are applied and the counters are reset based on a `duration`. If the reset date and time are not provided, Adyen applies the default reset time similar to fixed intervals. For example, if the duration is every two weeks, the counter resets every third Monday at 00:00:00 CET. * **sliding**: conditions are applied and the counters are reset based on the current time and a `duration` that you specify.
    - `outcomeType` 'enforceSCA' | 'hardBlock' | 'scoreBased' | 'timedBlock' — The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock** (default): the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. This value is not allowed when `requestType` is **bankTransfer**. * **enforceSCA**: your user is prompted to verify their identity using [3D Secure authentication](https://docs.adyen.com/issuing/3d-secure/). If the authentication fails or times out, the transaction is declined. This value is only allowed when `requestType` is **authentication**.
    - `overridesRule` string — The `id` of the transaction rule you want to override or skip for the specified `entityKey`.
    - `purpose` 'compliance' | 'fraud' | 'internalPolicy' | 'policy' | 'system' — Specifies the reason for creating the rule. Possible values: * **fraud**: the rule is created to regulate fraudulent activity. * **policy**: the rule is created to ensure that the transaction adheres to your business' policies. For example, if your business has policies about the Merchant Category Codes (MCCs) allowed on a transaction, you can create a rule to block transactions that have specific MCCs.
    - `reference` string, required — Your reference for the transaction rule.
    - `requestType` 'authentication' | 'authorization' | 'bankTransfer' | 'tokenization' — Indicates the type of request to which the rule applies. If not provided, by default, this is set to **authorization**. Possible values: **authorization**, **authentication**, **tokenization**, **bankTransfer**.
    - `ruleRestrictions` TransactionRuleRestrictions, required
      - `activeNetworkTokens` ActiveNetworkTokensRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` integer — The number of tokens.
      - `brandVariants` BrandVariantsRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[] — List of card brand variants. Possible values: - **mc**, **mccredit**, **mccommercialcredit_b2b**, **mcdebit**, **mcbusinessdebit**, **mcbusinessworlddebit**, **mcprepaid**, **mcmaestro** - **visa**, **visacredit**, **visadebit**, **visaprepaid**. You can specify a rule for a generic variant. For example, to create a rule for all Mastercard payment instruments, use **mc**. The rule is applied to all payment instruments under **mc**, such as **mcbusinessdebit** and **mcdebit**.
      - `counterpartyBank` CounterpartyBankRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` BankIdentification[] — The list of counterparty bank institutions to be evaluated.
          - `country` string — Two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.
          - `identification` string — The bank identification code.
          - `identificationType` 'bic' | 'iban' | 'routingNumber' | 'sortCode' — The type of the identification. Possible values: **iban**, **routingNumber**, **sortCode**, **bic**.
      - `counterpartyTypes` CounterpartyTypesRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[] — The list of counterparty types to be evaluated.
      - `countries` CountriesRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[] — List of two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country codes.
      - `dayOfWeek` DayOfWeekRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[] — List of days of the week. Possible values: **monday**, **tuesday**, **wednesday**, **thursday**, **friday**, **saturday**, **sunday**.
      - `differentCurrencies` DifferentCurrenciesRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` boolean — Checks the currency of the payment against the currency of the payment instrument. Possible values: - **true**: The currency of the payment is different from the currency of the payment instrument. - **false**: The currencies are the same.
      - `entryModes` EntryModesRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[] — List of point-of-sale entry modes. Possible values: **barcode**, **chip**, **cof**, **contactless**, **magstripe**, **manual**, **ocr**, **server**.
      - `internationalTransaction` InternationalTransactionRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` boolean — Boolean indicating whether transaction is an international transaction. Possible values: - **true**: The transaction is an international transaction. - **false**: The transaction is a domestic transaction.
      - `matchingTransactions` MatchingTransactionsRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` integer — The number of transactions.
      - `matchingValues` MatchingValuesRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[]
      - `mccs` MccsRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[] — List of merchant category codes (MCCs).
      - `merchantNames` MerchantNamesRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` StringMatch[]
          - `operation` 'contains' | 'endsWith' | 'isEqualTo' | 'startsWith' — The type of string matching operation. Possible values: **startsWith**, **endsWith**, **isEqualTo**, **contains**,
          - `value` string — The string to be matched.
      - `merchants` MerchantsRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` MerchantAcquirerPair[] — List of merchant ID and acquirer ID pairs.
          - `acquirerId` string — The acquirer ID.
          - `merchantId` string — The merchant identification number (MID).
      - `processingTypes` ProcessingTypesRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[] — List of processing types. Possible values: **atmWithdraw**, **balanceInquiry**, **ecommerce**, **moto**, **pos**, **recurring**, **token**.
      - `riskScores` RiskScoresRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` RiskScores
          - `mastercard` integer — Transaction risk score provided by Mastercard. Values provided by Mastercard range between 0 (lowest risk) to 998 (highest risk).
          - `visa` integer — Transaction risk score provided by Visa. Values provided by Visa range between 01 (lowest risk) to 99 (highest risk).
      - `sameAmountRestriction` SameAmountRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` boolean
      - `sameCounterpartyRestriction` SameCounterpartyRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` boolean
      - `sourceAccountTypes` SourceAccountTypesRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[] — The list of source account types to be evaluated.
      - `timeOfDay` TimeOfDayRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` TimeOfDay
          - `endTime` string — The end time in a time-only ISO-8601 extended offset format. For example: **08:00:00+02:00**, **22:30:00-03:00**.
          - `startTime` string — The start time in a time-only ISO-8601 extended offset format. For example: **08:00:00+02:00**, **22:30:00-03:00**.
      - `tokenRequestors` TokenRequestorsRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[]
      - `totalAmount` TotalAmountRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` Amount
          - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the amount.
          - `value` integer, required — The numeric value of the amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
      - `walletProviderAccountScore` WalletProviderAccountScoreRestriction
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` integer
      - `walletProviderDeviceScore` WalletProviderDeviceScore
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` integer
      - `walletProviderDeviceType` WalletProviderDeviceType
        - `operation` string, required — Defines how the condition must be evaluated.
        - `value` string[]
    - `score` integer — A positive or negative score applied to the transaction if it meets the conditions of the rule. Required when `outcomeType` is **scoreBased**. The value must be between **-100** and **100**.
    - `startDate` string — The date when the rule will start to be evaluated, in ISO 8601 extended offset date-time format. For example, **2025-03-19T10:15:30+01:00**. If not provided when creating a transaction rule, the `startDate` is set to the date when the rule status is set to **active**.
    - `status` 'active' | 'inactive' — The status of the transaction rule. If you provide a `startDate` in the request, the rule is automatically created with an **active** status. Possible values: **active**, **inactive**.
    - `type` 'allowList' | 'blockList' | 'bypass' | 'maxUsage' | 'velocity', required — The [type of rule](https://docs.adyen.com/issuing/transaction-rules#rule-types), which defines if a rule blocks transactions based on individual characteristics or accumulates data. Possible values: * **blockList**: decline a transaction when the conditions are met. * **maxUsage**: add the amount or number of transactions for the lifetime of a payment instrument, and then decline a transaction when the specified limits are met. * **velocity**: add the amount or number of transactions based on a specified time interval, and then decline a transaction when the specified limits are met. * **bypass**: bypass or skip a rule for the specified `entityKey`. Transactions processed to that entity are no longer evaluated by the bypassed rule. You must provide the `id` of the rule to bypass in `overridesRule` and leave the `ruleRestrictions` object empty.

## Other responses

- `400` — Bad Request - a problem reading or understanding the request.
- `401` — Unauthorized - authentication required.
- `403` — Forbidden - insufficient permissions to process the request.
- `422` — Unprocessable Entity - a request validation error.
- `500` — Internal Server Error - the server could not process the request.

---

[API](https://skmtc.net/adyen/apis/balanceplatformservice.md) · [All operations](https://skmtc.net/adyen/apis/balanceplatformservice/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/adyen/balanceplatformservice/revisions/8761ac1a9aab/schema)
