# Real-Time Decisions
> Real Time Decisions are created when your application needs to take action in real-time to some event such as a card authorization. For more information, see our [Real-Time Decisions guide](https://increase.com/documentation/real-time-decisions).

## The Real-Time Decision object
### Example
```json
{
  "card_authentication": null,
  "card_authentication_challenge": null,
  "card_authorization": {
    "account_id": "account_in71c4amph0vgo2qllky",
    "additional_amounts": {
      "clinic": null,
      "dental": null,
      "original": null,
      "prescription": null,
      "surcharge": null,
      "total_cumulative": null,
      "total_healthcare": null,
      "transit": null,
      "unknown": null,
      "vision": null
    },
    "approval": null,
    "card_id": "card_oubs0hwk5rn6knuecxg2",
    "decision": "approve",
    "decline": null,
    "digital_wallet_token_id": null,
    "direction": "settlement",
    "merchant_acceptor_id": "5665270011000168",
    "merchant_category_code": "5734",
    "merchant_city": "New York",
    "merchant_country": "US",
    "merchant_descriptor": "AMAZON.COM",
    "merchant_postal_code": "10045",
    "merchant_state": "NY",
    "network_details": {
      "category": "visa",
      "pulse": null,
      "visa": {
        "electronic_commerce_indicator": "secure_electronic_commerce",
        "point_of_service_entry_mode": "manual",
        "stand_in_processing_reason": null,
        "terminal_entry_capability": "magnetic_stripe"
      }
    },
    "network_identifiers": {
      "authorization_identification_response": null,
      "retrieval_reference_number": "785867080153",
      "trace_number": "487941",
      "transaction_id": "627199945183184"
    },
    "network_risk_score": 10,
    "partial_approval_capability": "not_supported",
    "physical_card_id": null,
    "presentment_amount": 100,
    "presentment_currency": "USD",
    "processing_category": "purchase",
    "request_details": {
      "category": "initial_authorization",
      "incremental_authorization": null,
      "initial_authorization": {}
    },
    "settlement_amount": 100,
    "settlement_currency": "USD",
    "terminal_id": "RCN5VNXS",
    "upcoming_card_payment_id": "card_payment_nd3k2kacrqjli8482ave",
    "verification": {
      "card_verification_code": {
        "result": "match"
      },
      "cardholder_address": {
        "actual_line1": "33 Liberty Street",
        "actual_postal_code": "94131",
        "provided_line1": "33 Liberty Street",
        "provided_postal_code": "94132",
        "result": "postal_code_no_match_address_match"
      },
      "cardholder_name": null
    }
  },
  "card_balance_inquiry": null,
  "category": "card_authorization_requested",
  "created_at": "2020-01-31T23:59:59Z",
  "digital_wallet_authentication": null,
  "digital_wallet_token": null,
  "id": "real_time_decision_j76n2e810ezcg3zh5qtn",
  "status": "pending",
  "timeout_at": "2020-01-31T23:59:59Z",
  "type": "real_time_decision"
}
```
### Attributes
- `card_authentication` (dictionary, nullable)
  Fields related to a 3DS authentication attempt.

  - `card_authentication.access_control_server_transaction_identifier` (string)
    A unique identifier assigned by the Access Control Server (us) for this transaction.

  - `card_authentication.account_id` (string)
    The identifier of the Account the card belongs to.

  - `card_authentication.billing_address_city` (string, nullable)
    The city of the cardholder billing address associated with the card used for this purchase.

  - `card_authentication.billing_address_country` (string, nullable)
    The country of the cardholder billing address associated with the card used for this purchase.

  - `card_authentication.billing_address_line1` (string, nullable)
    The first line of the cardholder billing address associated with the card used for this purchase.

  - `card_authentication.billing_address_line2` (string, nullable)
    The second line of the cardholder billing address associated with the card used for this purchase.

  - `card_authentication.billing_address_line3` (string, nullable)
    The third line of the cardholder billing address associated with the card used for this purchase.

  - `card_authentication.billing_address_postal_code` (string, nullable)
    The postal code of the cardholder billing address associated with the card used for this purchase.

  - `card_authentication.billing_address_state` (string, nullable)
    The US state of the cardholder billing address associated with the card used for this purchase.

  - `card_authentication.card_id` (string)
    The identifier of the Card.

  - `card_authentication.cardholder_email` (string, nullable)
    The email address of the cardholder.

  - `card_authentication.cardholder_name` (string, nullable)
    The name of the cardholder.

  - `card_authentication.decision` (enum, nullable)
    Whether or not the authentication attempt was approved.
    Cases:
    * `approve` (Approve the authentication attempt without triggering a challenge.)
    * `challenge` (Request further validation before approving the authentication attempt.)
    * `deny` (Deny the authentication attempt.)

  - `card_authentication.device_channel` (dictionary)
    The device channel of the card authentication attempt.

      - `card_authentication.device_channel.browser` (dictionary, nullable)
        Fields specific to the browser device channel.

            - `card_authentication.device_channel.browser.accept_header` (string, nullable)
              The accept header from the cardholder's browser.

            - `card_authentication.device_channel.browser.ip_address` (string, nullable)
              The IP address of the cardholder's browser.

            - `card_authentication.device_channel.browser.javascript_enabled` (enum, nullable)
              Whether JavaScript is enabled in the cardholder's browser.
              Cases:
              * `enabled` (JavaScript is enabled in the cardholder's browser.)
              * `disabled` (JavaScript is not enabled in the cardholder's browser.)

            - `card_authentication.device_channel.browser.language` (string, nullable)
              The language of the cardholder's browser.

            - `card_authentication.device_channel.browser.user_agent` (string, nullable)
              The user agent of the cardholder's browser.

      - `card_authentication.device_channel.category` (enum)
        The category of the device channel.
        Cases:
        * `app` (The authentication attempt was made from an app.)
        * `browser` (The authentication attempt was made from a browser.)
        * `three_ds_requestor_initiated` (The authentication attempt was initiated by the 3DS Requestor.)

      - `card_authentication.device_channel.merchant_initiated` (dictionary, nullable)
        Fields specific to merchant initiated transactions.

            - `card_authentication.device_channel.merchant_initiated.indicator` (enum)
              The merchant initiated indicator for the transaction.
              Cases:
              * `recurring_transaction` (Recurring transaction.)
              * `installment_transaction` (Installment transaction.)
              * `add_card` (Add card.)
              * `maintain_card_information` (Maintain card information.)
              * `account_verification` (Account verification.)
              * `split_delayed_shipment` (Split or delayed shipment.)
              * `top_up` (Top up.)
              * `mail_order` (Mail order.)
              * `telephone_order` (Telephone order.)
              * `whitelist_status_check` (Whitelist status check.)
              * `other_payment` (Other payment.)
              * `billing_agreement` (Billing agreement.)
              * `device_binding_status_check` (Device binding status check.)
              * `card_security_code_status_check` (Card security code status check.)
              * `delayed_shipment` (Delayed shipment.)
              * `split_payment` (Split payment.)
              * `fido_credential_deletion` (FIDO credential deletion.)
              * `fido_credential_registration` (FIDO credential registration.)
              * `decoupled_authentication_fallback` (Decoupled authentication fallback.)

  - `card_authentication.directory_server_transaction_identifier` (string)
    A unique identifier assigned by the Directory Server (the card network) for this transaction.

  - `card_authentication.merchant_acceptor_id` (string, nullable)
    The merchant identifier (commonly abbreviated as MID) of the merchant the card is transacting with.

  - `card_authentication.merchant_category_code` (string, nullable)
    The Merchant Category Code (commonly abbreviated as MCC) of the merchant the card is transacting with.

  - `card_authentication.merchant_country` (string, nullable)
    The country the merchant resides in.

  - `card_authentication.merchant_name` (string, nullable)
    The name of the merchant.

  - `card_authentication.message_category` (dictionary)
    The message category of the card authentication attempt.

      - `card_authentication.message_category.category` (enum)
        The category of the card authentication attempt.
        Cases:
        * `payment_authentication` (The authentication attempt is for a payment.)
        * `non_payment_authentication` (The authentication attempt is not for a payment.)

      - `card_authentication.message_category.non_payment` (dictionary, nullable)
        Fields specific to non-payment authentication attempts.

      - `card_authentication.message_category.payment` (dictionary, nullable)
        Fields specific to payment authentication attempts.

            - `card_authentication.message_category.payment.purchase_amount` (integer)
              The purchase amount in minor units.

            - `card_authentication.message_category.payment.purchase_amount_cardholder_estimated` (integer, nullable)
              The purchase amount in the cardholder's currency (i.e., USD) estimated using daily conversion rates from the card network.

            - `card_authentication.message_category.payment.purchase_currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the authentication attempt's purchase currency.

            - `card_authentication.message_category.payment.transaction_type` (enum, nullable)
              The type of transaction being authenticated.
              Cases:
              * `goods_service_purchase` (Purchase of goods or services.)
              * `check_acceptance` (Check acceptance.)
              * `account_funding` (Account funding.)
              * `quasi_cash_transaction` (Quasi-cash transaction.)
              * `prepaid_activation_and_load` (Prepaid activation and load.)

  - `card_authentication.prior_authenticated_card_payment_id` (string, nullable)
    The ID of a prior Card Authentication that the requestor used to authenticate this cardholder for a previous transaction.

  - `card_authentication.requestor_authentication_indicator` (enum, nullable)
    The 3DS requestor authentication indicator describes why the authentication attempt is performed, such as for a recurring transaction.
    Cases:
    * `payment_transaction` (The authentication is for a payment transaction.)
    * `recurring_transaction` (The authentication is for a recurring transaction.)
    * `installment_transaction` (The authentication is for an installment transaction.)
    * `add_card` (The authentication is for adding a card.)
    * `maintain_card` (The authentication is for maintaining a card.)
    * `emv_token_cardholder_verification` (The authentication is for EMV token cardholder verification.)
    * `billing_agreement` (The authentication is for a billing agreement.)

  - `card_authentication.requestor_challenge_indicator` (enum, nullable)
    Indicates whether a challenge is requested for this transaction.
    Cases:
    * `no_preference` (No preference.)
    * `no_challenge_requested` (No challenge requested.)
    * `challenge_requested_3ds_requestor_preference` (Challenge requested, 3DS Requestor preference.)
    * `challenge_requested_mandate` (Challenge requested, mandate.)
    * `no_challenge_requested_transactional_risk_analysis_already_performed` (No challenge requested, transactional risk analysis already performed.)
    * `no_challenge_requested_data_share_only` (No challenge requested, data share only.)
    * `no_challenge_requested_strong_consumer_authentication_already_performed` (No challenge requested, strong consumer authentication already performed.)
    * `no_challenge_requested_utilize_whitelist_exemption_if_no_challenge_required` (No challenge requested, utilize whitelist exemption if no challenge required.)
    * `challenge_requested_whitelist_prompt_requested_if_challenge_required` (Challenge requested, whitelist prompt requested if challenge required.)

  - `card_authentication.requestor_name` (string)
    The name of the 3DS requestor.

  - `card_authentication.requestor_url` (string)
    The URL of the 3DS requestor.

  - `card_authentication.shipping_address_city` (string, nullable)
    The city of the shipping address associated with this purchase.

  - `card_authentication.shipping_address_country` (string, nullable)
    The country of the shipping address associated with this purchase.

  - `card_authentication.shipping_address_line1` (string, nullable)
    The first line of the shipping address associated with this purchase.

  - `card_authentication.shipping_address_line2` (string, nullable)
    The second line of the shipping address associated with this purchase.

  - `card_authentication.shipping_address_line3` (string, nullable)
    The third line of the shipping address associated with this purchase.

  - `card_authentication.shipping_address_postal_code` (string, nullable)
    The postal code of the shipping address associated with this purchase.

  - `card_authentication.shipping_address_state` (string, nullable)
    The US state of the shipping address associated with this purchase.

  - `card_authentication.three_d_secure_server_transaction_identifier` (string)
    A unique identifier assigned by the 3DS Server initiating the authentication attempt for this transaction.

  - `card_authentication.upcoming_card_payment_id` (string)
    The identifier of the Card Payment this authentication attempt will belong to. Available in the API once the card authentication has completed.

- `card_authentication_challenge` (dictionary, nullable)
  Fields related to a 3DS authentication attempt.

  - `card_authentication_challenge.account_id` (string)
    The identifier of the Account the card belongs to.

  - `card_authentication_challenge.card_id` (string)
    The identifier of the Card that is being tokenized.

  - `card_authentication_challenge.card_payment_id` (string)
    The identifier of the Card Payment this authentication challenge attempt belongs to.

  - `card_authentication_challenge.one_time_code` (string)
    The one-time code delivered to the cardholder.

  - `card_authentication_challenge.result` (enum, nullable)
    Whether or not the challenge was delivered to the cardholder.
    Cases:
    * `success` (Your application successfully delivered the one-time code to the cardholder.)
    * `failure` (Your application was unable to deliver the one-time code to the cardholder.)

- `card_authorization` (dictionary, nullable)
  Fields related to a card authorization.

  - `card_authorization.account_id` (string)
    The identifier of the Account the authorization will debit.

  - `card_authorization.additional_amounts` (dictionary)
    Additional amounts associated with the card authorization, such as ATM surcharges fees. These are usually a subset of the `amount` field and are used to provide more detailed information about the transaction.

      - `card_authorization.additional_amounts.clinic` (dictionary, nullable)
        The part of this transaction amount that was for clinic-related services.

            - `card_authorization.additional_amounts.clinic.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_authorization.additional_amounts.clinic.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_authorization.additional_amounts.dental` (dictionary, nullable)
        The part of this transaction amount that was for dental-related services.

            - `card_authorization.additional_amounts.dental.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_authorization.additional_amounts.dental.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_authorization.additional_amounts.original` (dictionary, nullable)
        The original pre-authorized amount.

            - `card_authorization.additional_amounts.original.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_authorization.additional_amounts.original.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_authorization.additional_amounts.prescription` (dictionary, nullable)
        The part of this transaction amount that was for healthcare prescriptions.

            - `card_authorization.additional_amounts.prescription.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_authorization.additional_amounts.prescription.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_authorization.additional_amounts.surcharge` (dictionary, nullable)
        The surcharge amount charged for this transaction by the merchant.

            - `card_authorization.additional_amounts.surcharge.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_authorization.additional_amounts.surcharge.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_authorization.additional_amounts.total_cumulative` (dictionary, nullable)
        The total amount of a series of incremental authorizations, optionally provided.

            - `card_authorization.additional_amounts.total_cumulative.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_authorization.additional_amounts.total_cumulative.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_authorization.additional_amounts.total_healthcare` (dictionary, nullable)
        The total amount of healthcare-related additional amounts.

            - `card_authorization.additional_amounts.total_healthcare.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_authorization.additional_amounts.total_healthcare.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_authorization.additional_amounts.transit` (dictionary, nullable)
        The part of this transaction amount that was for transit-related services.

            - `card_authorization.additional_amounts.transit.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_authorization.additional_amounts.transit.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_authorization.additional_amounts.unknown` (dictionary, nullable)
        An unknown additional amount.

            - `card_authorization.additional_amounts.unknown.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_authorization.additional_amounts.unknown.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_authorization.additional_amounts.vision` (dictionary, nullable)
        The part of this transaction amount that was for vision-related services.

            - `card_authorization.additional_amounts.vision.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_authorization.additional_amounts.vision.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

  - `card_authorization.approval` (dictionary, nullable)
    Present if and only if `decision` is `approve`. Contains information related to the approval of the authorization.

      - `card_authorization.approval.partial_amount` (integer, nullable)
        If the authorization was partially approved, this field contains the approved amount in the minor unit of the settlement currency.

  - `card_authorization.card_id` (string)
    The identifier of the Card that is being authorized.

  - `card_authorization.decision` (enum, nullable)
    Whether or not the authorization was approved.
    Cases:
    * `approve` (Approve the authorization.)
    * `decline` (Decline the authorization.)

  - `card_authorization.decline` (dictionary, nullable)
    Present if and only if `decision` is `decline`. Contains information related to the reason the authorization was declined.

      - `card_authorization.decline.reason` (enum)
        The reason the authorization was declined.
        Cases:
        * `insufficient_funds` (The cardholder does not have sufficient funds to cover the transaction. The merchant may attempt to process the transaction again.)
        * `transaction_never_allowed` (This type of transaction is not allowed for this card. This transaction should not be retried.)
        * `exceeds_approval_limit` (The transaction amount exceeds the cardholder's approval limit. The merchant may attempt to process the transaction again.)
        * `card_temporarily_disabled` (The card has been temporarily disabled or not yet activated. The merchant may attempt to process the transaction again.)
        * `suspected_fraud` (The transaction is suspected to be fraudulent. The merchant may attempt to process the transaction again.)
        * `other` (The transaction was declined for another reason. The merchant may attempt to process the transaction again. This should be used sparingly.)

  - `card_authorization.digital_wallet_token_id` (string, nullable)
    If the authorization was made via a Digital Wallet Token (such as an Apple Pay purchase), the identifier of the token that was used.

  - `card_authorization.direction` (enum)
    The direction describes the direction the funds will move, either from the cardholder to the merchant or from the merchant to the cardholder.
    Cases:
    * `settlement` (A regular card authorization where funds are debited from the cardholder.)
    * `refund` (A refund card authorization, sometimes referred to as a credit voucher authorization, where funds are credited to the cardholder.)

  - `card_authorization.merchant_acceptor_id` (string)
    The merchant identifier (commonly abbreviated as MID) of the merchant the card is transacting with.

  - `card_authorization.merchant_category_code` (string)
    The Merchant Category Code (commonly abbreviated as MCC) of the merchant the card is transacting with.

  - `card_authorization.merchant_city` (string, nullable)
    The city the merchant resides in.

  - `card_authorization.merchant_country` (string)
    The country the merchant resides in.

  - `card_authorization.merchant_descriptor` (string)
    The merchant descriptor of the merchant the card is transacting with.

  - `card_authorization.merchant_postal_code` (string, nullable)
    The merchant's postal code. For US merchants this is either a 5-digit or 9-digit ZIP code, where the first 5 and last 4 are separated by a dash.

  - `card_authorization.merchant_state` (string, nullable)
    The state the merchant resides in.

  - `card_authorization.network_details` (dictionary)
    Fields specific to the `network`.

      - `card_authorization.network_details.category` (enum)
        The payment network used to process this card authorization.
        Cases:
        * `visa` (Visa)
        * `pulse` (Pulse)

      - `card_authorization.network_details.pulse` (dictionary, nullable)
        Fields specific to the `pulse` network.

      - `card_authorization.network_details.visa` (dictionary, nullable)
        Fields specific to the `visa` network.

            - `card_authorization.network_details.visa.electronic_commerce_indicator` (enum, nullable)
              For electronic commerce transactions, this identifies the level of security used in obtaining the customer's payment credential. For mail or telephone order transactions, identifies the type of mail or telephone order.
              Cases:
              * `mail_phone_order` (Single transaction of a mail/phone order: Use to indicate that the transaction is a mail/phone order purchase, not a recurring transaction or installment payment. For domestic transactions in the US region, this value may also indicate one bill payment transaction in the card-present or card-absent environments.)
              * `recurring` (Recurring transaction: Payment indicator used to indicate a recurring transaction that originates from an acquirer in the US region.)
              * `installment` (Installment payment: Payment indicator used to indicate one purchase of goods or services that is billed to the account in multiple charges over a period of time agreed upon by the cardholder and merchant from transactions that originate from an acquirer in the US region.)
              * `unknown_mail_phone_order` (Unknown classification: other mail order: Use to indicate that the type of mail/telephone order is unknown.)
              * `secure_electronic_commerce` (Secure electronic commerce transaction: Use to indicate that the electronic commerce transaction has been authenticated using e.g., 3-D Secure)
              * `non_authenticated_security_transaction_at_3ds_capable_merchant` (Non-authenticated security transaction at a 3-D Secure-capable merchant, and merchant attempted to authenticate the cardholder using 3-D Secure: Use to identify an electronic commerce transaction where the merchant attempted to authenticate the cardholder using 3-D Secure, but was unable to complete the authentication because the issuer or cardholder does not participate in the 3-D Secure program.)
              * `non_authenticated_security_transaction` (Non-authenticated security transaction: Use to identify an electronic commerce transaction that uses data encryption for security however, cardholder authentication is not performed using 3-D Secure.)
              * `non_secure_transaction` (Non-secure transaction: Use to identify an electronic commerce transaction that has no data protection.)

            - `card_authorization.network_details.visa.point_of_service_entry_mode` (enum, nullable)
              The method used to enter the cardholder's primary account number and card expiration date.
              Cases:
              * `unknown` (Unknown)
              * `manual` (Manual key entry)
              * `magnetic_stripe_no_cvv` (Magnetic stripe read, without card verification value)
              * `optical_code` (Optical code)
              * `integrated_circuit_card` (Contact chip card)
              * `contactless` (Contactless read of chip card)
              * `credential_on_file` (Transaction initiated using a credential that has previously been stored on file)
              * `magnetic_stripe` (Magnetic stripe read)
              * `contactless_magnetic_stripe` (Contactless read of magnetic stripe data)
              * `integrated_circuit_card_no_cvv` (Contact chip card, without card verification value)

            - `card_authorization.network_details.visa.stand_in_processing_reason` (enum, nullable)
              Only present when `actioner: network`. Describes why a card authorization was approved or declined by Visa through stand-in processing.
              Cases:
              * `issuer_error` (Increase failed to process the authorization in a timely manner.)
              * `invalid_physical_card` (The physical card read had an invalid CVV or dCVV.)
              * `invalid_cryptogram` (The card's authorization request cryptogram was invalid. The cryptogram can be from a physical card or a Digital Wallet Token purchase.)
              * `invalid_cardholder_authentication_verification_value` (The 3DS cardholder authentication verification value was invalid.)
              * `internal_visa_error` (An internal Visa error occurred. Visa uses this reason code for certain expected occurrences as well, such as Application Transaction Counter (ATC) replays.)
              * `merchant_transaction_advisory_service_authentication_required` (The merchant has enabled Visa's Transaction Advisory Service and requires further authentication to perform the transaction. In practice this is often utilized at fuel pumps to tell the cardholder to see the cashier.)
              * `payment_fraud_disruption_acquirer_block` (The transaction was blocked by Visa's Payment Fraud Disruption service due to fraudulent Acquirer behavior, such as card testing.)
              * `other` (An unspecific reason for stand-in processing.)

            - `card_authorization.network_details.visa.terminal_entry_capability` (enum, nullable)
              The capability of the terminal being used to read the card. Shows whether a terminal can e.g., accept chip cards or if it only supports magnetic stripe reads. This reflects the highest capability of the terminal — for example, a terminal that supports both chip and magnetic stripe will be identified as chip-capable.
              Cases:
              * `unknown` (Unknown)
              * `terminal_not_used` (No terminal was used for this transaction.)
              * `magnetic_stripe` (The terminal can only read magnetic stripes and does not have chip or contactless reading capability.)
              * `barcode` (The terminal can only read barcodes.)
              * `optical_character_recognition` (The terminal can only read cards via Optical Character Recognition.)
              * `chip_or_contactless` (The terminal supports contact chip cards and can also read the magnetic stripe. If contact chip is supported, this value is used regardless of whether contactless is also supported.)
              * `contactless_only` (The terminal supports contactless reads but does not support contact chip. Only used when the terminal lacks contact chip capability.)
              * `no_capability` (The terminal has no card reading capability.)

  - `card_authorization.network_identifiers` (dictionary)
    Network-specific identifiers for a specific request or transaction.

      - `card_authorization.network_identifiers.authorization_identification_response` (string, nullable)
        The randomly generated 6-character Authorization Identification Response code sent back to the acquirer in an approved response.

      - `card_authorization.network_identifiers.retrieval_reference_number` (string, nullable)
        A life-cycle identifier used across e.g., an authorization and a reversal. Expected to be unique per acquirer within a window of time. For some card networks the retrieval reference number includes the trace counter.

      - `card_authorization.network_identifiers.trace_number` (string, nullable)
        A counter used to verify an individual authorization. Expected to be unique per acquirer within a window of time.

      - `card_authorization.network_identifiers.transaction_id` (string, nullable)
        A globally unique transaction identifier provided by the card network, used across multiple life-cycle requests.

  - `card_authorization.network_risk_score` (integer, nullable)
    The risk score generated by the card network. For Visa this is the Visa Advanced Authorization risk score, from 0 to 99, where 99 is the riskiest. For Pulse the score is from 0 to 999, where 999 is the riskiest.

  - `card_authorization.partial_approval_capability` (enum)
    Whether or not the authorization supports partial approvals.
    Cases:
    * `supported` (This transaction supports partial approvals.)
    * `not_supported` (This transaction does not support partial approvals.)

  - `card_authorization.physical_card_id` (string, nullable)
    If the authorization was made in-person with a physical card, the Physical Card that was used.

  - `card_authorization.presentment_amount` (integer)
    The amount of the attempted authorization in the currency the card user sees at the time of purchase, in the minor unit of that currency. For dollars, for example, this is cents.

  - `card_authorization.presentment_currency` (string)
    The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the currency the user sees at the time of purchase.

  - `card_authorization.processing_category` (enum)
    The processing category describes the intent behind the authorization, such as whether it was used for bill payments or an automatic fuel dispenser.
    Cases:
    * `account_funding` (Account funding transactions are transactions used to e.g., fund an account or transfer funds between accounts.)
    * `automatic_fuel_dispenser` (Automatic fuel dispenser authorizations occur when a card is used at a gas pump, prior to the actual transaction amount being known. They are followed by an advice message that updates the amount of the pending transaction.)
    * `bill_payment` (A transaction used to pay a bill.)
    * `original_credit` (Original credit transactions are used to send money to a cardholder.)
    * `purchase` (A regular purchase.)
    * `quasi_cash` (Quasi-cash transactions represent purchases of items which may be convertible to cash.)
    * `refund` (A refund card authorization, sometimes referred to as a credit voucher authorization, where funds are credited to the cardholder.)
    * `cash_disbursement` (Cash disbursement transactions are used to withdraw cash from an ATM or a point of sale.)
    * `balance_inquiry` (A balance inquiry transaction is used to check the balance of an account associated with a card.)
    * `unknown` (The processing category is unknown.)

  - `card_authorization.request_details` (dictionary)
    Fields specific to the type of request, such as an incremental authorization.

      - `card_authorization.request_details.category` (enum)
        The type of this request (e.g., an initial authorization or an incremental authorization).
        Cases:
        * `initial_authorization` (A regular, standalone authorization.)
        * `incremental_authorization` (An incremental request to increase the amount of an existing authorization.)

      - `card_authorization.request_details.incremental_authorization` (dictionary, nullable)
        Fields specific to the category `incremental_authorization`.

            - `card_authorization.request_details.incremental_authorization.card_payment_id` (string)
              The card payment for this authorization and increment.

            - `card_authorization.request_details.incremental_authorization.original_card_authorization_id` (string)
              The identifier of the card authorization this request is attempting to increment.

      - `card_authorization.request_details.initial_authorization` (dictionary, nullable)
        Fields specific to the category `initial_authorization`.

  - `card_authorization.settlement_amount` (integer)
    The amount of the attempted authorization in the currency it will be settled in. This currency is the same as that of the Account the card belongs to.

  - `card_authorization.settlement_currency` (string)
    The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the currency the transaction will be settled in.

  - `card_authorization.terminal_id` (string, nullable)
    The terminal identifier (commonly abbreviated as TID) of the terminal the card is transacting with.

  - `card_authorization.upcoming_card_payment_id` (string)
    The identifier of the Card Payment this authorization will belong to. Available in the API once the card authorization has completed.

  - `card_authorization.verification` (dictionary)
    Fields related to verification of cardholder-provided values.

      - `card_authorization.verification.card_verification_code` (dictionary)
        Fields related to verification of the Card Verification Code, a 3-digit code on the back of the card.

            - `card_authorization.verification.card_verification_code.result` (enum)
              The result of verifying the Card Verification Code.
              Cases:
              * `not_checked` (No card verification code was provided in the authorization request.)
              * `match` (The card verification code matched the one on file.)
              * `no_match` (The card verification code did not match the one on file.)

      - `card_authorization.verification.cardholder_address` (dictionary)
        Cardholder address provided in the authorization request and the address on file we verified it against.

            - `card_authorization.verification.cardholder_address.actual_line1` (string, nullable)
              Line 1 of the address on file for the cardholder.

            - `card_authorization.verification.cardholder_address.actual_postal_code` (string, nullable)
              The postal code of the address on file for the cardholder.

            - `card_authorization.verification.cardholder_address.provided_line1` (string, nullable)
              The cardholder address line 1 provided for verification in the authorization request.

            - `card_authorization.verification.cardholder_address.provided_postal_code` (string, nullable)
              The postal code provided for verification in the authorization request.

            - `card_authorization.verification.cardholder_address.result` (enum)
              The address verification result returned to the card network.
              Cases:
              * `not_checked` (No address information was provided in the authorization request.)
              * `postal_code_match_address_no_match` (Postal code matches, but the street address does not match or was not provided.)
              * `postal_code_no_match_address_match` (Postal code does not match, but the street address matches or was not provided.)
              * `match` (Postal code and street address match.)
              * `no_match` (Postal code and street address do not match.)
              * `postal_code_match_address_not_checked` (Postal code matches, but the street address was not verified. (deprecated))

      - `card_authorization.verification.cardholder_name` (dictionary, nullable)
        Cardholder name provided in the authorization request.

            - `card_authorization.verification.cardholder_name.provided_first_name` (string, nullable)
              The first name provided for verification in the authorization request.

            - `card_authorization.verification.cardholder_name.provided_last_name` (string, nullable)
              The last name provided for verification in the authorization request.

            - `card_authorization.verification.cardholder_name.provided_middle_name` (string, nullable)
              The middle name provided for verification in the authorization request.

- `card_balance_inquiry` (dictionary, nullable)
  Fields related to a card balance inquiry.

  - `card_balance_inquiry.account_id` (string)
    The identifier of the Account the authorization will debit.

  - `card_balance_inquiry.additional_amounts` (dictionary)
    Additional amounts associated with the card authorization, such as ATM surcharges fees. These are usually a subset of the `amount` field and are used to provide more detailed information about the transaction.

      - `card_balance_inquiry.additional_amounts.clinic` (dictionary, nullable)
        The part of this transaction amount that was for clinic-related services.

            - `card_balance_inquiry.additional_amounts.clinic.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_balance_inquiry.additional_amounts.clinic.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_balance_inquiry.additional_amounts.dental` (dictionary, nullable)
        The part of this transaction amount that was for dental-related services.

            - `card_balance_inquiry.additional_amounts.dental.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_balance_inquiry.additional_amounts.dental.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_balance_inquiry.additional_amounts.original` (dictionary, nullable)
        The original pre-authorized amount.

            - `card_balance_inquiry.additional_amounts.original.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_balance_inquiry.additional_amounts.original.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_balance_inquiry.additional_amounts.prescription` (dictionary, nullable)
        The part of this transaction amount that was for healthcare prescriptions.

            - `card_balance_inquiry.additional_amounts.prescription.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_balance_inquiry.additional_amounts.prescription.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_balance_inquiry.additional_amounts.surcharge` (dictionary, nullable)
        The surcharge amount charged for this transaction by the merchant.

            - `card_balance_inquiry.additional_amounts.surcharge.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_balance_inquiry.additional_amounts.surcharge.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_balance_inquiry.additional_amounts.total_cumulative` (dictionary, nullable)
        The total amount of a series of incremental authorizations, optionally provided.

            - `card_balance_inquiry.additional_amounts.total_cumulative.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_balance_inquiry.additional_amounts.total_cumulative.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_balance_inquiry.additional_amounts.total_healthcare` (dictionary, nullable)
        The total amount of healthcare-related additional amounts.

            - `card_balance_inquiry.additional_amounts.total_healthcare.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_balance_inquiry.additional_amounts.total_healthcare.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_balance_inquiry.additional_amounts.transit` (dictionary, nullable)
        The part of this transaction amount that was for transit-related services.

            - `card_balance_inquiry.additional_amounts.transit.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_balance_inquiry.additional_amounts.transit.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_balance_inquiry.additional_amounts.unknown` (dictionary, nullable)
        An unknown additional amount.

            - `card_balance_inquiry.additional_amounts.unknown.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_balance_inquiry.additional_amounts.unknown.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

      - `card_balance_inquiry.additional_amounts.vision` (dictionary, nullable)
        The part of this transaction amount that was for vision-related services.

            - `card_balance_inquiry.additional_amounts.vision.amount` (integer)
              The amount in minor units of the `currency` field. The amount is positive if it is added to the amount (such as an ATM surcharge fee) and negative if it is subtracted from the amount (such as a discount).

            - `card_balance_inquiry.additional_amounts.vision.currency` (string)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional amount's currency.

  - `card_balance_inquiry.approval` (dictionary, nullable)
    Present if and only if `decision` is `approve`. Contains information related to the approval of the balance inquiry.

      - `card_balance_inquiry.approval.balance` (integer)
        If the balance inquiry was approved, this field contains the balance in the minor unit of the settlement currency.

  - `card_balance_inquiry.card_id` (string)
    The identifier of the Card that is being authorized.

  - `card_balance_inquiry.decision` (enum, nullable)
    Whether or not the authorization was approved.
    Cases:
    * `approve` (Approve the authorization.)
    * `decline` (Decline the authorization.)

  - `card_balance_inquiry.digital_wallet_token_id` (string, nullable)
    If the authorization was made via a Digital Wallet Token (such as an Apple Pay purchase), the identifier of the token that was used.

  - `card_balance_inquiry.merchant_acceptor_id` (string)
    The merchant identifier (commonly abbreviated as MID) of the merchant the card is transacting with.

  - `card_balance_inquiry.merchant_category_code` (string)
    The Merchant Category Code (commonly abbreviated as MCC) of the merchant the card is transacting with.

  - `card_balance_inquiry.merchant_city` (string, nullable)
    The city the merchant resides in.

  - `card_balance_inquiry.merchant_country` (string)
    The country the merchant resides in.

  - `card_balance_inquiry.merchant_descriptor` (string)
    The merchant descriptor of the merchant the card is transacting with.

  - `card_balance_inquiry.merchant_postal_code` (string, nullable)
    The merchant's postal code. For US merchants this is either a 5-digit or 9-digit ZIP code, where the first 5 and last 4 are separated by a dash.

  - `card_balance_inquiry.merchant_state` (string, nullable)
    The state the merchant resides in.

  - `card_balance_inquiry.network_details` (dictionary)
    Fields specific to the `network`.

      - `card_balance_inquiry.network_details.category` (enum)
        The payment network used to process this card authorization.
        Cases:
        * `visa` (Visa)
        * `pulse` (Pulse)

      - `card_balance_inquiry.network_details.pulse` (dictionary, nullable)
        Fields specific to the `pulse` network.

      - `card_balance_inquiry.network_details.visa` (dictionary, nullable)
        Fields specific to the `visa` network.

            - `card_balance_inquiry.network_details.visa.electronic_commerce_indicator` (enum, nullable)
              For electronic commerce transactions, this identifies the level of security used in obtaining the customer's payment credential. For mail or telephone order transactions, identifies the type of mail or telephone order.
              Cases:
              * `mail_phone_order` (Single transaction of a mail/phone order: Use to indicate that the transaction is a mail/phone order purchase, not a recurring transaction or installment payment. For domestic transactions in the US region, this value may also indicate one bill payment transaction in the card-present or card-absent environments.)
              * `recurring` (Recurring transaction: Payment indicator used to indicate a recurring transaction that originates from an acquirer in the US region.)
              * `installment` (Installment payment: Payment indicator used to indicate one purchase of goods or services that is billed to the account in multiple charges over a period of time agreed upon by the cardholder and merchant from transactions that originate from an acquirer in the US region.)
              * `unknown_mail_phone_order` (Unknown classification: other mail order: Use to indicate that the type of mail/telephone order is unknown.)
              * `secure_electronic_commerce` (Secure electronic commerce transaction: Use to indicate that the electronic commerce transaction has been authenticated using e.g., 3-D Secure)
              * `non_authenticated_security_transaction_at_3ds_capable_merchant` (Non-authenticated security transaction at a 3-D Secure-capable merchant, and merchant attempted to authenticate the cardholder using 3-D Secure: Use to identify an electronic commerce transaction where the merchant attempted to authenticate the cardholder using 3-D Secure, but was unable to complete the authentication because the issuer or cardholder does not participate in the 3-D Secure program.)
              * `non_authenticated_security_transaction` (Non-authenticated security transaction: Use to identify an electronic commerce transaction that uses data encryption for security however, cardholder authentication is not performed using 3-D Secure.)
              * `non_secure_transaction` (Non-secure transaction: Use to identify an electronic commerce transaction that has no data protection.)

            - `card_balance_inquiry.network_details.visa.point_of_service_entry_mode` (enum, nullable)
              The method used to enter the cardholder's primary account number and card expiration date.
              Cases:
              * `unknown` (Unknown)
              * `manual` (Manual key entry)
              * `magnetic_stripe_no_cvv` (Magnetic stripe read, without card verification value)
              * `optical_code` (Optical code)
              * `integrated_circuit_card` (Contact chip card)
              * `contactless` (Contactless read of chip card)
              * `credential_on_file` (Transaction initiated using a credential that has previously been stored on file)
              * `magnetic_stripe` (Magnetic stripe read)
              * `contactless_magnetic_stripe` (Contactless read of magnetic stripe data)
              * `integrated_circuit_card_no_cvv` (Contact chip card, without card verification value)

            - `card_balance_inquiry.network_details.visa.stand_in_processing_reason` (enum, nullable)
              Only present when `actioner: network`. Describes why a card authorization was approved or declined by Visa through stand-in processing.
              Cases:
              * `issuer_error` (Increase failed to process the authorization in a timely manner.)
              * `invalid_physical_card` (The physical card read had an invalid CVV or dCVV.)
              * `invalid_cryptogram` (The card's authorization request cryptogram was invalid. The cryptogram can be from a physical card or a Digital Wallet Token purchase.)
              * `invalid_cardholder_authentication_verification_value` (The 3DS cardholder authentication verification value was invalid.)
              * `internal_visa_error` (An internal Visa error occurred. Visa uses this reason code for certain expected occurrences as well, such as Application Transaction Counter (ATC) replays.)
              * `merchant_transaction_advisory_service_authentication_required` (The merchant has enabled Visa's Transaction Advisory Service and requires further authentication to perform the transaction. In practice this is often utilized at fuel pumps to tell the cardholder to see the cashier.)
              * `payment_fraud_disruption_acquirer_block` (The transaction was blocked by Visa's Payment Fraud Disruption service due to fraudulent Acquirer behavior, such as card testing.)
              * `other` (An unspecific reason for stand-in processing.)

            - `card_balance_inquiry.network_details.visa.terminal_entry_capability` (enum, nullable)
              The capability of the terminal being used to read the card. Shows whether a terminal can e.g., accept chip cards or if it only supports magnetic stripe reads. This reflects the highest capability of the terminal — for example, a terminal that supports both chip and magnetic stripe will be identified as chip-capable.
              Cases:
              * `unknown` (Unknown)
              * `terminal_not_used` (No terminal was used for this transaction.)
              * `magnetic_stripe` (The terminal can only read magnetic stripes and does not have chip or contactless reading capability.)
              * `barcode` (The terminal can only read barcodes.)
              * `optical_character_recognition` (The terminal can only read cards via Optical Character Recognition.)
              * `chip_or_contactless` (The terminal supports contact chip cards and can also read the magnetic stripe. If contact chip is supported, this value is used regardless of whether contactless is also supported.)
              * `contactless_only` (The terminal supports contactless reads but does not support contact chip. Only used when the terminal lacks contact chip capability.)
              * `no_capability` (The terminal has no card reading capability.)

  - `card_balance_inquiry.network_identifiers` (dictionary)
    Network-specific identifiers for a specific request or transaction.

      - `card_balance_inquiry.network_identifiers.authorization_identification_response` (string, nullable)
        The randomly generated 6-character Authorization Identification Response code sent back to the acquirer in an approved response.

      - `card_balance_inquiry.network_identifiers.retrieval_reference_number` (string, nullable)
        A life-cycle identifier used across e.g., an authorization and a reversal. Expected to be unique per acquirer within a window of time. For some card networks the retrieval reference number includes the trace counter.

      - `card_balance_inquiry.network_identifiers.trace_number` (string, nullable)
        A counter used to verify an individual authorization. Expected to be unique per acquirer within a window of time.

      - `card_balance_inquiry.network_identifiers.transaction_id` (string, nullable)
        A globally unique transaction identifier provided by the card network, used across multiple life-cycle requests.

  - `card_balance_inquiry.network_risk_score` (integer, nullable)
    The risk score generated by the card network. For Visa this is the Visa Advanced Authorization risk score, from 0 to 99, where 99 is the riskiest. For Pulse the score is from 0 to 999, where 999 is the riskiest.

  - `card_balance_inquiry.physical_card_id` (string, nullable)
    If the authorization was made in-person with a physical card, the Physical Card that was used.

  - `card_balance_inquiry.terminal_id` (string, nullable)
    The terminal identifier (commonly abbreviated as TID) of the terminal the card is transacting with.

  - `card_balance_inquiry.upcoming_card_payment_id` (string)
    The identifier of the Card Payment this authorization will belong to. Available in the API once the card authorization has completed.

  - `card_balance_inquiry.verification` (dictionary)
    Fields related to verification of cardholder-provided values.

      - `card_balance_inquiry.verification.card_verification_code` (dictionary)
        Fields related to verification of the Card Verification Code, a 3-digit code on the back of the card.

            - `card_balance_inquiry.verification.card_verification_code.result` (enum)
              The result of verifying the Card Verification Code.
              Cases:
              * `not_checked` (No card verification code was provided in the authorization request.)
              * `match` (The card verification code matched the one on file.)
              * `no_match` (The card verification code did not match the one on file.)

      - `card_balance_inquiry.verification.cardholder_address` (dictionary)
        Cardholder address provided in the authorization request and the address on file we verified it against.

            - `card_balance_inquiry.verification.cardholder_address.actual_line1` (string, nullable)
              Line 1 of the address on file for the cardholder.

            - `card_balance_inquiry.verification.cardholder_address.actual_postal_code` (string, nullable)
              The postal code of the address on file for the cardholder.

            - `card_balance_inquiry.verification.cardholder_address.provided_line1` (string, nullable)
              The cardholder address line 1 provided for verification in the authorization request.

            - `card_balance_inquiry.verification.cardholder_address.provided_postal_code` (string, nullable)
              The postal code provided for verification in the authorization request.

            - `card_balance_inquiry.verification.cardholder_address.result` (enum)
              The address verification result returned to the card network.
              Cases:
              * `not_checked` (No address information was provided in the authorization request.)
              * `postal_code_match_address_no_match` (Postal code matches, but the street address does not match or was not provided.)
              * `postal_code_no_match_address_match` (Postal code does not match, but the street address matches or was not provided.)
              * `match` (Postal code and street address match.)
              * `no_match` (Postal code and street address do not match.)
              * `postal_code_match_address_not_checked` (Postal code matches, but the street address was not verified. (deprecated))

      - `card_balance_inquiry.verification.cardholder_name` (dictionary, nullable)
        Cardholder name provided in the authorization request.

            - `card_balance_inquiry.verification.cardholder_name.provided_first_name` (string, nullable)
              The first name provided for verification in the authorization request.

            - `card_balance_inquiry.verification.cardholder_name.provided_last_name` (string, nullable)
              The last name provided for verification in the authorization request.

            - `card_balance_inquiry.verification.cardholder_name.provided_middle_name` (string, nullable)
              The middle name provided for verification in the authorization request.

- `category` (enum)
  The category of the Real-Time Decision.
  Cases:
  * `card_authorization_requested` (A card is being authorized.)
  * `card_balance_inquiry_requested` (A balance inquiry is being made on a card.)
  * `card_authentication_requested` (3DS authentication is requested.)
  * `card_authentication_challenge_requested` (3DS authentication challenge requires cardholder involvement.)
  * `digital_wallet_token_requested` (A card is being loaded into a digital wallet.)
  * `digital_wallet_authentication_requested` (A card is being loaded into a digital wallet and requires cardholder authentication.)

- `created_at` (string)
  The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the Real-Time Decision was created.

- `digital_wallet_authentication` (dictionary, nullable)
  Fields related to a digital wallet authentication attempt.

  - `digital_wallet_authentication.card_id` (string)
    The identifier of the Card that is being tokenized.

  - `digital_wallet_authentication.channel` (enum)
    The channel to send the card user their one-time passcode.
    Cases:
    * `sms` (Send one-time passcodes over SMS.)
    * `email` (Send one-time passcodes over email.)

  - `digital_wallet_authentication.digital_wallet` (enum)
    The digital wallet app being used.
    Cases:
    * `apple_pay` (Apple Pay)
    * `google_pay` (Google Pay)
    * `samsung_pay` (Samsung Pay)
    * `unknown` (Unknown)

  - `digital_wallet_authentication.email` (string, nullable)
    The email to send the one-time passcode to if `channel` is equal to `email`.

  - `digital_wallet_authentication.one_time_passcode` (string)
    The one-time passcode to send the card user.

  - `digital_wallet_authentication.phone` (string, nullable)
    The phone number to send the one-time passcode to if `channel` is equal to `sms`.

  - `digital_wallet_authentication.result` (enum, nullable)
    Whether your application successfully delivered the one-time passcode.
    Cases:
    * `success` (Your application successfully delivered the one-time passcode to the cardholder.)
    * `failure` (Your application failed to deliver the one-time passcode to the cardholder.)

- `digital_wallet_token` (dictionary, nullable)
  Fields related to a digital wallet token provisioning attempt.

  - `digital_wallet_token.card_id` (string)
    The identifier of the Card that is being tokenized.

  - `digital_wallet_token.decision` (enum, nullable)
    Whether or not the provisioning request was approved. This will be null until the real time decision is responded to.
    Cases:
    * `approve` (Approve the provisioning request.)
    * `decline` (Decline the provisioning request.)

  - `digital_wallet_token.device` (dictionary)
    Device that is being used to provision the digital wallet token.

      - `digital_wallet_token.device.identifier` (string, nullable)
        ID assigned to the device by the digital wallet provider.

  - `digital_wallet_token.digital_wallet` (enum)
    The digital wallet app being used.
    Cases:
    * `apple_pay` (Apple Pay)
    * `google_pay` (Google Pay)
    * `samsung_pay` (Samsung Pay)
    * `unknown` (Unknown)

- `id` (string)
  The Real-Time Decision identifier.

- `status` (enum)
  The status of the Real-Time Decision.
  Cases:
  * `pending` (The decision is pending action via real-time webhook.)
  * `responded` (Your webhook actioned the real-time decision.)
  * `timed_out` (Your webhook failed to respond to the authorization in time.)

- `timeout_at` (string)
  The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which your application can no longer respond to the Real-Time Decision.

- `type` (string)
  A constant representing the object's type. For this resource it will always be `real_time_decision`.

## Retrieve a Real-Time Decision
GET /real_time_decisions/{real_time_decision_id}

### Example
```curl
curl \
  --url "${INCREASE_URL}/real_time_decisions/real_time_decision_j76n2e810ezcg3zh5qtn" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
```
### Path Parameters
- `real_time_decision_id` (string, required)
  The identifier of the Real-Time Decision.

## Action a Real-Time Decision
POST /real_time_decisions/{real_time_decision_id}/action

### Example
```curl
curl -X "POST" \
  --url "${INCREASE_URL}/real_time_decisions/real_time_decision_j76n2e810ezcg3zh5qtn/action" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "card_authorization": {
      "approval": {
        "cardholder_address_verification_result": {
          "line1": "match",
          "postal_code": "no_match"
        }
      },
      "decision": "approve"
    }
  }'
```
### Path Parameters
- `real_time_decision_id` (string, required)
  The identifier of the Real-Time Decision.

### Body Parameters
- `card_authentication` (dictionary, optional)
  If the Real-Time Decision relates to a 3DS card authentication attempt, this object contains your response to the authentication.

  - `card_authentication.decision` (enum, required)
    Whether the card authentication attempt should be approved or declined.
    Cases:
    * `approve` (Approve the authentication attempt without triggering a challenge.)
    * `challenge` (Request further validation before approving the authentication attempt.)
    * `deny` (Deny the authentication attempt.)

- `card_authentication_challenge` (dictionary, optional)
  If the Real-Time Decision relates to 3DS card authentication challenge delivery, this object contains your response.

  - `card_authentication_challenge.result` (enum, required)
    Whether the card authentication challenge was successfully delivered to the cardholder.
    Cases:
    * `success` (Your application successfully delivered the one-time code to the cardholder.)
    * `failure` (Your application was unable to deliver the one-time code to the cardholder.)

  - `card_authentication_challenge.success` (dictionary, optional)
    If your application was able to deliver the one-time code, this contains metadata about the delivery.

      - `card_authentication_challenge.success.email` (string, optional)
        The email address that was used to deliver the one-time code to the cardholder.

      - `card_authentication_challenge.success.phone` (string, optional)
        The phone number that was used to deliver the one-time code to the cardholder via SMS.

- `card_authorization` (dictionary, optional)
  If the Real-Time Decision relates to a card authorization attempt, this object contains your response to the authorization.

  - `card_authorization.approval` (dictionary, optional)
    If your application approves the authorization, this contains metadata about your decision to approve. Your response here is advisory to the acquiring bank. The bank may choose to reverse the authorization if you approve the transaction but indicate the address does not match.

      - `card_authorization.approval.cardholder_address_verification_result` (dictionary, optional)
        Your decisions on whether or not each provided address component is a match. Your response here is evaluated against the customer's provided `postal_code` and `line1`, and an appropriate network response is generated. For more information, see our [Address Verification System Codes and Overrides](https://increase.com/documentation/address-verification-system-codes-and-overrides) guide.

            - `card_authorization.approval.cardholder_address_verification_result.line1` (enum, required)
              Your decision on the address line of the provided address.
              Cases:
              * `match` (The cardholder address verification result matches the address provided by the merchant.)
              * `no_match` (The cardholder address verification result does not match the address provided by the merchant.)

            - `card_authorization.approval.cardholder_address_verification_result.postal_code` (enum, required)
              Your decision on the postal code of the provided address.
              Cases:
              * `match` (The cardholder address verification result matches the address provided by the merchant.)
              * `no_match` (The cardholder address verification result does not match the address provided by the merchant.)

      - `card_authorization.approval.partial_amount` (integer, optional)
        If the transaction supports partial approvals (`partial_approval_capability: supported`) the `partial_amount` can be provided in the transaction's settlement currency to approve a lower amount than was requested.

  - `card_authorization.decision` (enum, required)
    Whether the card authorization should be approved or declined.
    Cases:
    * `approve` (Approve the authorization.)
    * `decline` (Decline the authorization.)

  - `card_authorization.decline` (dictionary, optional)
    If your application declines the authorization, this contains details about the decline.

      - `card_authorization.decline.reason` (enum, required)
        The reason the card authorization was declined. This translates to a specific decline code that is sent to the card network.
        Cases:
        * `insufficient_funds` (The cardholder does not have sufficient funds to cover the transaction. The merchant may attempt to process the transaction again.)
        * `transaction_never_allowed` (This type of transaction is not allowed for this card. This transaction should not be retried.)
        * `exceeds_approval_limit` (The transaction amount exceeds the cardholder's approval limit. The merchant may attempt to process the transaction again.)
        * `card_temporarily_disabled` (The card has been temporarily disabled or not yet activated. The merchant may attempt to process the transaction again.)
        * `suspected_fraud` (The transaction is suspected to be fraudulent. The merchant may attempt to process the transaction again.)
        * `other` (The transaction was declined for another reason. The merchant may attempt to process the transaction again. This should be used sparingly.)

- `card_balance_inquiry` (dictionary, optional)
  If the Real-Time Decision relates to a card balance inquiry attempt, this object contains your response to the inquiry.

  - `card_balance_inquiry.approval` (dictionary, optional)
    If your application approves the balance inquiry, this contains metadata about your decision to approve.

      - `card_balance_inquiry.approval.balance` (integer, required)
        The balance on the card in the settlement currency of the transaction.

  - `card_balance_inquiry.decision` (enum, required)
    Whether the card balance inquiry should be approved or declined.
    Cases:
    * `approve` (Approve the authorization.)
    * `decline` (Decline the authorization.)

- `digital_wallet_authentication` (dictionary, optional)
  If the Real-Time Decision relates to a digital wallet authentication attempt, this object contains your response to the authentication.

  - `digital_wallet_authentication.result` (enum, required)
    Whether your application was able to deliver the one-time passcode.
    Cases:
    * `success` (Your application successfully delivered the one-time passcode to the cardholder.)
    * `failure` (Your application failed to deliver the one-time passcode to the cardholder.)

  - `digital_wallet_authentication.success` (dictionary, optional)
    If your application was able to deliver the one-time passcode, this contains metadata about the delivery. Exactly one of `phone` or `email` must be provided.

      - `digital_wallet_authentication.success.email` (string, optional)
        The email address that was used to verify the cardholder via one-time passcode.

      - `digital_wallet_authentication.success.phone` (string, optional)
        The phone number that was used to verify the cardholder via one-time passcode over SMS.

- `digital_wallet_token` (dictionary, optional)
  If the Real-Time Decision relates to a digital wallet token provisioning attempt, this object contains your response to the attempt.

  - `digital_wallet_token.approval` (dictionary, optional)
    If your application approves the provisioning attempt, this contains metadata about the digital wallet token that will be generated.

      - `digital_wallet_token.approval.email` (string, optional)
        An email address that can be used to verify the cardholder via one-time passcode.

      - `digital_wallet_token.approval.phone` (string, optional)
        A phone number that can be used to verify the cardholder via one-time passcode over SMS.

  - `digital_wallet_token.decline` (dictionary, optional)
    If your application declines the provisioning attempt, this contains details about the decline.

      - `digital_wallet_token.decline.reason` (string, optional)
        Why the tokenization attempt was declined. This is for logging purposes only and is not displayed to the end-user.