# Pending Transactions
> Pending Transactions are potential future additions and removals of money from your bank account. They impact your available balance, but not your current balance. To learn more, see [Transactions and Transfers](/documentation/transactions-transfers).

[Events](https://increase.com/documentation/events.md) will be generated for this resource. The possible event categories are: `pending_transaction.created` and `pending_transaction.updated`.

## The Pending Transaction object
### Example
```json
{
  "account_id": "account_in71c4amph0vgo2qllky",
  "amount": 100,
  "completed_at": null,
  "created_at": "2020-01-31T23:59:59Z",
  "currency": "USD",
  "description": "INVOICE 2468",
  "held_amount": 100,
  "id": "pending_transaction_k1sfetcau2qbvjbzgju4",
  "route_id": "card_oubs0hwk5rn6knuecxg2",
  "route_type": "card",
  "source": {
    "ach_transfer_instruction": {
      "amount": 100,
      "transfer_id": "ach_transfer_uoxatyh3lt5evrsdvo7q"
    },
    "category": "ach_transfer_instruction"
  },
  "status": "pending",
  "type": "pending_transaction"
}
```
### Attributes
- `account_id` (string)
  The identifier for the account this Pending Transaction belongs to.

- `amount` (integer)
  The Pending Transaction amount in the minor unit of its currency. For dollars, for example, this is cents.

- `completed_at` (string, nullable)
  The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date on which the Pending Transaction was completed.

- `created_at` (string)
  The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date on which the Pending Transaction occurred.

- `currency` (enum)
  The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the Pending Transaction's currency. This will match the currency on the Pending Transaction's Account.
  Cases:
  * `USD` (US Dollar (USD))

- `description` (string)
  For a Pending Transaction related to a transfer, this is the description you provide. For a Pending Transaction related to a payment, this is the description the vendor provides.

- `held_amount` (integer)
  The amount that this Pending Transaction decrements the available balance of its Account. This is usually the same as `amount`, but will differ if the amount is positive.

- `id` (string)
  The Pending Transaction identifier.

- `route_id` (string, nullable)
  The identifier for the route this Pending Transaction came through. Routes are things like cards and ACH details.

- `route_type` (enum, nullable)
  The type of the route this Pending Transaction came through.
  Cases:
  * `account_number` (An Account Number.)
  * `card` (A Card.)
  * `lockbox` (A Lockbox.)

- `source` (dictionary)
  This is an object giving more details on the network-level event that caused the Pending Transaction. For example, for a card transaction this lists the merchant's industry and location.

  - `source.account_transfer_instruction` (dictionary, nullable)
    An Account Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `account_transfer_instruction`.

      - `source.account_transfer_instruction.amount` (integer)
        The pending amount in the minor unit of the transaction's currency. For dollars, for example, this is cents.

      - `source.account_transfer_instruction.currency` (enum)
        The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination account currency.
        Cases:
        * `USD` (US Dollar (USD))

      - `source.account_transfer_instruction.transfer_id` (string)
        The identifier of the Account Transfer that led to this Pending Transaction.

  - `source.ach_transfer_instruction` (dictionary, nullable)
    An ACH Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `ach_transfer_instruction`.

      - `source.ach_transfer_instruction.amount` (integer)
        The pending amount in USD cents.

      - `source.ach_transfer_instruction.transfer_id` (string)
        The identifier of the ACH Transfer that led to this Pending Transaction.

  - `source.blockchain_offramp_transfer_instruction` (dictionary, nullable)
    A Blockchain Off-Ramp Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `blockchain_offramp_transfer_instruction`.

      - `source.blockchain_offramp_transfer_instruction.source_blockchain_address_id` (string)
        The identifier of the Blockchain Address the funds were received at.

      - `source.blockchain_offramp_transfer_instruction.transfer_id` (string)
        The identifier of the Blockchain Off-Ramp Transfer that led to this Transaction.

  - `source.blockchain_onramp_transfer_instruction` (dictionary, nullable)
    A Blockchain On-Ramp Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `blockchain_onramp_transfer_instruction`.

      - `source.blockchain_onramp_transfer_instruction.amount` (integer)
        The transfer amount in USD cents.

      - `source.blockchain_onramp_transfer_instruction.destination_blockchain_address` (string)
        The blockchain address the funds are being sent to.

      - `source.blockchain_onramp_transfer_instruction.transfer_id` (string)
        The identifier of the Blockchain On-Ramp Transfer that led to this Pending Transaction.

  - `source.card_authorization` (dictionary, nullable)
    A Card Authorization object. This field will be present in the JSON response if and only if `category` is equal to `card_authorization`. Card Authorizations are temporary holds placed on a customer's funds with the intent to later clear a transaction.

      - `source.card_authorization.actioner` (enum)
        Whether this authorization was approved by Increase, the card network through stand-in processing, or the user through a real-time decision.
        Cases:
        * `user` (This object was actioned by the user through a real-time decision.)
        * `increase` (This object was actioned by Increase without user intervention.)
        * `network` (This object was actioned by the network, through stand-in processing.)

      - `source.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.

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

                    - `source.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).

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

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

                    - `source.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).

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

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

                    - `source.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).

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

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

                    - `source.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).

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

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

                    - `source.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).

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

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

                    - `source.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).

                    - `source.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.

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

                    - `source.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).

                    - `source.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.

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

                    - `source.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).

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

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

                    - `source.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).

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

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

                    - `source.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).

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

      - `source.card_authorization.amount` (integer)
        The pending amount in the minor unit of the transaction's currency. For dollars, for example, this is cents.

      - `source.card_authorization.card_payment_id` (string)
        The ID of the Card Payment this transaction belongs to.

      - `source.card_authorization.currency` (enum)
        The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.
        Cases:
        * `USD` (US Dollar (USD))

      - `source.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.

      - `source.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.)

      - `source.card_authorization.expires_at` (string)
        The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) when this authorization will expire and the pending transaction will be released.

      - `source.card_authorization.id` (string)
        The Card Authorization identifier.

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

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

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

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

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

      - `source.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.

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

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

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

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

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

                    - `source.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.)

                    - `source.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)

                    - `source.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.)

                    - `source.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.)

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

            - `source.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.

            - `source.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.

            - `source.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.

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

      - `source.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.

      - `source.card_authorization.pending_transaction_id` (string, nullable)
        The identifier of the Pending Transaction associated with this Transaction.

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

      - `source.card_authorization.presentment_amount` (integer)
        The pending amount in the minor unit of the transaction's presentment currency.

      - `source.card_authorization.presentment_currency` (string)
        The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's presentment currency.

      - `source.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.)

      - `source.card_authorization.real_time_decision_id` (string, nullable)
        The identifier of the Real-Time Decision sent to approve or decline this transaction.

      - `source.card_authorization.scheme_fees` (array of objects)
        The scheme fees associated with this card authorization.

            - `source.card_authorization.scheme_fees.amount` (string)
              The fee amount given as a string containing a decimal number.

            - `source.card_authorization.scheme_fees.created_at` (string)
              The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the fee was created.

            - `source.card_authorization.scheme_fees.currency` (enum)
              The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the fee reimbursement.
              Cases:
              * `USD` (US Dollar (USD))

            - `source.card_authorization.scheme_fees.fee_type` (enum)
              The type of fee being assessed.
              Cases:
              * `visa_international_service_assessment_single_currency` (International Service Assessment (ISA) single-currency is a fee assessed by the card network for cross-border transactions presented and settled in the same currency.)
              * `visa_international_service_assessment_cross_currency` (International Service Assessment (ISA) cross-currency is a fee assessed by the card network for cross-border transactions presented and settled in different currencies.)
              * `visa_authorization_domestic_point_of_sale` (Activity and charges for Visa Settlement System processing for POS (Point-Of-Sale) authorization transactions. Authorization is the process of approving or declining the transaction amount specified. The fee is assessed to the Issuer.)
              * `visa_authorization_international_point_of_sale` (Activity and charges for Visa Settlement System processing for POS (Point-Of-Sale) International authorization transactions. Authorization is the process of approving or declining the transaction amount specified. The fee is assessed to the Issuer.)
              * `visa_authorization_canada_point_of_sale` (Activity and charges for Visa Settlement System processing for Canada Region POS (Point-of-Sale) authorization transactions. Authorization is the process of approving or declining the transaction amount specified.)
              * `visa_authorization_reversal_point_of_sale` (Activity only for Visa Settlement System authorization processing of POS (Point-Of-Sale) reversal transactions. Authorization reversal represents a VSS message that undoes the complete or partial actions of a previous authorization request.)
              * `visa_authorization_reversal_international_point_of_sale` (Activity only for Visa Settlement System authorization processing of POS (Point-Of-Sale) International reversal transactions. Authorization reversal represents a VSS message that undoes the complete or partial actions of a previous authorization request.)
              * `visa_authorization_address_verification_service` (A per Address Verification Service (AVS) result fee. Applies to all usable AVS result codes.)
              * `visa_advanced_authorization` (Advanced Authorization is a fraud detection tool that monitors and risk evaluates 100 percent of US VisaNet authorizations in real-time. Activity related to Purchase (includes Signature Authenticated Visa and PIN Authenticated Visa Debit (PAVD) transactions).)
              * `visa_message_transmission` (Issuer Transactions Visa represents a charge based on total actual monthly processing (Visa transactions only) through a VisaNet Access Point (VAP). Charges are assessed to the processor for each VisaNet Access Point.)
              * `visa_account_verification_domestic` (Activity, per inquiry, related to the domestic Issuer for Account Number Verification.)
              * `visa_account_verification_international` (Activity, per inquiry, related to the international Issuer for Account Number Verification.)
              * `visa_account_verification_canada` (Activity, per inquiry, related to the US-Canada Issuer for Account Number Verification.)
              * `visa_corporate_acceptance_fee` (The Corporate Acceptance Fee is charged to issuers and is based on the monthly sales volume on Commercial and Government Debit, Prepaid, Credit, Charge, or Deferred Debit card transactions.)
              * `visa_consumer_debit_acceptance_fee` (The Consumer Debit Acceptance Fee is charged to issuers and is based on the monthly sales volume of Consumer Debit or Prepaid card transactions. The cashback portion of a Debit and Prepaid card transaction is excluded from the sales volume calculation.)
              * `visa_business_debit_acceptance_fee` (The Business Acceptance Fee is charged to issuers and is based on the monthly sales volume on Business Debit, Prepaid, Credit, Charge, or Deferred Debit card transactions. The cashback portion is included in the sales volume calculation with the exception of a Debit and Prepaid card transactions.)
              * `visa_purchasing_acceptance_fee` (The Purchasing Card Acceptance Fee is charged to issuers and is based on the monthly sales volume on Commercial and Government Debit, Prepaid, Credit, Charge, or Deferred Debit card transactions.)
              * `visa_purchase_domestic` (Activity and fees for the processing of a sales draft original for a purchase transaction.)
              * `visa_purchase_international` (Activity and fees for the processing of an international sales draft original for a purchase transaction.)
              * `visa_credit_purchase_token` (Apple Pay Credit Product Token Purchase Original Transactions. This fee is billed by Visa on behalf of Apple Inc. for Apple Pay transactions.)
              * `visa_debit_purchase_token` (Apple Pay Debit Product Token Purchase Original Transactions. This fee is billed by Visa on behalf of Apple Inc. for Apple Pay transactions.)
              * `visa_clearing_transmission` (A per transaction fee assessed for Base II financial draft - Issuer.)
              * `visa_direct_authorization` (Issuer charge for Non-Financial OCT/AFT Authorization 0100 and Declined Financial OCT/AFT 0200 transactions.)
              * `visa_direct_transaction_domestic` (Data processing charge for Visa Direct OCTs for all business application identifiers (BAIs) other than money transfer-bank initiated (BI). BASE II transactions.)
              * `visa_service_commercial_credit` (Issuer card service fee for Commercial Credit cards.)
              * `visa_advertising_service_commercial_credit` (Issuer Advertising Service Fee for Commercial Credit cards.)
              * `visa_community_growth_acceleration_program` (Issuer Community Growth Acceleration Program Fee.)
              * `visa_processing_guarantee_commercial_credit` (Issuer Processing Guarantee for Commercial Credit cards.)
              * `pulse_switch_fee` (Pulse Switch Fee is a fee charged by the Pulse network for processing transactions on its network.)

            - `source.card_authorization.scheme_fees.fixed_component` (string, nullable)
              The fixed component of the fee, if applicable, given in major units of the fee amount.

            - `source.card_authorization.scheme_fees.variable_rate` (string, nullable)
              The variable rate component of the fee, if applicable, given as a decimal (e.g., 0.015 for 1.5%).

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

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

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

            - `source.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.

                    - `source.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.)

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

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

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

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

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

                    - `source.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))

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

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

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

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

  - `source.card_push_transfer_instruction` (dictionary, nullable)
    A Card Push Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `card_push_transfer_instruction`.

      - `source.card_push_transfer_instruction.amount` (integer)
        The transfer amount in USD cents.

      - `source.card_push_transfer_instruction.transfer_id` (string)
        The identifier of the Card Push Transfer that led to this Pending Transaction.

  - `source.category` (enum)
    The type of the resource. We may add additional possible values for this enum over time; your application should be able to handle such additions gracefully.
    Cases:
    * `account_transfer_instruction` (Account Transfer Instruction: details will be under the `account_transfer_instruction` object.)
    * `ach_transfer_instruction` (ACH Transfer Instruction: details will be under the `ach_transfer_instruction` object.)
    * `card_authorization` (Card Authorization: details will be under the `card_authorization` object.)
    * `check_deposit_instruction` (Check Deposit Instruction: details will be under the `check_deposit_instruction` object.)
    * `check_transfer_instruction` (Check Transfer Instruction: details will be under the `check_transfer_instruction` object.)
    * `fednow_transfer_instruction` (FedNow Transfer Instruction: details will be under the `fednow_transfer_instruction` object.)
    * `inbound_funds_hold` (Inbound Funds Hold: details will be under the `inbound_funds_hold` object.)
    * `user_initiated_hold` (User Initiated Hold: details will be under the `user_initiated_hold` object.)
    * `real_time_payments_transfer_instruction` (Real-Time Payments Transfer Instruction: details will be under the `real_time_payments_transfer_instruction` object.)
    * `wire_transfer_instruction` (Wire Transfer Instruction: details will be under the `wire_transfer_instruction` object.)
    * `inbound_wire_transfer_reversal` (Inbound Wire Transfer Reversal: details will be under the `inbound_wire_transfer_reversal` object.)
    * `swift_transfer_instruction` (Swift Transfer Instruction: details will be under the `swift_transfer_instruction` object.)
    * `card_push_transfer_instruction` (Card Push Transfer Instruction: details will be under the `card_push_transfer_instruction` object.)
    * `blockchain_onramp_transfer_instruction` (Blockchain On-Ramp Transfer Instruction: details will be under the `blockchain_onramp_transfer_instruction` object.)
    * `blockchain_offramp_transfer_instruction` (Blockchain Off-Ramp Transfer Instruction: details will be under the `blockchain_offramp_transfer_instruction` object.)
    * `other` (The Pending Transaction was made for an undocumented or deprecated reason.)

  - `source.check_deposit_instruction` (dictionary, nullable)
    A Check Deposit Instruction object. This field will be present in the JSON response if and only if `category` is equal to `check_deposit_instruction`.

      - `source.check_deposit_instruction.amount` (integer)
        The pending amount in USD cents.

      - `source.check_deposit_instruction.back_image_file_id` (string, nullable)
        The identifier of the File containing the image of the back of the check that was deposited.

      - `source.check_deposit_instruction.check_deposit_id` (string, nullable)
        The identifier of the Check Deposit.

      - `source.check_deposit_instruction.currency` (enum)
        The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.
        Cases:
        * `USD` (US Dollar (USD))

      - `source.check_deposit_instruction.front_image_file_id` (string)
        The identifier of the File containing the image of the front of the check that was deposited.

  - `source.check_transfer_instruction` (dictionary, nullable)
    A Check Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `check_transfer_instruction`.

      - `source.check_transfer_instruction.amount` (integer)
        The transfer amount in USD cents.

      - `source.check_transfer_instruction.currency` (enum)
        The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's currency.
        Cases:
        * `USD` (US Dollar (USD))

      - `source.check_transfer_instruction.transfer_id` (string)
        The identifier of the Check Transfer that led to this Pending Transaction.

  - `source.fednow_transfer_instruction` (dictionary, nullable)
    A FedNow Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `fednow_transfer_instruction`.

      - `source.fednow_transfer_instruction.transfer_id` (string)
        The identifier of the FedNow Transfer that led to this Pending Transaction.

  - `source.inbound_funds_hold` (dictionary, nullable)
    An Inbound Funds Hold object. This field will be present in the JSON response if and only if `category` is equal to `inbound_funds_hold`. We hold funds for certain transaction types to account for return windows where funds might still be clawed back by the sending institution.

      - `source.inbound_funds_hold.amount` (integer)
        The held amount in the minor unit of the account's currency. For dollars, for example, this is cents.

      - `source.inbound_funds_hold.automatically_releases_at` (string)
        When the hold will be released automatically. Certain conditions may cause it to be released before this time.

      - `source.inbound_funds_hold.created_at` (string)
        The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time at which the hold was created.

      - `source.inbound_funds_hold.currency` (enum)
        The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the hold's currency.
        Cases:
        * `USD` (US Dollar (USD))

      - `source.inbound_funds_hold.held_transaction_id` (string, nullable)
        The ID of the Transaction for which funds were held.

      - `source.inbound_funds_hold.pending_transaction_id` (string, nullable)
        The ID of the Pending Transaction representing the held funds.

      - `source.inbound_funds_hold.released_at` (string, nullable)
        When the hold was released (if it has been released).

      - `source.inbound_funds_hold.status` (enum)
        The status of the hold.
        Cases:
        * `held` (Funds are still being held.)
        * `complete` (Funds have been released.)

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

  - `source.inbound_wire_transfer_reversal` (dictionary, nullable)
    An Inbound Wire Transfer Reversal object. This field will be present in the JSON response if and only if `category` is equal to `inbound_wire_transfer_reversal`. An Inbound Wire Transfer Reversal is created when Increase has received a wire and the User requests that it be reversed.

      - `source.inbound_wire_transfer_reversal.inbound_wire_transfer_id` (string)
        The ID of the Inbound Wire Transfer that is being reversed.

  - `source.other` (dictionary, nullable)
    If the category of this Transaction source is equal to `other`, this field will contain an empty object, otherwise it will contain null.

  - `source.real_time_payments_transfer_instruction` (dictionary, nullable)
    A Real-Time Payments Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `real_time_payments_transfer_instruction`.

      - `source.real_time_payments_transfer_instruction.amount` (integer)
        The transfer amount in USD cents.

      - `source.real_time_payments_transfer_instruction.transfer_id` (string)
        The identifier of the Real-Time Payments Transfer that led to this Pending Transaction.

  - `source.swift_transfer_instruction` (dictionary, nullable)
    A Swift Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `swift_transfer_instruction`.

      - `source.swift_transfer_instruction.transfer_id` (string)
        The identifier of the Swift Transfer that led to this Pending Transaction.

  - `source.user_initiated_hold` (dictionary, nullable)
    An User Initiated Hold object. This field will be present in the JSON response if and only if `category` is equal to `user_initiated_hold`. Created when a user initiates a hold on funds in their account.

  - `source.wire_transfer_instruction` (dictionary, nullable)
    A Wire Transfer Instruction object. This field will be present in the JSON response if and only if `category` is equal to `wire_transfer_instruction`.

      - `source.wire_transfer_instruction.account_number` (string)
        The account number for the destination account.

      - `source.wire_transfer_instruction.amount` (integer)
        The transfer amount in USD cents.

      - `source.wire_transfer_instruction.message_to_recipient` (string)
        The message that will show on the recipient's bank statement.

      - `source.wire_transfer_instruction.routing_number` (string)
        The American Bankers' Association (ABA) Routing Transit Number (RTN) for the destination account.

      - `source.wire_transfer_instruction.transfer_id` (string)
        The identifier of the Wire Transfer that led to this Pending Transaction.

- `status` (enum)
  Whether the Pending Transaction has been confirmed and has an associated Transaction.
  Cases:
  * `pending` (The Pending Transaction is still awaiting confirmation.)
  * `complete` (The Pending Transaction is confirmed. An associated Transaction exists for this object. The Pending Transaction will no longer count against your balance and can generally be hidden from UIs, etc.)

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

## List Pending Transactions
GET /pending_transactions

### Example
```curl
curl \
  --url "${INCREASE_URL}/pending_transactions" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
```

### Query Parameters
- `cursor` (string, optional)
  Return the page of entries after this one.

- `limit` (integer, optional)
  Limit the size of the list that is returned. The default (and maximum) is 100 objects.

- `account_id` (string, optional)
  Filter pending transactions to those belonging to the specified Account.

- `route_id` (string, optional)
  Filter pending transactions to those belonging to the specified Route.

- `category.in` (array of enums, optional)
  Return results whose value is in the provided list. For GET requests, this should be encoded as a comma-delimited string, such as `?in=one,two,three`.
  Cases:
  * `account_transfer_instruction` (Account Transfer Instruction: details will be under the `account_transfer_instruction` object.)
  * `ach_transfer_instruction` (ACH Transfer Instruction: details will be under the `ach_transfer_instruction` object.)
  * `card_authorization` (Card Authorization: details will be under the `card_authorization` object.)
  * `check_deposit_instruction` (Check Deposit Instruction: details will be under the `check_deposit_instruction` object.)
  * `check_transfer_instruction` (Check Transfer Instruction: details will be under the `check_transfer_instruction` object.)
  * `fednow_transfer_instruction` (FedNow Transfer Instruction: details will be under the `fednow_transfer_instruction` object.)
  * `inbound_funds_hold` (Inbound Funds Hold: details will be under the `inbound_funds_hold` object.)
  * `user_initiated_hold` (User Initiated Hold: details will be under the `user_initiated_hold` object.)
  * `real_time_payments_transfer_instruction` (Real-Time Payments Transfer Instruction: details will be under the `real_time_payments_transfer_instruction` object.)
  * `wire_transfer_instruction` (Wire Transfer Instruction: details will be under the `wire_transfer_instruction` object.)
  * `inbound_wire_transfer_reversal` (Inbound Wire Transfer Reversal: details will be under the `inbound_wire_transfer_reversal` object.)
  * `swift_transfer_instruction` (Swift Transfer Instruction: details will be under the `swift_transfer_instruction` object.)
  * `card_push_transfer_instruction` (Card Push Transfer Instruction: details will be under the `card_push_transfer_instruction` object.)
  * `blockchain_onramp_transfer_instruction` (Blockchain On-Ramp Transfer Instruction: details will be under the `blockchain_onramp_transfer_instruction` object.)
  * `blockchain_offramp_transfer_instruction` (Blockchain Off-Ramp Transfer Instruction: details will be under the `blockchain_offramp_transfer_instruction` object.)
  * `other` (The Pending Transaction was made for an undocumented or deprecated reason.)

- `status.in` (array of enums, optional)
  Filter Pending Transactions for those with the specified status. By default only Pending Transactions in with status `pending` will be returned. For GET requests, this should be encoded as a comma-delimited string, such as `?in=one,two,three`.
  Cases:
  * `pending` (The Pending Transaction is still awaiting confirmation.)
  * `complete` (The Pending Transaction is confirmed. An associated Transaction exists for this object. The Pending Transaction will no longer count against your balance and can generally be hidden from UIs, etc.)

- `created_at.after` (string, optional)
  Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.

- `created_at.before` (string, optional)
  Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.

- `created_at.on_or_after` (string, optional)
  Return results on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.

- `created_at.on_or_before` (string, optional)
  Return results on or before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.

### Returns a Pending Transaction List object:
```json
{
  "data": [
    {
      "account_id": "account_in71c4amph0vgo2qllky",
      "amount": 100,
      "completed_at": null,
      "created_at": "2020-01-31T23:59:59Z",
      "currency": "USD",
      "description": "INVOICE 2468",
      "held_amount": 100,
      "id": "pending_transaction_k1sfetcau2qbvjbzgju4",
      "route_id": "card_oubs0hwk5rn6knuecxg2",
      "route_type": "card",
      "source": {
        "ach_transfer_instruction": {
          "amount": 100,
          "transfer_id": "ach_transfer_uoxatyh3lt5evrsdvo7q"
        },
        "category": "ach_transfer_instruction"
      },
      "status": "pending",
      "type": "pending_transaction"
    }
  ],
  "next_cursor": "v57w5d"
}
```

## Create a Pending Transaction
POST /pending_transactions
> Creates a pending transaction on an account. This can be useful to hold funds for an external payment or known future transaction outside of Increase (only negative amounts are supported). The resulting Pending Transaction will have a `category` of `user_initiated_hold` and can be released via the API to unlock the held funds.
### Example
```curl
curl -X "POST" \
  --url "${INCREASE_URL}/pending_transactions" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "account_id": "account_in71c4amph0vgo2qllky",
    "amount": -1000,
    "description": "Hold for pending transaction"
  }'
```

### Body Parameters
- `account_id` (string, required)
  The Account to place the hold on.

- `amount` (integer, required)
  The amount to hold in the minor unit of the account's currency. For dollars, for example, this is cents. This should be a negative amount - to hold $1.00 from the account, you would pass -100.

- `description` (string, optional)
  The description you choose to give the hold.

## Retrieve a Pending Transaction
GET /pending_transactions/{pending_transaction_id}

### Example
```curl
curl \
  --url "${INCREASE_URL}/pending_transactions/pending_transaction_k1sfetcau2qbvjbzgju4" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
```
### Path Parameters
- `pending_transaction_id` (string, required)
  The identifier of the Pending Transaction.

## Release a user-initiated Pending Transaction
POST /pending_transactions/{pending_transaction_id}/release
> Release a Pending Transaction you had previously created. The Pending Transaction must have a `category` of `user_initiated_hold` and a `status` of `pending`. This will unlock the held funds and mark the Pending Transaction as complete.
### Example
```curl
curl -X "POST" \
  --url "${INCREASE_URL}/pending_transactions/pending_transaction_k1sfetcau2qbvjbzgju4/release" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
```
### Path Parameters
- `pending_transaction_id` (string, required)
  The identifier of the Pending Transaction to release.

## Sandbox: Release an Inbound Funds Hold
POST /simulations/pending_transactions/{pending_transaction_id}/release_inbound_funds_hold
> This endpoint simulates immediately releasing an Inbound Funds Hold, which might be created as a result of, for example, an ACH debit.
### Example
```curl
curl -X "POST" \
  --url "${INCREASE_URL}/simulations/pending_transactions/pending_transaction_k1sfetcau2qbvjbzgju4/release_inbound_funds_hold" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
```
### Path Parameters
- `pending_transaction_id` (string, required)
  The pending transaction to release. The pending transaction must have a `inbound_funds_hold` source.