Lithic · Schema
Conditional Action (Authorization) Parameters
FinTechBaaSCard IssuingPaymentsEmbedded Finance
Properties
| Name | Type | Description |
|---|---|---|
| action | object | The action to take if the conditions are met. |
| conditions | array |
JSON Schema
{
"$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"
]
}