{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/conditional-authorization-action-parameters", "title": "Conditional Action (Authorization) Parameters", "type": "object", "properties": { "action": { "description": "The action to take if the conditions are met.", "$ref": "#/components/schemas/authorization-action" }, "conditions": { "type": "array", "items": { "type": "object", "properties": { "attribute": { "type": "string", "description": "The attribute to target.\n\nThe following attributes may be targeted:\n* `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a business by the types of goods or services it provides.\n* `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for Netherlands Antilles.\n* `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of the transaction.\n* `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor (merchant).\n* `DESCRIPTOR`: Short description of card acceptor.\n* `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`.\n* `PAN_ENTRY_MODE`: The method by which the cardholder's primary account number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`.\n* `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer fee field in the settlement/cardholder billing currency. This is the amount the issuer should authorize against unless the issuer is paying the acquirer fee on behalf of the cardholder.\n* `CASH_AMOUNT`: The cash amount of the transaction in minor units (cents). This represents the amount of cash being withdrawn or advanced.\n* `RISK_SCORE`: Network-provided score assessing risk level associated with a given authorization. Scores are on a range of 0-999, with 0 representing the lowest risk and 999 representing the highest risk. For Visa transactions, where the raw score has a range of 0-99, Lithic will normalize the score by multiplying the raw score by 10x.\n* `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the trailing 15 minutes before the authorization.\n* `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the trailing hour up and until the authorization.\n* `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the trailing 24 hours up and until the authorization.\n* `CARD_DECLINE_COUNT_15M`: The number of declined transactions on the card in the trailing 15 minutes before the authorization.\n* `CARD_DECLINE_COUNT_1H`: The number of declined transactions on the card in the trailing hour up and until the authorization.\n* `CARD_DECLINE_COUNT_24H`: The number of declined transactions on the card in the trailing 24 hours up and until the authorization.\n* `CARD_STATE`: The current state of the card associated with the transaction. Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`, `PENDING_FULFILLMENT`.\n* `PIN_ENTERED`: Indicates whether a PIN was entered during the transaction. Valid values are `TRUE`, `FALSE`.\n* `PIN_STATUS`: The current state of card's PIN. Valid values are `NOT_SET`, `OK`, `BLOCKED`.\n* `WALLET_TYPE`: For transactions using a digital wallet token, indicates the source of the token. Valid values are `APPLE_PAY`, `GOOGLE_PAY`, `SAMSUNG_PAY`, `MASTERPASS`, `MERCHANT`, `OTHER`, `NONE`.\n* `TRANSACTION_INITIATOR`: The entity that initiated the transaction indicates the source of the token. Valid values are `CARDHOLDER`, `MERCHANT`, `UNKNOWN`.\n* `ADDRESS_MATCH`: Lithic's evaluation result comparing transaction's address data with the cardholder KYC data if it exists. Valid values are `MATCH`, `MATCH_ADDRESS_ONLY`, `MATCH_ZIP_ONLY`,`MISMATCH`,`NOT_PRESENT`.\n* `SERVICE_LOCATION_STATE`: The state/province code (ISO 3166-2) where the cardholder received the service, e.g. \"NY\". When a service location is present in the network data, the service location state is used. Otherwise, falls back to the card acceptor state.\n* `SERVICE_LOCATION_POSTAL_CODE`: The postal code where the cardholder received the service, e.g. \"10001\". When a service location is present in the network data, the service location postal code is used. Otherwise, falls back to the card acceptor postal code.\n* `CARD_AGE`: The age of the card in seconds at the time of the authorization.\n* `ACCOUNT_AGE`: The age of the account holder's account in seconds at the time of the authorization.\n* `AMOUNT_Z_SCORE`: The z-score of the transaction amount relative to the entity's transaction history. Null if fewer than 30 approved transactions in the specified window. Requires `parameters.scope` and `parameters.interval`.\n* `AVG_TRANSACTION_AMOUNT`: The average approved transaction amount for the entity over the specified window, in cents. Requires `parameters.scope` and `parameters.interval`.\n* `STDEV_TRANSACTION_AMOUNT`: The standard deviation of approved transaction amounts for the entity over the specified window, in cents. Null if fewer than 30 approved transactions in the specified window. Requires `parameters.scope` and `parameters.interval`.\n* `IS_NEW_COUNTRY`: Whether the transaction's merchant country has not been seen in the entity's transaction history. Valid values are `TRUE`, `FALSE`. Requires `parameters.scope`.\n* `IS_NEW_MCC`: Whether the transaction's MCC has not been seen in the entity's transaction history. Valid values are `TRUE`, `FALSE`. Requires `parameters.scope`.\n* `IS_FIRST_TRANSACTION`: Whether this is the first transaction for the entity. Valid values are `TRUE`, `FALSE`. Requires `parameters.scope`.\n* `CONSECUTIVE_DECLINES`: The number of consecutive declined transactions for the entity over the last 30 days (rolling). Requires `parameters.scope`. Not supported for `BUSINESS_ACCOUNT` scope.\n* `TIME_SINCE_LAST_TRANSACTION`: The number of days since the last approved transaction for the entity. Requires `parameters.scope`.\n* `DISTINCT_COUNTRY_COUNT`: The number of distinct merchant countries seen in the entity's transaction history. Requires `parameters.scope`.\n* `IS_NEW_MERCHANT`: Whether the card acceptor ID has not been seen in the card's approved transaction history (capped at the 1000 most recently seen merchants). Valid values are `TRUE`, `FALSE`. Card-scoped only; no `parameters` required.\n* `THREE_DS_SUCCESS_RATE`: The 3DS authentication success rate for the card, as a percentage from 0.0 to 100.0. Card-scoped only; no `parameters` required.", "enum": [ "MCC", "COUNTRY", "CURRENCY", "MERCHANT_ID", "DESCRIPTOR", "LIABILITY_SHIFT", "PAN_ENTRY_MODE", "TRANSACTION_AMOUNT", "CASH_AMOUNT", "RISK_SCORE", "CARD_TRANSACTION_COUNT_15M", "CARD_TRANSACTION_COUNT_1H", "CARD_TRANSACTION_COUNT_24H", "CARD_DECLINE_COUNT_15M", "CARD_DECLINE_COUNT_1H", "CARD_DECLINE_COUNT_24H", "CARD_STATE", "PIN_ENTERED", "PIN_STATUS", "WALLET_TYPE", "TRANSACTION_INITIATOR", "ADDRESS_MATCH", "SERVICE_LOCATION_STATE", "SERVICE_LOCATION_POSTAL_CODE", "CARD_AGE", "ACCOUNT_AGE", "AMOUNT_Z_SCORE", "AVG_TRANSACTION_AMOUNT", "STDEV_TRANSACTION_AMOUNT", "IS_NEW_COUNTRY", "IS_NEW_MCC", "IS_FIRST_TRANSACTION", "CONSECUTIVE_DECLINES", "TIME_SINCE_LAST_TRANSACTION", "DISTINCT_COUNTRY_COUNT", "IS_NEW_MERCHANT", "THREE_DS_SUCCESS_RATE" ] }, "parameters": { "type": "object", "description": "Additional parameters required for transaction history signal attributes. Required when\n`attribute` is one of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`,\n`STDEV_TRANSACTION_AMOUNT`, `IS_NEW_COUNTRY`, `IS_NEW_MCC`, `IS_FIRST_TRANSACTION`,\n`CONSECUTIVE_DECLINES`, `TIME_SINCE_LAST_TRANSACTION`, or `DISTINCT_COUNTRY_COUNT`.\nNot used for other attributes.", "properties": { "scope": { "type": "string", "description": "The entity scope to evaluate the attribute against.", "enum": [ "CARD", "ACCOUNT", "BUSINESS_ACCOUNT" ] }, "interval": { "type": "string", "description": "The time window for statistical attributes (`AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`). Use `LIFETIME` for all-time history or a specific window (`7D`, `30D`, `90D`).", "enum": [ "LIFETIME", "7D", "30D", "90D" ] } } }, "operation": { "$ref": "#/components/schemas/conditional-operation" }, "value": { "$ref": "#/components/schemas/conditional-value" } }, "required": [ "attribute", "operation", "value" ] } } }, "required": [ "action", "conditions" ] }