---
title: "Create an Authorization"
method: POST
path: "/authorizations"
tags: ["Authorizations"]
---

# Create an Authorization

`POST /authorizations`

Create an `Authorization` to process a transaction.

Related Guides: [Creating and Capturing an Authorization](/guides/online-payments/payment-features/auth-and-captures/), [Level 2 and 3 Processing](/guides/online-payments/payment-features/level-2-level-3-processing), [POS Integration](/guides/in-person-payments/building-your-integration/pos-integration), [Buyer Charges](/guides/online-payments/payment-features/buyer-charges)

## Headers

- `Finix-Version` string
- `Content-Type` string

## Request body

- union
  - CreateAuthorizationMinimalFields
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
  - CreateAuthorization
    - `3d_secure_authentication` 3dSecureAuthentication, nullable
      - `cardholder_authentication` string, required — Provides evidence that the cardholder authentication occurred or that the merchant attempted authentication. This is unique for each authentication transaction and is sometimes referred to as the cardholder authentication verification value (CAVV).
      - `electronic_commerce_indicator` string, required — - **AUTHENTICATED**: Approved by 3D Secure Vendor. - **ATTEMPTED**: Issuer or cardholder does not support 3D Secure. - **NON_AUTHENTICATED**: Did not pass in 3D Secure Data or passed in incorrect data when attempting 3D Secure.
      - `transaction_id` string, required — Unique identifier for the 3D Secure transaction.
    - `additional_buyer_charges` AdditionalBuyerCharges, nullable — Additional charges will be incurred by the buyer. The following rules apply: - The `Merchant` must be enabled to charge these surcharges by setting the appropriate flags for each applicable surcharge to `true` using the PUT `/merchants` endpoint. - Only _one_ of the following charges can be applied during creation.
      - `convenience_amount` integer, nullable — A convenience fee to charge the buyer for the transaction. This object property is mutually exclusive.
      - `rent_surcharge_amount` integer, nullable — A rent surcharge to charge the buyer for the transaction. This object property is mutually exclusive.
      - `surcharge_amount` integer, nullable — A surcharge amount to charge the buyer for the transaction. This object property is mutually exclusive.
    - `additional_healthcare_data` AdditionalHealthcareData, nullable
      - `clinic_amount` integer, nullable — A clinic or other qualified medical amount for the transaction.
      - `dental_amount` integer, nullable — The dental amount for the transaction.
      - `prescription_amount` integer, nullable — The prescription/RX amount for the transaction.
      - `vision_amount` integer, nullable — The vision/optical amount for the transaction.
    - `additional_purchase_data` AdditionalPurchaseData, nullable — Additional information about the purchase used for [Level 2 and Level 3 Processing](/guides/online-payments/payment-features/level-2-level-3-processing). Please note that Visa is ending its Level 2 offering in April 2026.
      - `customer_reference_number` string — The customer reference for the purchase (max 17 characters). For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
      - `customs_duty_amount` integer — The duty in cents on the total purchase amount for the order.
      - `destination_country_code` string — The ISO country code of the order destination.
      - `destination_postal_code` string — The postal code of the order destination (10 characters).
      - `discount_amount` integer — The amount in cents of the discount for the order. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
      - `invoice_reference_number` string — The order's invoice number (max 15 characters).
      - `order_date` object
        - `day` integer — Day of purchase (between 1 and 31).
        - `month` integer — Month of purchase (between 1 and 12).
        - `year` integer — Year of purchase (4-digit).
      - `sales_tax` integer — - Total aggregate tax amount in cents for the entire purchase. Field is automatically calculated if you pass in the itemized tax amounts. - For non-taxable transactions either set `sales_tax` to 0 or omit from payload and also set `tax_exempt` to **True**. - Request must align so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`. - For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
      - `sales_tax_finix_generated` integer, nullable — The sales tax amount in cents Finix calculated from the `item_data` line items.
      - `ship_from_postal_code` string — The postal code from where order is shipped (10 characters).
      - `shipping_amount` integer — The shipping cost in cents for the order.
      - `tax_exempt` boolean — - For tax exempt purchases set to **True**. - If set to **True**, request can't include `sales_tax`.
      - `item_data` object[] — Additional information about the transaction. Used for Level 2 and Level 3 Processing.
        - `amount_excluding_sales_tax` integer — - Total cost of the line item in cents, excluding tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
        - `amount_including_sales_tax` integer — - Total cost of the line item in cents, including tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
        - `commodity_code` string — A commodity code is a numeric code representing a particular product or service as defined by the National Institute of Governmental Purchasing. The code can be 3, 5, 7, or 11 digits in length. The longer the code the more granular the description of the product/service. (max 12 characters).
        - `cost_per_unit` integer — The price in cents, excluding tax, of one unit of the item purchased.
        - `item_description` string — Required when `item_data` is supplied (max 25 characters).
        - `item_discount_amount` integer — The item discount amount in cents. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
        - `merchant_product_code` string — Merchant defined product code (max 12 characters).
        - `quantity` number — The number of items purchased. Must be greater than 0.
        - `unit_of_measure` string — The unit of measure of the purchased item (max 3 characters).
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `credential_on_file` object — An object that contains information about the credential on file transfer. - `type`: The type of credential on file transfer. Must be one of the following values: - `RECURRING`: A transfer that is part of a series of transfers scheduled at regular intervals. Interchange benefits for `RECURRING` transactions are available only to approved bill payment merchants in the telecommunications and cable industries (MCC 4814 and 4899). - `UNSCHEDULED`: A merchant-initiated, one-time transaction using stored credentials, triggered when specific conditions in a cardholder agreement are met—not on a fixed schedule. - `initial_transfer_id`: The ID of the initial transfer in the recurring series. This field is required for both `RECURRING` and `UNSCHEDULED` types.
      - `initial_transfer_id` string, required — The ID of the initial transfer in the series.
      - `type` 'RECURRING' | 'UNSCHEDULED', required
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `device` string — The ID of the `Device` that the `Authorization` was created under.
    - `idempotency_id` string, nullable — Pass any randomly generated or internal ID to [idempotently](/api/section/idempotent-requests) identify `Transfers`, `Authorizations`, or refund requests.
    - `identity` string — The ID of the buyer `Identity` to run the card present authorization. Finix tokenizes the card associated with the provided `Identity` and processes the authorization, removing the need to create a blank buyer `Identity`.
    - `ip_address_v4` string, nullable — The card brands require the customer's IP address for online gaming clients. Only supports Internet Protocol version 4 (IPv4).
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `operation_key` 'AUTHORIZATION' | 'CARD_PRESENT_AUTHORIZATION' — Details the operation that's performed in the authorization.
    - `partial_authorization` boolean — Partial authorizations let you collect part of the amount if the cardholder lacks funds for the full amount. Set to `true` to enable partial authorizations for a transaction. If `partial_authorization` is enabled, the `Merchant` value for `default_partial_authorization_enabled` is ignored.
    - `receipt_options` object, nullable — If provided the information will be used to generate a receipt if transaction is successful.
      - `additional_details` object[] — An array of key-value pairs for including any extra metadata or custom information related to the receipt. Each entry must contain a `name` and a corresponding `value`. **Currently these fields will only be used for receipts via devices.**
        - `name` string — The label or title for the additional detail being provided. This should be a short, human-readable identifier such as "Invoice Number", "VIN", "Service Date", or "Technician".
        - `value` string — The corresponding value for the detail specified in name. This can be any string that provides relevant context or information to appear on the receipt, such as an actual invoice number, vehicle identification number, or date.
      - `amount_breakdown` AmountBreakdown — The individual charges/fees that add up to the total amount.
        - `subtotal_amount` integer — The subtotal amount before any taxes, shipping, or additional charges are applied.
        - `shipping_amount` integer — The amount charged for shipping the items in the order.
        - `estimated_tax_amount` integer — The estimated amount of tax applied to the order.
        - `additional_buyer_charges` AdditionalBuyerCharges, nullable — Additional charges will be incurred by the buyer. The following rules apply: - The `Merchant` must be enabled to charge these surcharges by setting the appropriate flags for each applicable surcharge to `true` using the PUT `/merchants` endpoint. - Only _one_ of the following charges can be applied during creation.
          - `convenience_amount` integer, nullable — A convenience fee to charge the buyer for the transaction. This object property is mutually exclusive.
          - `rent_surcharge_amount` integer, nullable — A rent surcharge to charge the buyer for the transaction. This object property is mutually exclusive.
          - `surcharge_amount` integer, nullable — A surcharge amount to charge the buyer for the transaction. This object property is mutually exclusive.
        - `discount_amount` integer — A reduction applied to the total amount.
        - `tip_amount` integer — The tip amount included in the order total.
      - `items` object[] — An itemized list of products/services.
        - `description` string — A item description.
        - `image_details` object — Product/service image locations.
          - `primary_image_url` string — The location of a item image.
          - `alternative_image_urls` string[] — The locations of backup images if there is an issue with the primary image.
        - `name` string — The item name.
        - `price_details` object — Additional details about the price.
          - `sale_amount` integer — The on-sale price of the item if it is different from the `regular_amount`.
          - `currency` 'CAD' | 'USD' — ISO 4217 3-letter currency code.
          - `price_type` 'PROMOTIONAL' | 'REGULAR' — Whether the price is on-sale (`PROMOTIONAL`) or the normal price (`REGULAR`).
          - `regular_amount` integer — The standard price of the item without any adjustments applied (e.g. discounts, taxes, sales).
          - `amount_excluding_sales_tax` integer — The amount excluding sales tax.
          - `item_discount_amount` integer — The item discount.
        - `quantity` integer — The item quantity.
      - `requested_delivery_methods` object[] — An array of delivery methods used to send the receipt.
        - `type` 'EMAIL' | 'SMS' | 'PRINT', required — The type of delivery method used to send the receipt.
        - `destinations` string[], required — A list of destinations to send the receipt.
    - `security_code` string — The 3-4 digit security code for the card (i.e. CVV code). Include the CVV code of the card to include [Card Verification Checks](/guides/online-payments/fraud-and-risk/risk-rules-card-checks) with the created `Authorization`.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
    - `statement_descriptor` string, nullable — The description of the `Merchant` that appears on the card statement.
    - `tags` Tags, nullable — Include up to 50 `key: value` pairs to annotate requests with custom metadata. - Maximum character length for individual `keys` is 40. - Maximum character length for individual `values` is 500. (For example, `order_number: 25`, `item_type: produce`, `department: sales`)
  - CreateAuthorizationCanada
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
  - CreateAuthorization3DSecure
    - `3d_secure_authentication` 3dSecureAuthentication, nullable
      - `cardholder_authentication` string, required — Provides evidence that the cardholder authentication occurred or that the merchant attempted authentication. This is unique for each authentication transaction and is sometimes referred to as the cardholder authentication verification value (CAVV).
      - `electronic_commerce_indicator` string, required — - **AUTHENTICATED**: Approved by 3D Secure Vendor. - **ATTEMPTED**: Issuer or cardholder does not support 3D Secure. - **NON_AUTHENTICATED**: Did not pass in 3D Secure Data or passed in incorrect data when attempting 3D Secure.
      - `transaction_id` string, required — Unique identifier for the 3D Secure transaction.
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
  - CreateAuthorizationBuyerCharges
    - `additional_buyer_charges` AdditionalBuyerCharges, nullable — Additional charges will be incurred by the buyer. The following rules apply: - The `Merchant` must be enabled to charge these surcharges by setting the appropriate flags for each applicable surcharge to `true` using the PUT `/merchants` endpoint. - Only _one_ of the following charges can be applied during creation.
      - `convenience_amount` integer, nullable — A convenience fee to charge the buyer for the transaction. This object property is mutually exclusive.
      - `rent_surcharge_amount` integer, nullable — A rent surcharge to charge the buyer for the transaction. This object property is mutually exclusive.
      - `surcharge_amount` integer, nullable — A surcharge amount to charge the buyer for the transaction. This object property is mutually exclusive.
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
  - CreateAuthorizationCardPresent
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `device` string, required — The ID of the `Device` that the `Authorization` was created under.
    - `identity` string — The ID of the buyer `Identity` to run the card present authorization. Finix tokenizes the card associated with the provided `Identity` and processes the authorization, removing the need to create a blank buyer `Identity`.
    - `operation_key` 'CARD_PRESENT_AUTHORIZATION', required — Details the operation that's performed in the authorization.
    - `receipt_options` object, nullable — If provided the information will be used to generate a receipt if transaction is successful.
      - `additional_details` object[] — An array of key-value pairs for including any extra metadata or custom information related to the receipt. Each entry must contain a `name` and a corresponding `value`. **Currently these fields will only be used for receipts via devices.**
        - `name` string — The label or title for the additional detail being provided. This should be a short, human-readable identifier such as "Invoice Number", "VIN", "Service Date", or "Technician".
        - `value` string — The corresponding value for the detail specified in name. This can be any string that provides relevant context or information to appear on the receipt, such as an actual invoice number, vehicle identification number, or date.
      - `amount_breakdown` AmountBreakdown — The individual charges/fees that add up to the total amount.
        - `subtotal_amount` integer — The subtotal amount before any taxes, shipping, or additional charges are applied.
        - `shipping_amount` integer — The amount charged for shipping the items in the order.
        - `estimated_tax_amount` integer — The estimated amount of tax applied to the order.
        - `additional_buyer_charges` AdditionalBuyerCharges, nullable — Additional charges will be incurred by the buyer. The following rules apply: - The `Merchant` must be enabled to charge these surcharges by setting the appropriate flags for each applicable surcharge to `true` using the PUT `/merchants` endpoint. - Only _one_ of the following charges can be applied during creation.
          - `convenience_amount` integer, nullable — A convenience fee to charge the buyer for the transaction. This object property is mutually exclusive.
          - `rent_surcharge_amount` integer, nullable — A rent surcharge to charge the buyer for the transaction. This object property is mutually exclusive.
          - `surcharge_amount` integer, nullable — A surcharge amount to charge the buyer for the transaction. This object property is mutually exclusive.
        - `discount_amount` integer — A reduction applied to the total amount.
        - `tip_amount` integer — The tip amount included in the order total.
      - `items` object[] — An itemized list of products/services.
        - `description` string — A item description.
        - `image_details` object — Product/service image locations.
          - `primary_image_url` string — The location of a item image.
          - `alternative_image_urls` string[] — The locations of backup images if there is an issue with the primary image.
        - `name` string — The item name.
        - `price_details` object — Additional details about the price.
          - `sale_amount` integer — The on-sale price of the item if it is different from the `regular_amount`.
          - `currency` 'CAD' | 'USD' — ISO 4217 3-letter currency code.
          - `price_type` 'PROMOTIONAL' | 'REGULAR' — Whether the price is on-sale (`PROMOTIONAL`) or the normal price (`REGULAR`).
          - `regular_amount` integer — The standard price of the item without any adjustments applied (e.g. discounts, taxes, sales).
          - `amount_excluding_sales_tax` integer — The amount excluding sales tax.
          - `item_discount_amount` integer — The item discount.
        - `quantity` integer — The item quantity.
      - `requested_delivery_methods` object[] — An array of delivery methods used to send the receipt.
        - `type` 'EMAIL' | 'SMS' | 'PRINT', required — The type of delivery method used to send the receipt.
        - `destinations` string[], required — A list of destinations to send the receipt.
    - `tags` Tags, nullable — Include up to 50 `key: value` pairs to annotate requests with custom metadata. - Maximum character length for individual `keys` is 40. - Maximum character length for individual `values` is 500. (For example, `order_number: 25`, `item_type: produce`, `department: sales`)
  - CreateAuthorizationCVV
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `security_code` string — The 3-4 digit security code for the card (i.e. CVV code). Include the CVV code of the card to include [Card Verification Checks](/guides/online-payments/fraud-and-risk/risk-rules-card-checks) with the created `Authorization`.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
  - CreateAuthorizationAutoRental
    - `additional_motor_vehicle_rental_data` AdditionalMotorVehicleRentalData, nullable — Contains motor vehicle rental-specific fields for `Authorization` and `Transfer` requests. Optional for motor vehicle rental MCC transactions (MCC 3351–3500, 7512). Returns `null` for all other transactions.
      - `motor_vehicle_rental_agreement_number` string, nullable — The rental agreement or contract reference number for the rental. Max 9 characters; longer values are truncated.
      - `customer_service_number` string, nullable — The phone number customers can call for support or inquiries related to their rental.
      - `extra_charge_details` object, nullable — Additional charges beyond the base rental rate being billed. Each field represents a specific charge type, in cents.
        - `extra_mileage_amount` integer — The amount of the additional charge, in cents.
        - `fuel_amount` integer — The amount of the additional charge, in cents.
        - `insurance_amount` integer — The amount of the additional charge, in cents.
        - `late_return_amount` integer — The amount of the additional charge, in cents.
        - `one_way_service_fee_amount` integer — The amount of the additional charge, in cents.
        - `parking_violation_amount` integer — The amount of the additional charge, in cents.
      - `is_no_show` boolean, nullable — An indicator that the cardholder is being billed for a reserved vehicle that was not actually rented (that is, a "no-show" charge).
      - `number_of_days` integer, nullable — The total number of days for the vehicle rental.
      - `pickup_address` Address
        - `line1` string, nullable, required — First line of the address (max 35 characters).
        - `line2` string, nullable — Second line of the address (max 35 characters).
        - `city` string, nullable, required — City (max 20 characters).
        - `region` string, nullable, required — 2-letter State code.
        - `postal_code` string, nullable, required — Zip or Postal code (max 7 characters).
        - `country` 'ABW' | 'AFG' | 'AGO' | 'AIA' | 'ALA' | 'ALB' | 'AND' | 'ARE' | 'ARG' | 'ARM' | 'ASM' | 'ATA' | 'ATF' | 'ATG' | 'AUS' | 'AUT' | 'AZE' | 'BDI' | 'BEL' | 'BEN' | 'BES' | 'BFA' | 'BGD' | 'BGR' | 'BHR' | 'BHS' | 'BIH' | 'BLM' | 'BLR' | 'BLZ' | 'BMU' | 'BOL' | 'BRA' | 'BRB' | 'BRN' | 'BTN' | 'BVT' | 'BWA' | 'CAF' | 'CAN' | 'CCK' | 'CHE' | 'CHL' | 'CHN' | 'CIV' | 'CMR' | 'COD' | 'COG' | 'COK' | 'COL' | 'COM' | 'CPV' | 'CRI' | 'CUB' | 'CUW' | 'CXR' | 'CYM' | 'CYP' | 'CZE' | 'DEU' | 'DJI' | 'DMA' | 'DNK' | 'DOM' | 'DZA' | 'ECU' | 'EGY' | 'ERI' | 'ESH' | 'ESP' | 'EST' | 'ETH' | 'FIN' | 'FJI' | 'FLK' | 'FRA' | 'FRO' | 'FSM' | 'GAB' | 'GBR' | 'GEO' | 'GGY' | 'GHA' | 'GIB' | 'GIN' | 'GLP' | 'GMB' | 'GNB' | 'GNQ' | 'GRC' | 'GRD' | 'GRL' | 'GTM' | 'GUF' | 'GUM' | 'GUY' | 'HKG' | 'HMD' | 'HND' | 'HRV' | 'HTI' | 'HUN' | 'IDN' | 'IMN' | 'IND' | 'IOT' | 'IRL' | 'IRN' | 'IRQ' | 'ISL' | 'ISR' | 'ITA' | 'JAM' | 'JEY' | 'JOR' | 'JPN' | 'KAZ' | 'KEN' | 'KGZ' | 'KHM' | 'KIR' | 'KNA' | 'KOR' | 'KWT' | 'LAO' | 'LBN' | 'LBR' | 'LBY' | 'LCA' | 'LIE' | 'LKA' | 'LSO' | 'LTU' | 'LUX' | 'LVA' | 'MAC' | 'MAF' | 'MAR' | 'MCO' | 'MDA' | 'MDG' | 'MDV' | 'MEX' | 'MHL' | 'MKD' | 'MLI' | 'MLT' | 'MMR' | 'MNE' | 'MNG' | 'MNP' | 'MRT' | 'MSR' | 'MTQ' | 'MUS' | 'MWI' | 'MYS' | 'MYT' | 'NAM' | 'NCL' | 'NER' | 'NFK' | 'NGA' | 'NIC' | 'NIU' | 'NLD' | 'NOR' | 'NPL' | 'NRU' | 'NZL' | 'OMN' | 'PAK' | 'PAN' | 'PCN' | 'PER' | 'PHL' | 'PLW' | 'PNG' | 'POL' | 'PRI' | 'PRK' | 'PRT' | 'PRY' | 'PSE' | 'PYF' | 'QAT' | 'REU' | 'ROU' | 'RUS' | 'RWA' | 'SAU' | 'SDN' | 'SEN' | 'SGP' | 'SGS' | 'SHN' | 'SJM' | 'SLB' | 'SLE' | 'SLV' | 'SMR' | 'SOM' | 'SPM' | 'SRB' | 'SSD' | 'STP' | 'SUR' | 'SVK' | 'SVN' | 'SWE' | 'SWZ' | 'SXM' | 'SYC' | 'SYR' | 'TCA' | 'TCD' | 'TGO' | 'THA' | 'TJK' | 'TKL' | 'TKM' | 'TLS' | 'TON' | 'TTO' | 'TUN' | 'TUR' | 'TUV' | 'TWN' | 'TZA' | 'UGA' | 'UKR' | 'UMI' | 'URY' | 'USA' | 'UZB' | 'VAT' | 'VCT' | 'VEN' | 'VGB' | 'VIR' | 'VNM' | 'VUT' | 'WLF' | 'WSM' | 'XKX' | 'YEM' | 'ZAF' | 'ZMB' | 'ZWE', nullable, required
      - `pickup_date` object, nullable — The scheduled vehicle pickup date.
        - `month` integer — The month of the pickup date.
        - `day` integer — The day of the pickup date.
        - `year` integer — The year of the pickup date.
      - `return_address` Address
        - `line1` string, nullable, required — First line of the address (max 35 characters).
        - `line2` string, nullable — Second line of the address (max 35 characters).
        - `city` string, nullable, required — City (max 20 characters).
        - `region` string, nullable, required — 2-letter State code.
        - `postal_code` string, nullable, required — Zip or Postal code (max 7 characters).
        - `country` 'ABW' | 'AFG' | 'AGO' | 'AIA' | 'ALA' | 'ALB' | 'AND' | 'ARE' | 'ARG' | 'ARM' | 'ASM' | 'ATA' | 'ATF' | 'ATG' | 'AUS' | 'AUT' | 'AZE' | 'BDI' | 'BEL' | 'BEN' | 'BES' | 'BFA' | 'BGD' | 'BGR' | 'BHR' | 'BHS' | 'BIH' | 'BLM' | 'BLR' | 'BLZ' | 'BMU' | 'BOL' | 'BRA' | 'BRB' | 'BRN' | 'BTN' | 'BVT' | 'BWA' | 'CAF' | 'CAN' | 'CCK' | 'CHE' | 'CHL' | 'CHN' | 'CIV' | 'CMR' | 'COD' | 'COG' | 'COK' | 'COL' | 'COM' | 'CPV' | 'CRI' | 'CUB' | 'CUW' | 'CXR' | 'CYM' | 'CYP' | 'CZE' | 'DEU' | 'DJI' | 'DMA' | 'DNK' | 'DOM' | 'DZA' | 'ECU' | 'EGY' | 'ERI' | 'ESH' | 'ESP' | 'EST' | 'ETH' | 'FIN' | 'FJI' | 'FLK' | 'FRA' | 'FRO' | 'FSM' | 'GAB' | 'GBR' | 'GEO' | 'GGY' | 'GHA' | 'GIB' | 'GIN' | 'GLP' | 'GMB' | 'GNB' | 'GNQ' | 'GRC' | 'GRD' | 'GRL' | 'GTM' | 'GUF' | 'GUM' | 'GUY' | 'HKG' | 'HMD' | 'HND' | 'HRV' | 'HTI' | 'HUN' | 'IDN' | 'IMN' | 'IND' | 'IOT' | 'IRL' | 'IRN' | 'IRQ' | 'ISL' | 'ISR' | 'ITA' | 'JAM' | 'JEY' | 'JOR' | 'JPN' | 'KAZ' | 'KEN' | 'KGZ' | 'KHM' | 'KIR' | 'KNA' | 'KOR' | 'KWT' | 'LAO' | 'LBN' | 'LBR' | 'LBY' | 'LCA' | 'LIE' | 'LKA' | 'LSO' | 'LTU' | 'LUX' | 'LVA' | 'MAC' | 'MAF' | 'MAR' | 'MCO' | 'MDA' | 'MDG' | 'MDV' | 'MEX' | 'MHL' | 'MKD' | 'MLI' | 'MLT' | 'MMR' | 'MNE' | 'MNG' | 'MNP' | 'MRT' | 'MSR' | 'MTQ' | 'MUS' | 'MWI' | 'MYS' | 'MYT' | 'NAM' | 'NCL' | 'NER' | 'NFK' | 'NGA' | 'NIC' | 'NIU' | 'NLD' | 'NOR' | 'NPL' | 'NRU' | 'NZL' | 'OMN' | 'PAK' | 'PAN' | 'PCN' | 'PER' | 'PHL' | 'PLW' | 'PNG' | 'POL' | 'PRI' | 'PRK' | 'PRT' | 'PRY' | 'PSE' | 'PYF' | 'QAT' | 'REU' | 'ROU' | 'RUS' | 'RWA' | 'SAU' | 'SDN' | 'SEN' | 'SGP' | 'SGS' | 'SHN' | 'SJM' | 'SLB' | 'SLE' | 'SLV' | 'SMR' | 'SOM' | 'SPM' | 'SRB' | 'SSD' | 'STP' | 'SUR' | 'SVK' | 'SVN' | 'SWE' | 'SWZ' | 'SXM' | 'SYC' | 'SYR' | 'TCA' | 'TCD' | 'TGO' | 'THA' | 'TJK' | 'TKL' | 'TKM' | 'TLS' | 'TON' | 'TTO' | 'TUN' | 'TUR' | 'TUV' | 'TWN' | 'TZA' | 'UGA' | 'UKR' | 'UMI' | 'URY' | 'USA' | 'UZB' | 'VAT' | 'VCT' | 'VEN' | 'VGB' | 'VIR' | 'VNM' | 'VUT' | 'WLF' | 'WSM' | 'XKX' | 'YEM' | 'ZAF' | 'ZMB' | 'ZWE', nullable, required
      - `return_date` object, nullable — The scheduled vehicle return date. Must be on or after `pickup_date`.
        - `month` integer — The month of the return date.
        - `day` integer — The day of the return date.
        - `year` integer — The year of the return date.
    - `3d_secure_authentication` 3dSecureAuthentication, nullable
      - `cardholder_authentication` string, required — Provides evidence that the cardholder authentication occurred or that the merchant attempted authentication. This is unique for each authentication transaction and is sometimes referred to as the cardholder authentication verification value (CAVV).
      - `electronic_commerce_indicator` string, required — - **AUTHENTICATED**: Approved by 3D Secure Vendor. - **ATTEMPTED**: Issuer or cardholder does not support 3D Secure. - **NON_AUTHENTICATED**: Did not pass in 3D Secure Data or passed in incorrect data when attempting 3D Secure.
      - `transaction_id` string, required — Unique identifier for the 3D Secure transaction.
    - `additional_buyer_charges` AdditionalBuyerCharges, nullable — Additional charges will be incurred by the buyer. The following rules apply: - The `Merchant` must be enabled to charge these surcharges by setting the appropriate flags for each applicable surcharge to `true` using the PUT `/merchants` endpoint. - Only _one_ of the following charges can be applied during creation.
      - `convenience_amount` integer, nullable — A convenience fee to charge the buyer for the transaction. This object property is mutually exclusive.
      - `rent_surcharge_amount` integer, nullable — A rent surcharge to charge the buyer for the transaction. This object property is mutually exclusive.
      - `surcharge_amount` integer, nullable — A surcharge amount to charge the buyer for the transaction. This object property is mutually exclusive.
    - `additional_healthcare_data` AdditionalHealthcareData, nullable
      - `clinic_amount` integer, nullable — A clinic or other qualified medical amount for the transaction.
      - `dental_amount` integer, nullable — The dental amount for the transaction.
      - `prescription_amount` integer, nullable — The prescription/RX amount for the transaction.
      - `vision_amount` integer, nullable — The vision/optical amount for the transaction.
    - `additional_purchase_data` AdditionalPurchaseData, nullable — Additional information about the purchase used for [Level 2 and Level 3 Processing](/guides/online-payments/payment-features/level-2-level-3-processing). Please note that Visa is ending its Level 2 offering in April 2026.
      - `customer_reference_number` string — The customer reference for the purchase (max 17 characters). For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
      - `customs_duty_amount` integer — The duty in cents on the total purchase amount for the order.
      - `destination_country_code` string — The ISO country code of the order destination.
      - `destination_postal_code` string — The postal code of the order destination (10 characters).
      - `discount_amount` integer — The amount in cents of the discount for the order. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
      - `invoice_reference_number` string — The order's invoice number (max 15 characters).
      - `order_date` object
        - `day` integer — Day of purchase (between 1 and 31).
        - `month` integer — Month of purchase (between 1 and 12).
        - `year` integer — Year of purchase (4-digit).
      - `sales_tax` integer — - Total aggregate tax amount in cents for the entire purchase. Field is automatically calculated if you pass in the itemized tax amounts. - For non-taxable transactions either set `sales_tax` to 0 or omit from payload and also set `tax_exempt` to **True**. - Request must align so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`. - For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
      - `sales_tax_finix_generated` integer, nullable — The sales tax amount in cents Finix calculated from the `item_data` line items.
      - `ship_from_postal_code` string — The postal code from where order is shipped (10 characters).
      - `shipping_amount` integer — The shipping cost in cents for the order.
      - `tax_exempt` boolean — - For tax exempt purchases set to **True**. - If set to **True**, request can't include `sales_tax`.
      - `item_data` object[] — Additional information about the transaction. Used for Level 2 and Level 3 Processing.
        - `amount_excluding_sales_tax` integer — - Total cost of the line item in cents, excluding tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
        - `amount_including_sales_tax` integer — - Total cost of the line item in cents, including tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
        - `commodity_code` string — A commodity code is a numeric code representing a particular product or service as defined by the National Institute of Governmental Purchasing. The code can be 3, 5, 7, or 11 digits in length. The longer the code the more granular the description of the product/service. (max 12 characters).
        - `cost_per_unit` integer — The price in cents, excluding tax, of one unit of the item purchased.
        - `item_description` string — Required when `item_data` is supplied (max 25 characters).
        - `item_discount_amount` integer — The item discount amount in cents. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
        - `merchant_product_code` string — Merchant defined product code (max 12 characters).
        - `quantity` number — The number of items purchased. Must be greater than 0.
        - `unit_of_measure` string — The unit of measure of the purchased item (max 3 characters).
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `credential_on_file` object — An object that contains information about the credential on file transfer. - `type`: The type of credential on file transfer. Must be one of the following values: - `RECURRING`: A transfer that is part of a series of transfers scheduled at regular intervals. Interchange benefits for `RECURRING` transactions are available only to approved bill payment merchants in the telecommunications and cable industries (MCC 4814 and 4899). - `UNSCHEDULED`: A merchant-initiated, one-time transaction using stored credentials, triggered when specific conditions in a cardholder agreement are met—not on a fixed schedule. - `initial_transfer_id`: The ID of the initial transfer in the recurring series. This field is required for both `RECURRING` and `UNSCHEDULED` types.
      - `initial_transfer_id` string, required — The ID of the initial transfer in the series.
      - `type` 'RECURRING' | 'UNSCHEDULED', required
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `device` string — The ID of the `Device` that the `Authorization` was created under.
    - `idempotency_id` string, nullable — Pass any randomly generated or internal ID to [idempotently](/api/section/idempotent-requests) identify `Transfers`, `Authorizations`, or refund requests.
    - `identity` string — The ID of the buyer `Identity` to run the card present authorization. Finix tokenizes the card associated with the provided `Identity` and processes the authorization, removing the need to create a blank buyer `Identity`.
    - `ip_address_v4` string, nullable — The card brands require the customer's IP address for online gaming clients. Only supports Internet Protocol version 4 (IPv4).
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `operation_key` 'AUTHORIZATION' | 'CARD_PRESENT_AUTHORIZATION' — Details the operation that's performed in the authorization.
    - `partial_authorization` boolean — Partial authorizations let you collect part of the amount if the cardholder lacks funds for the full amount. Set to `true` to enable partial authorizations for a transaction. If `partial_authorization` is enabled, the `Merchant` value for `default_partial_authorization_enabled` is ignored.
    - `receipt_options` object, nullable — If provided the information will be used to generate a receipt if transaction is successful.
      - `additional_details` object[] — An array of key-value pairs for including any extra metadata or custom information related to the receipt. Each entry must contain a `name` and a corresponding `value`. **Currently these fields will only be used for receipts via devices.**
        - `name` string — The label or title for the additional detail being provided. This should be a short, human-readable identifier such as "Invoice Number", "VIN", "Service Date", or "Technician".
        - `value` string — The corresponding value for the detail specified in name. This can be any string that provides relevant context or information to appear on the receipt, such as an actual invoice number, vehicle identification number, or date.
      - `amount_breakdown` AmountBreakdown — The individual charges/fees that add up to the total amount.
        - `subtotal_amount` integer — The subtotal amount before any taxes, shipping, or additional charges are applied.
        - `shipping_amount` integer — The amount charged for shipping the items in the order.
        - `estimated_tax_amount` integer — The estimated amount of tax applied to the order.
        - `additional_buyer_charges` AdditionalBuyerCharges, nullable — Additional charges will be incurred by the buyer. The following rules apply: - The `Merchant` must be enabled to charge these surcharges by setting the appropriate flags for each applicable surcharge to `true` using the PUT `/merchants` endpoint. - Only _one_ of the following charges can be applied during creation.
          - `convenience_amount` integer, nullable — A convenience fee to charge the buyer for the transaction. This object property is mutually exclusive.
          - `rent_surcharge_amount` integer, nullable — A rent surcharge to charge the buyer for the transaction. This object property is mutually exclusive.
          - `surcharge_amount` integer, nullable — A surcharge amount to charge the buyer for the transaction. This object property is mutually exclusive.
        - `discount_amount` integer — A reduction applied to the total amount.
        - `tip_amount` integer — The tip amount included in the order total.
      - `items` object[] — An itemized list of products/services.
        - `description` string — A item description.
        - `image_details` object — Product/service image locations.
          - `primary_image_url` string — The location of a item image.
          - `alternative_image_urls` string[] — The locations of backup images if there is an issue with the primary image.
        - `name` string — The item name.
        - `price_details` object — Additional details about the price.
          - `sale_amount` integer — The on-sale price of the item if it is different from the `regular_amount`.
          - `currency` 'CAD' | 'USD' — ISO 4217 3-letter currency code.
          - `price_type` 'PROMOTIONAL' | 'REGULAR' — Whether the price is on-sale (`PROMOTIONAL`) or the normal price (`REGULAR`).
          - `regular_amount` integer — The standard price of the item without any adjustments applied (e.g. discounts, taxes, sales).
          - `amount_excluding_sales_tax` integer — The amount excluding sales tax.
          - `item_discount_amount` integer — The item discount.
        - `quantity` integer — The item quantity.
      - `requested_delivery_methods` object[] — An array of delivery methods used to send the receipt.
        - `type` 'EMAIL' | 'SMS' | 'PRINT', required — The type of delivery method used to send the receipt.
        - `destinations` string[], required — A list of destinations to send the receipt.
    - `security_code` string — The 3-4 digit security code for the card (i.e. CVV code). Include the CVV code of the card to include [Card Verification Checks](/guides/online-payments/fraud-and-risk/risk-rules-card-checks) with the created `Authorization`.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
    - `statement_descriptor` string, nullable — The description of the `Merchant` that appears on the card statement.
    - `tags` Tags, nullable — Include up to 50 `key: value` pairs to annotate requests with custom metadata. - Maximum character length for individual `keys` is 40. - Maximum character length for individual `values` is 500. (For example, `order_number: 25`, `item_type: produce`, `department: sales`)
  - CreateAuthorizationGaming
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `ip_address_v4` string, nullable — The card brands require the customer's IP address for online gaming clients. Only supports Internet Protocol version 4 (IPv4).
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
  - CreateAuthorizationLodging
    - `additional_lodging_data` AdditionalLodgingData, nullable — Contains lodging-specific fields for `Authorization` and `Transfer` requests. Optional for lodging MCC transactions (MCC 3501–3999, 7011). Returns `null` for all other transactions.
      - `check_in_date` object, nullable — The guest's scheduled arrival date.
        - `month` integer — The month of the check-in date.
        - `day` integer — The day of the check-in date.
        - `year` integer — The year of the check-in date.
      - `check_out_date` object, nullable — The guest's scheduled departure date. Must represent a date on or after `check_in_date`.
        - `month` integer — The month of the check-out date.
        - `day` integer — The day of the check-out date.
        - `year` integer — The year of the check-out date.
      - `customer_service_phone` string, nullable — The phone number guests can call for support or inquiries related to their stay.
      - `extra_charge_details` object, nullable — Additional charges billed beyond the room rate. Each field represents a specific charge type, in cents.
        - `restaurant_amount` integer — The amount of the additional charge, in cents.
        - `mini_bar_amount` integer — The amount of the additional charge, in cents.
        - `laundry_amount` integer — The amount of the additional charge, in cents.
        - `other_amount` integer — The amount of the additional charge, in cents.
        - `phone_amount` integer — The amount of the additional charge, in cents.
        - `gift_shop_amount` integer — The amount of the additional charge, in cents.
      - `hotel_agreement_number` string, nullable — The folio or agreement number associated with the reservation. Max 12 characters; longer values are truncated.
      - `is_advance_deposit` boolean, nullable — Indicates whether the lodging charge is an advance deposit.
      - `is_no_show` boolean, nullable — Set to `true` if the cardholder is being billed for a reserved room that was not occupied.
      - `number_of_nights` integer, nullable — The total number of nights for the lodging stay.
      - `property_phone` string, nullable — The direct phone number of the lodging property.
      - `room_rate` string, nullable — The nightly room rate, in cents.
      - `room_tax` string, nullable — The tax amount applied to the room rate, in cents.
    - `3d_secure_authentication` 3dSecureAuthentication, nullable
      - `cardholder_authentication` string, required — Provides evidence that the cardholder authentication occurred or that the merchant attempted authentication. This is unique for each authentication transaction and is sometimes referred to as the cardholder authentication verification value (CAVV).
      - `electronic_commerce_indicator` string, required — - **AUTHENTICATED**: Approved by 3D Secure Vendor. - **ATTEMPTED**: Issuer or cardholder does not support 3D Secure. - **NON_AUTHENTICATED**: Did not pass in 3D Secure Data or passed in incorrect data when attempting 3D Secure.
      - `transaction_id` string, required — Unique identifier for the 3D Secure transaction.
    - `additional_buyer_charges` AdditionalBuyerCharges, nullable — Additional charges will be incurred by the buyer. The following rules apply: - The `Merchant` must be enabled to charge these surcharges by setting the appropriate flags for each applicable surcharge to `true` using the PUT `/merchants` endpoint. - Only _one_ of the following charges can be applied during creation.
      - `convenience_amount` integer, nullable — A convenience fee to charge the buyer for the transaction. This object property is mutually exclusive.
      - `rent_surcharge_amount` integer, nullable — A rent surcharge to charge the buyer for the transaction. This object property is mutually exclusive.
      - `surcharge_amount` integer, nullable — A surcharge amount to charge the buyer for the transaction. This object property is mutually exclusive.
    - `additional_healthcare_data` AdditionalHealthcareData, nullable
      - `clinic_amount` integer, nullable — A clinic or other qualified medical amount for the transaction.
      - `dental_amount` integer, nullable — The dental amount for the transaction.
      - `prescription_amount` integer, nullable — The prescription/RX amount for the transaction.
      - `vision_amount` integer, nullable — The vision/optical amount for the transaction.
    - `additional_purchase_data` AdditionalPurchaseData, nullable — Additional information about the purchase used for [Level 2 and Level 3 Processing](/guides/online-payments/payment-features/level-2-level-3-processing). Please note that Visa is ending its Level 2 offering in April 2026.
      - `customer_reference_number` string — The customer reference for the purchase (max 17 characters). For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
      - `customs_duty_amount` integer — The duty in cents on the total purchase amount for the order.
      - `destination_country_code` string — The ISO country code of the order destination.
      - `destination_postal_code` string — The postal code of the order destination (10 characters).
      - `discount_amount` integer — The amount in cents of the discount for the order. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
      - `invoice_reference_number` string — The order's invoice number (max 15 characters).
      - `order_date` object
        - `day` integer — Day of purchase (between 1 and 31).
        - `month` integer — Month of purchase (between 1 and 12).
        - `year` integer — Year of purchase (4-digit).
      - `sales_tax` integer — - Total aggregate tax amount in cents for the entire purchase. Field is automatically calculated if you pass in the itemized tax amounts. - For non-taxable transactions either set `sales_tax` to 0 or omit from payload and also set `tax_exempt` to **True**. - Request must align so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`. - For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
      - `sales_tax_finix_generated` integer, nullable — The sales tax amount in cents Finix calculated from the `item_data` line items.
      - `ship_from_postal_code` string — The postal code from where order is shipped (10 characters).
      - `shipping_amount` integer — The shipping cost in cents for the order.
      - `tax_exempt` boolean — - For tax exempt purchases set to **True**. - If set to **True**, request can't include `sales_tax`.
      - `item_data` object[] — Additional information about the transaction. Used for Level 2 and Level 3 Processing.
        - `amount_excluding_sales_tax` integer — - Total cost of the line item in cents, excluding tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
        - `amount_including_sales_tax` integer — - Total cost of the line item in cents, including tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
        - `commodity_code` string — A commodity code is a numeric code representing a particular product or service as defined by the National Institute of Governmental Purchasing. The code can be 3, 5, 7, or 11 digits in length. The longer the code the more granular the description of the product/service. (max 12 characters).
        - `cost_per_unit` integer — The price in cents, excluding tax, of one unit of the item purchased.
        - `item_description` string — Required when `item_data` is supplied (max 25 characters).
        - `item_discount_amount` integer — The item discount amount in cents. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
        - `merchant_product_code` string — Merchant defined product code (max 12 characters).
        - `quantity` number — The number of items purchased. Must be greater than 0.
        - `unit_of_measure` string — The unit of measure of the purchased item (max 3 characters).
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `credential_on_file` object — An object that contains information about the credential on file transfer. - `type`: The type of credential on file transfer. Must be one of the following values: - `RECURRING`: A transfer that is part of a series of transfers scheduled at regular intervals. Interchange benefits for `RECURRING` transactions are available only to approved bill payment merchants in the telecommunications and cable industries (MCC 4814 and 4899). - `UNSCHEDULED`: A merchant-initiated, one-time transaction using stored credentials, triggered when specific conditions in a cardholder agreement are met—not on a fixed schedule. - `initial_transfer_id`: The ID of the initial transfer in the recurring series. This field is required for both `RECURRING` and `UNSCHEDULED` types.
      - `initial_transfer_id` string, required — The ID of the initial transfer in the series.
      - `type` 'RECURRING' | 'UNSCHEDULED', required
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `device` string — The ID of the `Device` that the `Authorization` was created under.
    - `idempotency_id` string, nullable — Pass any randomly generated or internal ID to [idempotently](/api/section/idempotent-requests) identify `Transfers`, `Authorizations`, or refund requests.
    - `identity` string — The ID of the buyer `Identity` to run the card present authorization. Finix tokenizes the card associated with the provided `Identity` and processes the authorization, removing the need to create a blank buyer `Identity`.
    - `ip_address_v4` string, nullable — The card brands require the customer's IP address for online gaming clients. Only supports Internet Protocol version 4 (IPv4).
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `operation_key` 'AUTHORIZATION' | 'CARD_PRESENT_AUTHORIZATION' — Details the operation that's performed in the authorization.
    - `partial_authorization` boolean — Partial authorizations let you collect part of the amount if the cardholder lacks funds for the full amount. Set to `true` to enable partial authorizations for a transaction. If `partial_authorization` is enabled, the `Merchant` value for `default_partial_authorization_enabled` is ignored.
    - `receipt_options` object, nullable — If provided the information will be used to generate a receipt if transaction is successful.
      - `additional_details` object[] — An array of key-value pairs for including any extra metadata or custom information related to the receipt. Each entry must contain a `name` and a corresponding `value`. **Currently these fields will only be used for receipts via devices.**
        - `name` string — The label or title for the additional detail being provided. This should be a short, human-readable identifier such as "Invoice Number", "VIN", "Service Date", or "Technician".
        - `value` string — The corresponding value for the detail specified in name. This can be any string that provides relevant context or information to appear on the receipt, such as an actual invoice number, vehicle identification number, or date.
      - `amount_breakdown` AmountBreakdown — The individual charges/fees that add up to the total amount.
        - `subtotal_amount` integer — The subtotal amount before any taxes, shipping, or additional charges are applied.
        - `shipping_amount` integer — The amount charged for shipping the items in the order.
        - `estimated_tax_amount` integer — The estimated amount of tax applied to the order.
        - `additional_buyer_charges` AdditionalBuyerCharges, nullable — Additional charges will be incurred by the buyer. The following rules apply: - The `Merchant` must be enabled to charge these surcharges by setting the appropriate flags for each applicable surcharge to `true` using the PUT `/merchants` endpoint. - Only _one_ of the following charges can be applied during creation.
          - `convenience_amount` integer, nullable — A convenience fee to charge the buyer for the transaction. This object property is mutually exclusive.
          - `rent_surcharge_amount` integer, nullable — A rent surcharge to charge the buyer for the transaction. This object property is mutually exclusive.
          - `surcharge_amount` integer, nullable — A surcharge amount to charge the buyer for the transaction. This object property is mutually exclusive.
        - `discount_amount` integer — A reduction applied to the total amount.
        - `tip_amount` integer — The tip amount included in the order total.
      - `items` object[] — An itemized list of products/services.
        - `description` string — A item description.
        - `image_details` object — Product/service image locations.
          - `primary_image_url` string — The location of a item image.
          - `alternative_image_urls` string[] — The locations of backup images if there is an issue with the primary image.
        - `name` string — The item name.
        - `price_details` object — Additional details about the price.
          - `sale_amount` integer — The on-sale price of the item if it is different from the `regular_amount`.
          - `currency` 'CAD' | 'USD' — ISO 4217 3-letter currency code.
          - `price_type` 'PROMOTIONAL' | 'REGULAR' — Whether the price is on-sale (`PROMOTIONAL`) or the normal price (`REGULAR`).
          - `regular_amount` integer — The standard price of the item without any adjustments applied (e.g. discounts, taxes, sales).
          - `amount_excluding_sales_tax` integer — The amount excluding sales tax.
          - `item_discount_amount` integer — The item discount.
        - `quantity` integer — The item quantity.
      - `requested_delivery_methods` object[] — An array of delivery methods used to send the receipt.
        - `type` 'EMAIL' | 'SMS' | 'PRINT', required — The type of delivery method used to send the receipt.
        - `destinations` string[], required — A list of destinations to send the receipt.
    - `security_code` string — The 3-4 digit security code for the card (i.e. CVV code). Include the CVV code of the card to include [Card Verification Checks](/guides/online-payments/fraud-and-risk/risk-rules-card-checks) with the created `Authorization`.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
    - `statement_descriptor` string, nullable — The description of the `Merchant` that appears on the card statement.
    - `tags` Tags, nullable — Include up to 50 `key: value` pairs to annotate requests with custom metadata. - Maximum character length for individual `keys` is 40. - Maximum character length for individual `values` is 500. (For example, `order_number: 25`, `item_type: produce`, `department: sales`)
  - CreateAuthorizationLevel2Processing
    - `additional_purchase_data` AdditionalPurchaseData, nullable — Additional information about the purchase used for [Level 2 and Level 3 Processing](/guides/online-payments/payment-features/level-2-level-3-processing). Please note that Visa is ending its Level 2 offering in April 2026.
      - `customer_reference_number` string — The customer reference for the purchase (max 17 characters). For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
      - `customs_duty_amount` integer — The duty in cents on the total purchase amount for the order.
      - `destination_country_code` string — The ISO country code of the order destination.
      - `destination_postal_code` string — The postal code of the order destination (10 characters).
      - `discount_amount` integer — The amount in cents of the discount for the order. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
      - `invoice_reference_number` string — The order's invoice number (max 15 characters).
      - `order_date` object
        - `day` integer — Day of purchase (between 1 and 31).
        - `month` integer — Month of purchase (between 1 and 12).
        - `year` integer — Year of purchase (4-digit).
      - `sales_tax` integer — - Total aggregate tax amount in cents for the entire purchase. Field is automatically calculated if you pass in the itemized tax amounts. - For non-taxable transactions either set `sales_tax` to 0 or omit from payload and also set `tax_exempt` to **True**. - Request must align so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`. - For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
      - `sales_tax_finix_generated` integer, nullable — The sales tax amount in cents Finix calculated from the `item_data` line items.
      - `ship_from_postal_code` string — The postal code from where order is shipped (10 characters).
      - `shipping_amount` integer — The shipping cost in cents for the order.
      - `tax_exempt` boolean — - For tax exempt purchases set to **True**. - If set to **True**, request can't include `sales_tax`.
      - `item_data` object[] — Additional information about the transaction. Used for Level 2 and Level 3 Processing.
        - `amount_excluding_sales_tax` integer — - Total cost of the line item in cents, excluding tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
        - `amount_including_sales_tax` integer — - Total cost of the line item in cents, including tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
        - `commodity_code` string — A commodity code is a numeric code representing a particular product or service as defined by the National Institute of Governmental Purchasing. The code can be 3, 5, 7, or 11 digits in length. The longer the code the more granular the description of the product/service. (max 12 characters).
        - `cost_per_unit` integer — The price in cents, excluding tax, of one unit of the item purchased.
        - `item_description` string — Required when `item_data` is supplied (max 25 characters).
        - `item_discount_amount` integer — The item discount amount in cents. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
        - `merchant_product_code` string — Merchant defined product code (max 12 characters).
        - `quantity` number — The number of items purchased. Must be greater than 0.
        - `unit_of_measure` string — The unit of measure of the purchased item (max 3 characters).
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
  - CreateAuthorizationLevel3Processing
    - `additional_purchase_data` AdditionalPurchaseData, nullable — Additional information about the purchase used for [Level 2 and Level 3 Processing](/guides/online-payments/payment-features/level-2-level-3-processing). Please note that Visa is ending its Level 2 offering in April 2026.
      - `customer_reference_number` string — The customer reference for the purchase (max 17 characters). For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
      - `customs_duty_amount` integer — The duty in cents on the total purchase amount for the order.
      - `destination_country_code` string — The ISO country code of the order destination.
      - `destination_postal_code` string — The postal code of the order destination (10 characters).
      - `discount_amount` integer — The amount in cents of the discount for the order. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
      - `invoice_reference_number` string — The order's invoice number (max 15 characters).
      - `order_date` object
        - `day` integer — Day of purchase (between 1 and 31).
        - `month` integer — Month of purchase (between 1 and 12).
        - `year` integer — Year of purchase (4-digit).
      - `sales_tax` integer — - Total aggregate tax amount in cents for the entire purchase. Field is automatically calculated if you pass in the itemized tax amounts. - For non-taxable transactions either set `sales_tax` to 0 or omit from payload and also set `tax_exempt` to **True**. - Request must align so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`. - For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
      - `sales_tax_finix_generated` integer, nullable — The sales tax amount in cents Finix calculated from the `item_data` line items.
      - `ship_from_postal_code` string — The postal code from where order is shipped (10 characters).
      - `shipping_amount` integer — The shipping cost in cents for the order.
      - `tax_exempt` boolean — - For tax exempt purchases set to **True**. - If set to **True**, request can't include `sales_tax`.
      - `item_data` object[] — Additional information about the transaction. Used for Level 2 and Level 3 Processing.
        - `amount_excluding_sales_tax` integer — - Total cost of the line item in cents, excluding tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
        - `amount_including_sales_tax` integer — - Total cost of the line item in cents, including tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
        - `commodity_code` string — A commodity code is a numeric code representing a particular product or service as defined by the National Institute of Governmental Purchasing. The code can be 3, 5, 7, or 11 digits in length. The longer the code the more granular the description of the product/service. (max 12 characters).
        - `cost_per_unit` integer — The price in cents, excluding tax, of one unit of the item purchased.
        - `item_description` string — Required when `item_data` is supplied (max 25 characters).
        - `item_discount_amount` integer — The item discount amount in cents. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
        - `merchant_product_code` string — Merchant defined product code (max 12 characters).
        - `quantity` number — The number of items purchased. Must be greater than 0.
        - `unit_of_measure` string — The unit of measure of the purchased item (max 3 characters).
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
  - CreateAuthorizationPartialAuthorization
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `partial_authorization` boolean — Partial authorizations let you collect part of the amount if the cardholder lacks funds for the full amount. Set to `true` to enable partial authorizations for a transaction. If `partial_authorization` is enabled, the `Merchant` value for `default_partial_authorization_enabled` is ignored.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.
  - CreateAuthorizationRecurringUnscheduled
    - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
    - `credential_on_file` object — An object that contains information about the credential on file transfer. - `type`: The type of credential on file transfer. Must be one of the following values: - `RECURRING`: A transfer that is part of a series of transfers scheduled at regular intervals. Interchange benefits for `RECURRING` transactions are available only to approved bill payment merchants in the telecommunications and cable industries (MCC 4814 and 4899). - `UNSCHEDULED`: A merchant-initiated, one-time transaction using stored credentials, triggered when specific conditions in a cardholder agreement are met—not on a fixed schedule. - `initial_transfer_id`: The ID of the initial transfer in the recurring series. This field is required for both `RECURRING` and `UNSCHEDULED` types.
      - `initial_transfer_id` string, required — The ID of the initial transfer in the series.
      - `type` 'RECURRING' | 'UNSCHEDULED', required
    - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
    - `merchant` string, required — The ID of the `Merchant` that the `Authorization` was created under.
    - `source` string, required — ID of the `Payment Instrument` where funds get debited.

## Response `201`

Response schema to a request to create a single `Authorization` object.

- Authorization — A charge authorization
  - `id` string — The ID of the `Authorization` resource.
  - `created_at` string, date-time — Timestamp of when the object was created.
  - `updated_at` string, date-time — Timestamp of when the object was last updated.
  - `3ds_redirect_url` string, nullable — The redirect URL used for 3DS transactions (if supported by the processor).
  - `additional_buyer_charges` AdditionalBuyerCharges, nullable — Additional charges will be incurred by the buyer. The following rules apply: - The `Merchant` must be enabled to charge these surcharges by setting the appropriate flags for each applicable surcharge to `true` using the PUT `/merchants` endpoint. - Only _one_ of the following charges can be applied during creation.
    - `convenience_amount` integer, nullable — A convenience fee to charge the buyer for the transaction. This object property is mutually exclusive.
    - `rent_surcharge_amount` integer, nullable — A rent surcharge to charge the buyer for the transaction. This object property is mutually exclusive.
    - `surcharge_amount` integer, nullable — A surcharge amount to charge the buyer for the transaction. This object property is mutually exclusive.
  - `additional_healthcare_data` AdditionalHealthcareData, nullable
    - `clinic_amount` integer, nullable — A clinic or other qualified medical amount for the transaction.
    - `dental_amount` integer, nullable — The dental amount for the transaction.
    - `prescription_amount` integer, nullable — The prescription/RX amount for the transaction.
    - `vision_amount` integer, nullable — The vision/optical amount for the transaction.
  - `additional_purchase_data` AdditionalPurchaseData, nullable — Additional information about the purchase used for [Level 2 and Level 3 Processing](/guides/online-payments/payment-features/level-2-level-3-processing). Please note that Visa is ending its Level 2 offering in April 2026.
    - `customer_reference_number` string — The customer reference for the purchase (max 17 characters). For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
    - `customs_duty_amount` integer — The duty in cents on the total purchase amount for the order.
    - `destination_country_code` string — The ISO country code of the order destination.
    - `destination_postal_code` string — The postal code of the order destination (10 characters).
    - `discount_amount` integer — The amount in cents of the discount for the order. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
    - `invoice_reference_number` string — The order's invoice number (max 15 characters).
    - `order_date` object
      - `day` integer — Day of purchase (between 1 and 31).
      - `month` integer — Month of purchase (between 1 and 12).
      - `year` integer — Year of purchase (4-digit).
    - `sales_tax` integer — - Total aggregate tax amount in cents for the entire purchase. Field is automatically calculated if you pass in the itemized tax amounts. - For non-taxable transactions either set `sales_tax` to 0 or omit from payload and also set `tax_exempt` to **True**. - Request must align so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`. - For Visa, this field no longer qualifies for lower interchange after April 17, 2026. Include `item_data` for Level 3 processing.
    - `sales_tax_finix_generated` integer, nullable — The sales tax amount in cents Finix calculated from the `item_data` line items.
    - `ship_from_postal_code` string — The postal code from where order is shipped (10 characters).
    - `shipping_amount` integer — The shipping cost in cents for the order.
    - `tax_exempt` boolean — - For tax exempt purchases set to **True**. - If set to **True**, request can't include `sales_tax`.
    - `item_data` object[] — Additional information about the transaction. Used for Level 2 and Level 3 Processing.
      - `amount_excluding_sales_tax` integer — - Total cost of the line item in cents, excluding tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
      - `amount_including_sales_tax` integer — - Total cost of the line item in cents, including tax. - Must align with `sales_tax` so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.
      - `commodity_code` string — A commodity code is a numeric code representing a particular product or service as defined by the National Institute of Governmental Purchasing. The code can be 3, 5, 7, or 11 digits in length. The longer the code the more granular the description of the product/service. (max 12 characters).
      - `cost_per_unit` integer — The price in cents, excluding tax, of one unit of the item purchased.
      - `item_description` string — Required when `item_data` is supplied (max 25 characters).
      - `item_discount_amount` integer — The item discount amount in cents. You must include this field to qualify for Level 3 interchange benefits. Even if the value is (0), you should pass the field to qualify for Level 3.
      - `merchant_product_code` string — Merchant defined product code (max 12 characters).
      - `quantity` number — The number of items purchased. Must be greater than 0.
      - `unit_of_measure` string — The unit of measure of the purchased item (max 3 characters).
  - `address_verification` string, nullable — Details the results of the Address Verification checks.
  - `amount` integer — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
  - `amount_requested` integer — When `default_partial_authorization_enabled` is set to **true**, `amount_requested` indicates the amount the cardholder attempted to authorize.
  - `application` string — The ID of the `Application` resource the `Authorization` was created under.
  - `card_present_details` CardPresentDetails, nullable — Details needed to process card present transactions.
    - `approval_code` string, nullable — Unique ID used to identify the approval of the `Transfer`.
    - `brand` string, nullable — The brand of the card saved in the `Payment Instrument`.
    - `digital_signature_file_id` string, nullable — If a signature was collected this will contain the the id of the `File` resource which stored the signature.
    - `emv_data` object, nullable — Encrypted card data used to process the transaction.
      - `application_identifier` string — ID of the application used in the transaction. Tag 9F06 from the EMVCo standard.
      - `application_label` string — EMV application label. Tag 50 from the EMVCo standard.
      - `application_preferred_name` string, nullable — EMV application label with formatting (if provided). Tag 9F12 from the EMVCo standard.
      - `application_transaction_counter` string — Transaction number for the EMV application. Tag 9F36 from the EMVCo standard.
      - `cryptogram` string — Cryptogram returned by the card. Tag 9F26 of the EMVCo standard.
      - `issuer_code_table_index` string, nullable — The alphabet code table (according to ISO 8859) used by the EMV application (if provided). Tag 9F11.
      - `pin_verified` boolean — Whether the cardholder's PIN number was verified.
      - `tags` Tags, nullable — Include up to 50 `key: value` pairs to annotate requests with custom metadata. - Maximum character length for individual `keys` is 40. - Maximum character length for individual `values` is 500. (For example, `order_number: 25`, `item_type: produce`, `department: sales`)
    - `entry_mode` 'UNKNOWN' | 'SWIPED' | 'CONTACTLESS' | 'CHIP_ENTRY', nullable — Details of the card payment method used to process the transaction. The possible enums are: - UNKNOWN - The method by which the payment card was used is unknown. - SWIPED - The card was swiped through a POS terminal. - CONTACTLESS - The payment was made by tapping a card on a POS terminal. - CHIP_ENTRY - The payment card was inserted into a card reader.
    - `masked_account_number` string, nullable — Last four digits of the bank account number.
    - `name` string, nullable — The name of the card owner.
    - `payment_type` string — The type of `Payment Instrument` used in the transaction (or the original payment).
  - `currency` 'CAD' | 'USD' — ISO 4217 3-letter currency code.
  - `created_via` 'CARD_PRESENT_SEMI_INTEGRATED_API' | 'CARD_PRESENT_STANDALONE' | 'CARD_PRESENT_STANDALONE_MANUAL_ENTRY' | 'CARD_PRESENT_IOS_APP' | 'CARD_PRESENT_IOS_APP_MANUAL_ENTRY' | 'CARD_PRESENT_IOS_D135_SDK' | 'CARD_PRESENT_ANDROID_APP' | 'CARD_PRESENT_ANDROID_APP_MANUAL_ENTRY' | 'CARD_PRESENT_ANDROID_D135_SDK' | 'CHECKOUT_FORM' | 'CYBERSOURCE' | 'PAYMENT_LINK' | 'PAYOUT_LINK' | 'PLUGIN_CHECKOUT_CHAMP' | 'PLUGIN_FYNTEK' | 'PLUGIN_GAMBLE_ID' | 'PLUGIN_GAMMA_SWEEP' | 'PLUGIN_HYPERSWITCH' | 'PLUGIN_PAYSIGHT' | 'PLUGIN_STICKYIO' | 'PLUGIN_TAGADA' | 'PLUGIN_WOO_COMMERCE' | 'SUBSCRIPTION' | 'UNKNOWN' | 'VIRTUAL_TERMINAL' — Gives more information about the product flow that was used to create the resource. Finix retains the right to add additional enums for this field without it being a breaking change.
  - `device` string, nullable — The ID of the activated device.
  - `expires_at` string, date-time — `Authorization` expiration time.
  - `failure_code` string, nullable — The code of the failure so the decline can be handled programmatically. For more info on how to handle the failure, see [Failure Codes](/additional-resources/developers/implementation-and-testing/failure-codes).
  - `failure_message` string, nullable — A human-readable description of why the transaction was declined. This will also include a suggestion on how to complete the payment.
  - `identity` string — ID of the buyer 'Identity' to run the card present authorization. Finix tokenizes the card associated with the provided 'Identity' and processes the authorization, removing the need to create a blank buyer `Identity`.
  - `idempotency_id` string, nullable — Pass any randomly generated or internal ID to [idempotently](/api/section/idempotent-requests) identify `Transfers`, `Authorizations`, or refund requests.
  - `ip_address_details` IpAddressDetails — This field returns `null` for all users except `ROLE_PLATFORM` users.
    - `ipv4` object
      - `estimated_location` Address
        - `line1` string, nullable, required — First line of the address (max 35 characters).
        - `line2` string, nullable — Second line of the address (max 35 characters).
        - `city` string, nullable, required — City (max 20 characters).
        - `region` string, nullable, required — 2-letter State code.
        - `postal_code` string, nullable, required — Zip or Postal code (max 7 characters).
        - `country` 'ABW' | 'AFG' | 'AGO' | 'AIA' | 'ALA' | 'ALB' | 'AND' | 'ARE' | 'ARG' | 'ARM' | 'ASM' | 'ATA' | 'ATF' | 'ATG' | 'AUS' | 'AUT' | 'AZE' | 'BDI' | 'BEL' | 'BEN' | 'BES' | 'BFA' | 'BGD' | 'BGR' | 'BHR' | 'BHS' | 'BIH' | 'BLM' | 'BLR' | 'BLZ' | 'BMU' | 'BOL' | 'BRA' | 'BRB' | 'BRN' | 'BTN' | 'BVT' | 'BWA' | 'CAF' | 'CAN' | 'CCK' | 'CHE' | 'CHL' | 'CHN' | 'CIV' | 'CMR' | 'COD' | 'COG' | 'COK' | 'COL' | 'COM' | 'CPV' | 'CRI' | 'CUB' | 'CUW' | 'CXR' | 'CYM' | 'CYP' | 'CZE' | 'DEU' | 'DJI' | 'DMA' | 'DNK' | 'DOM' | 'DZA' | 'ECU' | 'EGY' | 'ERI' | 'ESH' | 'ESP' | 'EST' | 'ETH' | 'FIN' | 'FJI' | 'FLK' | 'FRA' | 'FRO' | 'FSM' | 'GAB' | 'GBR' | 'GEO' | 'GGY' | 'GHA' | 'GIB' | 'GIN' | 'GLP' | 'GMB' | 'GNB' | 'GNQ' | 'GRC' | 'GRD' | 'GRL' | 'GTM' | 'GUF' | 'GUM' | 'GUY' | 'HKG' | 'HMD' | 'HND' | 'HRV' | 'HTI' | 'HUN' | 'IDN' | 'IMN' | 'IND' | 'IOT' | 'IRL' | 'IRN' | 'IRQ' | 'ISL' | 'ISR' | 'ITA' | 'JAM' | 'JEY' | 'JOR' | 'JPN' | 'KAZ' | 'KEN' | 'KGZ' | 'KHM' | 'KIR' | 'KNA' | 'KOR' | 'KWT' | 'LAO' | 'LBN' | 'LBR' | 'LBY' | 'LCA' | 'LIE' | 'LKA' | 'LSO' | 'LTU' | 'LUX' | 'LVA' | 'MAC' | 'MAF' | 'MAR' | 'MCO' | 'MDA' | 'MDG' | 'MDV' | 'MEX' | 'MHL' | 'MKD' | 'MLI' | 'MLT' | 'MMR' | 'MNE' | 'MNG' | 'MNP' | 'MRT' | 'MSR' | 'MTQ' | 'MUS' | 'MWI' | 'MYS' | 'MYT' | 'NAM' | 'NCL' | 'NER' | 'NFK' | 'NGA' | 'NIC' | 'NIU' | 'NLD' | 'NOR' | 'NPL' | 'NRU' | 'NZL' | 'OMN' | 'PAK' | 'PAN' | 'PCN' | 'PER' | 'PHL' | 'PLW' | 'PNG' | 'POL' | 'PRI' | 'PRK' | 'PRT' | 'PRY' | 'PSE' | 'PYF' | 'QAT' | 'REU' | 'ROU' | 'RUS' | 'RWA' | 'SAU' | 'SDN' | 'SEN' | 'SGP' | 'SGS' | 'SHN' | 'SJM' | 'SLB' | 'SLE' | 'SLV' | 'SMR' | 'SOM' | 'SPM' | 'SRB' | 'SSD' | 'STP' | 'SUR' | 'SVK' | 'SVN' | 'SWE' | 'SWZ' | 'SXM' | 'SYC' | 'SYR' | 'TCA' | 'TCD' | 'TGO' | 'THA' | 'TJK' | 'TKL' | 'TKM' | 'TLS' | 'TON' | 'TTO' | 'TUN' | 'TUR' | 'TUV' | 'TWN' | 'TZA' | 'UGA' | 'UKR' | 'UMI' | 'URY' | 'USA' | 'UZB' | 'VAT' | 'VCT' | 'VEN' | 'VGB' | 'VIR' | 'VNM' | 'VUT' | 'WLF' | 'WSM' | 'XKX' | 'YEM' | 'ZAF' | 'ZMB' | 'ZWE', nullable, required
      - `ip` string, nullable — The card brands require the customer's IP address for online gaming clients. Only supports Internet Protocol version 4 (IPv4).
      - `latitude` number — Geo-location based on the IP address.
      - `longitude` number — Geo-location based on the IP address.
  - `is_void` boolean — Whether the `Authorization` has been voided.
  - `merchant` string — The ID of the `Merchant` resource the `Authorization` was created under.
  - `merchant_identity` string — The ID of the `Identity` resource used by the `Merchant` the `Authorization` was processed under.
  - `messages` string[], nullable — Message field that provides additional details. This field is typically **null**.
  - `network_details` object, nullable — Contains network-specific fields used by issuers to identify transactions.
    - `brand` string — Card brand associated with the saved payment instrument.
    - `authorization_code` string — Code returned by the issuing bank when a transaction is authorized.
  - `raw` union — Raw response from the processor.
    - object, nullable
    - string, nullable
  - `receipt_last_printed_at` string, date-time, nullable — Timestamp when the receipt was last printed.
  - `security_code_verification` string, nullable — Details the results of the Security Code Verification che
  - `source` string — ID of the `Payment Instrument` where funds get debited.
  - `state` 'CANCELED' | 'PENDING' | 'FAILED' | 'SUCCEEDED' | 'UNKNOWN' — The state of the `Authorization`.
  - `supplemental_fee` integer, nullable — Amount in cents for which an additional fee will be created in addition to any fees created from the assigned fee profile.
  - `tags` Tags, nullable — Include up to 50 `key: value` pairs to annotate requests with custom metadata. - Maximum character length for individual `keys` is 40. - Maximum character length for individual `values` is 500. (For example, `order_number: 25`, `item_type: produce`, `department: sales`)
  - `trace_id` string — Trace ID of the `Authorization`. The processor sends back the `trace_id` so you can track the authorization end-to-end.
  - `transfer` string, nullable — The ID of the `transfer` resource that gets created when the `Authorization` moves to **SUCCEEDED**.
  - `void_state` 'UNATTEMPTED' | 'PENDING' | 'SUCCEEDED' — The state of the void attempt for the `Authorization`.
  - `_links` object
    - `self` Self — Link to the resource that was used in the request.
      - `href` string
    - `application` ApplicationLink — Link to the `Application` the request was made under.
      - `href` string
    - `device` object — Link to the `Device` the request was made under.
      - `href` string
    - `merchant_identity` MerchantIdentity — Link to the `Identity` the `Merchant` was created under and the `Transfer` was submitted with.
      - `href` string
    - `transfers` Transfers — Link to the `Transfer` the request was made under.
      - `href` string

## Other responses

- `400` — Bad Request. The server cannot process the request due to malformed syntax or invalid data.
- `401` — Unauthorized. Authentication is required and has failed or has not been provided.
- `402` — Payment Required.
- `403` — Forbidden. The client is authenticated but does not have permission to access the resource.
- `404` — Not Found. The requested resource could not be found on the server.
- `406` — Not Acceptable. The server could not accept the submitted request. Confirm how the request was formatted and submitted.
- `422` — Unprocessable Entity. The syntax of the request content was correct, but the server was unable to process the contained instructions.

---

[API](https://skmtc.net/finix/apis/finix-api-reference.md) · [All operations](https://skmtc.net/finix/apis/finix-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/finix/finix-api-reference/versions/5426f6f99c52/schema)
