Finix Transfers API

{'$ref': 'api-descriptions/tags/transfers.md'}

Operations 6

POST /transfers Create a Transfer #
GET /transfers List Transfers #
GET /transfers/{transfer_id} Fetch a Transfer #
PUT /transfers/{transfer_id} Update a Transfer #
POST /transfers/{transfer_id}/reversals Refund or Reverse a Transfer #
GET /transfers/{transfer_id}/reversals List Reversals on a Transfer #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/finix-transfers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

finix-transfers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Finix Authorizations Transfers API
  description:
    $ref: api-descriptions/main.md
  contact:
    name: Finix
    url: https://finix.com
    email: support@finixpayments.com
  version: '2022-02-01'
servers:
- description: Sandbox server to be used for testing and development
  url: https://finix.sandbox-payments-api.com
security:
- BasicAuth: []
tags:
- name: Transfers
  description:
    $ref: api-descriptions/tags/transfers.md
paths:
  /transfers:
    post:
      tags:
      - Transfers
      description: Create a `Transfer`.
      summary: Create a Transfer
      operationId: createTransfer
      requestBody:
        $ref: '#/components/requestBodies/CreateTransferRequest'
      responses:
        '201':
          $ref: '#/components/responses/Transfer'
        '400':
          $ref: '#/components/responses/ErrorUnprocessableEntity'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '402':
          $ref: '#/components/responses/ErrorTransfers402'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
        '422':
          $ref: '#/components/responses/Error422InvalidField'
      x-java-method-name: create
      parameters:
      - schema:
          type: string
          default: '2018-01-01'
          example: '2022-02-01'
        in: header
        name: Finix-Version
        description: Specify the API version of your request. For more details, see [Versioning.](/guides/developers/versioning/)
      x-python-method-name: create
    get:
      tags:
      - Transfers
      description: Retrieve a list of `Transfers`.
      summary: List Transfers
      operationId: listTransfers
      parameters:
      - $ref: '#/components/parameters/QueryAfterCursor'
      - $ref: '#/components/parameters/QueryLimit'
      - $ref: '#/components/parameters/QueryAmountFilter'
      - $ref: '#/components/parameters/QueryAmountGteFilter'
      - $ref: '#/components/parameters/QueryAmountGtFilter'
      - $ref: '#/components/parameters/QueryAmountLteFilter'
      - $ref: '#/components/parameters/QueryAmountLtFilter'
      - $ref: '#/components/parameters/QueryCreatedAtGteFilter'
      - $ref: '#/components/parameters/QueryCreatedAtLteFilter'
      - $ref: '#/components/parameters/QueryIdempotencyIdFilter'
      - $ref: '#/components/parameters/QueryIdFilter'
      - $ref: '#/components/parameters/QuerySettlementReadyToSettleAtGteFilter'
      - $ref: '#/components/parameters/QuerySettlementReadyToSettleAtLteFilter'
      - in: query
        name: state
        description: Filter by Transaction state.
        schema:
          enum:
          - ALL
          - SUCCEEDED
          - FAILED
          - PENDING
          - CANCELED
      - $ref: '#/components/parameters/QueryStatementDescriptorFilter'
      - $ref: '#/components/parameters/QueryTraceIdFilter'
      - $ref: '#/components/parameters/QueryUpdatedAtGteFilter'
      - $ref: '#/components/parameters/QueryUpdatedAtLteFilter'
      - in: query
        name: instrument_bin
        description: Filter by Bank Identification Number (BIN). The BIN is the first 6 digits of the masked number.
        schema:
          type: string
      - schema:
          type: string
        in: query
        name: instrument_account_last4
        description: "Filter Transactions by the last 4 digits of the bank account. The bank account last 4 are the last 4 digits of the masked number\tinstrument_account_last4=9444 BIN."
      - schema:
          type: string
        in: query
        name: instrument_brand_type
        description: Filter by card brand. Available card brand types can be found in the drop-down.
      - schema:
          type: string
        in: query
        name: merchant_identity_id
        description: Filter by `Identity` ID.
      - schema:
          type: string
        in: query
        name: merchant_identity_name
        description: Filter Transactions by `Identity` name. The name is not case-sensitive.
      - schema:
          type: string
        in: query
        name: instrument_name
        description: Filter Transactions by `Payment Instrument` name.
      - schema:
          type: string
        in: query
        name: instrument_type
        description: 'Filter Transactions by `Payment Instrument` type. Available instrument types include: Bank Account or Payment Card'
      - schema:
          type: string
        in: query
        name: merchant_id
        description: Filter by `Merchant` ID.
      - schema:
          type: string
        in: query
        name: merchant_mid
        description: Filter by Merchant Identification Number (MID).
      - schema:
          type: string
        in: query
        name: instrument_card_last4
        description: Filter by the payment card last 4 digits.
      - schema:
          type: string
        in: query
        name: merchant_processor_id
        description: Filter by `Processor` ID.
      - schema:
          type: string
          enum:
          - ALL
          - DEBITS
          - CREDITS
          - REVERSAL
          - SETTLEMENT
          example: REVERSAL
        in: query
        name: type
        description: 'Filter by `Transfer` type. Available type filters include: All, Debits, Refunds, or Credits.'
      - $ref: '#/components/parameters/QueryBeforeCursor'
      - $ref: '#/components/parameters/TagsKey'
      - $ref: '#/components/parameters/TagsValue'
      responses:
        '200':
          $ref: '#/components/responses/TransfersList'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      x-java-method-name: list
      x-group-parameters: true
      x-codeSamples:
      - lang: cURL
        label: curl
        source: "curl \"https://finix.sandbox-payments-api.com/transfers\" \\\n  -H \"Finix-Version: 2022-02-01\" \\\n  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
      x-python-method-name: list
      x-returns-list: true
  /transfers/{transfer_id}:
    parameters:
    - description: ID of `Transfer` resource.
      required: true
      in: path
      name: transfer_id
      schema:
        type: string
    get:
      tags:
      - Transfers
      description: Retrieve a `Transfer`.
      summary: Fetch a Transfer
      operationId: getTransfer
      responses:
        '200':
          $ref: '#/components/responses/Transfer'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      x-java-method-name: get
      x-codeSamples:
      - lang: cURL
        label: curl
        source: "curl \"https://finix.sandbox-payments-api.com/transfers/TRvypRNBeqM597Zi4DcqJ2Vh\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Finix-Version: 2022-02-01\" \\\n  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
      x-python-method-name: get
    put:
      tags:
      - Transfers
      description: Update a `Transfer`.
      summary: Update a Transfer
      operationId: updateTransfer
      responses:
        '200':
          $ref: '#/components/responses/Transfer'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      requestBody:
        $ref: '#/components/requestBodies/UpdateTransferRequest'
      x-java-method-name: update
      x-codeSamples:
      - lang: cURL
        label: curl
        source:
          $ref: xcode/curl/transfers/updatetransfer.md
      x-python-method-name: update
  /transfers/{transfer_id}/reversals:
    parameters:
    - description: ID of `Transfer` object.
      required: true
      in: path
      name: transfer_id
      schema:
        type: string
    post:
      tags:
      - Transfers
      description: "Reverse a transfer with a `type` of **DEBIT**. This reversal creates a new `Transfer` resource with a `type` of **REVERSAL**. \n\nRelated Guides: [Refunding Payments](/guides/after-the-payment/refunding-and-cancelling-payments/)"
      summary: Refund or Reverse a Transfer
      operationId: createTransferReversal
      requestBody:
        $ref: '#/components/requestBodies/CreateReversalRequest'
      responses:
        '201':
          $ref: '#/components/responses/Transfer'
        '400':
          $ref: '#/components/responses/ErrorUnprocessableEntity'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
        '422':
          $ref: '#/components/responses/ErrorUnprocessableEntity'
      parameters:
      - schema:
          type: string
          default: '2018-01-01'
          example: '2022-02-01'
        in: header
        name: Finix-Version
        description: Specify the API version of your request. For more details, see [Versioning.](/guides/developers/versioning/)
      x-java-method-name: create_transfer_reversal
      x-python-method-name: create_transfer_reversal
    get:
      tags:
      - Transfers
      description: Retrieve a list of reversals for a `Transfer`.
      summary: List Reversals on a Transfer
      operationId: listTransferReversals
      parameters:
      - required: false
        in: query
        name: limit
        schema:
          type: integer
          format: int64
        description: The number of entries to return.
      - $ref: '#/components/parameters/QueryAfterCursor'
      - $ref: '#/components/parameters/QueryBeforeCursor'
      responses:
        '200':
          $ref: '#/components/responses/ReversalsList'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      x-java-method-name: listTransfersReversals
      x-group-parameters: true
      x-codeSamples:
      - lang: cURL
        label: curl
        source: "curl \"https://finix.sandbox-payments-api.com/transfers/TRacB6Q6GcW6yvFUKawSnMEP/reversals\" \\\n  -H \"Finix-Version: 2022-02-01\" \\\n  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
      x-python-method-name: list_transfers_reversals
      x-returns-list: true
components:
  parameters:
    QueryAmountGtFilter:
      description: Filter by an amount greater than.
      in: query
      name: amount.gt
      schema:
        type: integer
      style: form
    QueryAmountGteFilter:
      description: Filter by an amount greater than or equal.
      in: query
      name: amount.gte
      schema:
        type: integer
      style: form
    QuerySettlementReadyToSettleAtGteFilter:
      description: 'Filter where `ready_to_settle_at` is after the given date. Only available on `Finix-Version: 2022-02-01`. For more details, see [Versioning](/guides/developers/versioning/).'
      in: query
      name: ready_to_settle_at.gte
      schema:
        type: string
        example: ?ready_to_settle_at.gte=2023-06-28T00:00:00
      style: form
    TagsKey:
      name: tags.key
      in: query
      required: false
      schema:
        type: string
      description: Filter by the [`key` of a `Tag`](/api/overview/#section/Tags).
    QueryCreatedAtLteFilter:
      description: Filter where `created_at` is before the given date.
      in: query
      name: created_at.lte
      schema:
        type: string
        example: '2022-09-27T11:21:23'
      style: form
    QueryUpdatedAtGteFilter:
      description: Filter where `updated_at` is after the given date.
      in: query
      name: updated_at.gte
      schema:
        type: string
      style: form
    TagsValue:
      name: tags.value
      in: query
      required: false
      schema:
        type: string
      description: Filter by the [value of a `Tag`](https://finix.com/docs/api/overview/#section/Tags).
    QueryBeforeCursor:
      name: before_cursor
      in: query
      required: false
      schema:
        type: string
      description: Return every resource created before the cursor value.
    QueryAmountFilter:
      description: Filter by an amount equal to the given value.
      in: query
      name: amount
      schema:
        type: integer
      style: form
    QuerySettlementReadyToSettleAtLteFilter:
      description: 'Filter where `ready_to_settle_at` is before the given date. Only available on `Finix-Version: 2022-02-01`. For more details, see [Versioning](/guides/developers/versioning/).'
      in: query
      name: ready_to_settle_at.lte
      schema:
        type: string
        example: ?ready_to_settle_at.lte=2023-06-28T00:00:00
      style: form
    QueryIdFilter:
      description: Filter by `id`.
      in: query
      name: id
      schema:
        type: string
      style: form
    QueryAmountLtFilter:
      description: Filter by an amount less than.
      in: query
      name: amount.lt
      schema:
        type: integer
      style: form
    QueryAmountLteFilter:
      description: Filter by an amount less than or equal.
      in: query
      name: amount.lte
      schema:
        type: integer
      style: form
    QueryLimit:
      description: The numbers of items to return.
      example: 10
      in: query
      name: limit
      schema:
        type: integer
      style: form
    QueryCreatedAtGteFilter:
      description: Filter where `created_at` is after the given date.
      in: query
      name: created_at.gte
      schema:
        type: string
        example: '2022-09-27T11:21:23'
      style: form
    QueryUpdatedAtLteFilter:
      description: Filter where `updated_at` is before the given date.
      in: query
      name: updated_at.lte
      schema:
        type: string
      style: form
    QueryIdempotencyIdFilter:
      description: Filter by `idempotency_id`.
      in: query
      name: idempotency_id
      schema:
        type: string
      style: form
    QueryAfterCursor:
      name: after_cursor
      in: query
      required: false
      schema:
        type: string
      description: Return every resource created after the cursor value.
    QueryStatementDescriptorFilter:
      description: Filter by `statement_descriptor`.
      in: query
      name: statement_descriptor
      schema:
        type: integer
      style: form
    QueryTraceIdFilter:
      description: Filter by `trace_id`.
      in: query
      name: trace_id
      schema:
        type: string
      style: form
  schemas:
    PageCursor:
      title: PageCursor
      x-stoplight:
        id: 8v9on8n2939z2
      type: object
      properties:
        limit:
          type: integer
          description: The number of entries to return.
        next_cursor:
          type:
          - string
          - 'null'
          description: The cursor to use for the next page of results.
      description: Details the page that's returned.
    Error401Unauthorized:
      type: object
      properties:
        total:
          type: integer
        _embedded:
          type: object
          properties:
            errors:
              type: array
              items:
                type: object
                additionalProperties: true
                properties:
                  code:
                    type: string
                    enum:
                    - UNKNOWN
                  logref:
                    $ref: '#/components/schemas/LogRef'
                  message:
                    type: string
                  _links:
                    type: object
                    additionalProperties: true
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                      source:
                        type: object
                        properties:
                          href:
                            type: string
    AdditionalBuyerCharges:
      title: AdditionalBuyerCharges
      x-stoplight:
        id: 8t8auxc19wmuw
      type:
      - object
      - 'null'
      description: Object detailing any [Buyer Charges](/guides/payments/making-a-payment/buyer-charges/) that got included in the `Authorization`.
      properties:
        convenience_amount:
          type:
          - number
          - 'null'
          description: Include the convenience fee the merchant is charging the buyer for the transaction when creating a `Transfer` or an `Authorization`.
        rent_surcharge_amount:
          type:
          - number
          - 'null'
          description: Include the rent surcharge the merchant is charging the buyer for the transaction when creating a `Transfer` or an `Authorization`.
    ListLinks:
      title: ListLinks
      additionalProperties: true
      type: object
      description: For your convenience, every response includes several URLs which link to resources relevant to the request. You can use these `_links` to make your follow-up requests and quickly access relevant IDs.
      properties:
        next:
          type: object
          description: Link to the next page of entries.
          properties:
            href:
              type: string
        self:
          type: object
          description: Link to the resource that was used in the request.
          properties:
            href:
              type: string
    IdempotencyId:
      title: IdempotencyId
      type:
      - string
      - 'null'
      description: Pass any randomly generated or internal ID to [idempotently](/api/overview/#section/Idempotency-Requests) identify `Transfers`, `Authorizations`, and refund requests.
    Raw:
      title: Raw
      description: Raw response from the processor.
      x-examples: {}
      type:
      - object
      - 'null'
    CreateTransferRequest:
      type: object
      properties:
        additional_buyer_charges:
          $ref: '#/components/schemas/AdditionalBuyerCharges'
        additional_purchase_data:
          $ref: '#/components/schemas/AdditionalPurchaseData'
        adjustment_request:
          type:
          - boolean
          - 'null'
          description: Details if the `transfer` was created to adjust funds.
        amount:
          type: integer
          format: int64
          description: The total amount that will be debited from the buyer in cents (e.g. 100 cents to debit $1.00).
        currency:
          $ref: '#/components/schemas/Currency'
        destination:
          type:
          - string
          - 'null'
          description: ID of the `Payment Instrument` where funds will be sent.
        device:
          type:
          - string
          - 'null'
          description: The ID of the activated device.
        fee:
          type: integer
          format: int64
          description: "The minimum amount of the `Transfer` you'd like to collect as your fee in cents. Defaults to zero (must be less than or equal to the `amount`).\n- If the fees applied by the 'Fee Profile' are ***higher*** than the value passed in 'fee', 'fee' will not be applied and have no effect.\n- If the fees applied by the 'Fee Profile' are ***lower*** than the value passed in 'fee', an additional fee is be applied, in addition to the fees generated by the `Fee Profile`.\n    - The additional fee is equal to the difference between the value passed in 'fee' and the fees generated by the `Fee Profile`."
        fraud_session_id:
          $ref: '#/components/schemas/FraudSessionID'
        hsa_fsa_payment:
          $ref: '#/components/schemas/HSAFSAPayment'
        idempotency_id:
          type:
          - string
          - 'null'
          description: A randomly generated value that gets tied with the request.
        merchant:
          type:
          - string
          - 'null'
          description: "- ID of the primary `Merchant` that's processing the `Transfer` for the buyer. \n- In Split Transactions, the `Merchant` specified in the `Transfer` request is the primary `Merchant`."
        operation_key:
          type:
          - string
          - 'null'
          enum:
          - CARD_PRESENT_DEBIT
          - CARD_PRESENT_UNREFERENCED_REFUND
          - MERCHANT_CREDIT_ADJUSTMENT
          - MERCHANT_DEBIT_ADJUSTMENT
          - PULL_FROM_CARD
          - PUSH_TO_CARD
          - SALE
          - UNREFERENCED_REFUND
          description: Details the operation that's be performed in the transaction.
        processor:
          type: string
          description: Name of the transaction processor.
        source:
          type: string
          description: ID of the `Payment Instrument` where funds get debited.
        security_code:
          type:
          - string
          - 'null'
          description: 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/payments/making-a-payment/card-verification-checks/) with the created `Transfer`.
        statement_descriptor:
          type:
          - string
          - 'null'
          description: <li>The description of the transaction that appears on the buyer's bank or card statement.</li><li><kbd>statement_descriptors</kbd> for `Transfers` in <strong>live</strong> enviroments will have a <kbd>FI *</kbd> prefix.
          maxLength: 20
        tags:
          $ref: '#/components/schemas/Tags'
        3d_secure_authentication:
          type:
          - object
          - 'null'
          description: The 3D secure information required to create a 3D secure `Transfer.`
          properties:
            cardholder_authentication:
              type: string
              description: Provides evidence that the cardholder authentication occurred or that the merchant attempted authentication. This is unique for each authentication transaction.
            cardholder_ip_address:
              type: string
              description: Only required for **American Express** cards.
              example: 189.1.126.240
            electronic_commerce_indicator:
              type: string
              description: '- **AUTHENTICATED**: Approved by 3D Secure Vendor.

                - **ATTEMPTED**: Issuer or cardholder does not support 3D Secure.'
            transaction_id:
              type: string
              description: Only required for **Visa** cards.
          required:
          - cardholder_authentication
          - electronic_commerce_indicator
        'additional_purchase_data ':
          $ref: '#/components/schemas/L3AdditionalPurchaseData'
        device_configuration:
          $ref: '#/components/schemas/ConfigurationDetails'
        split_transfers:
          type: object
          description: '- An array used to detail how funds from the `Transfer` will split and the amount `Merchants` receive.

            - The combined `amounts` under `split_transfers` must be equal to the `amount` submitted in the parent `Transfer.`

            - For more information, see [Split Transactions](/docs/guides/payments/modify/split-transactions/).'
          properties:
            amount:
              type: integer
              format: int64
              description: '- The amount of funds that get split and paid out to the specified `Merchant`.

                - Must be less than or equal to the `amount` of the `Transfer.`'
            merchant:
              type: string
              description: '- The ID of the `Merchant` that will receive the specified `amount` under the `split_transfers` object.

                - In Split Transactions, the `Merchants` specified in the `split_transfers` object are the ancillary `Merchants.`'
            tags:
              $ref: '#/components/schemas/Tags'
    Currency:
      type: string
      description: ISO 4217 3 letter currency code.
      enum:
      - AED
      - AFN
      - ALL
      - AMD
      - ANG
      - AOA
      - ARS
      - AUD
      - AWG
      - AZN
      - BAM
      - BBD
      - BDT
      - BGN
      - BHD
      - BIF
      - BMD
      - BND
      - BOB
      - BOV
      - BRL
      - BSD
      - BTN
      - BWP
      - BYR
      - BZD
      - CAD
      - CDF
      - CHE
      - CHF
      - CHW
      - CLF
      - CLP
      - CNY
      - COP
      - COU
      - CRC
      - CUC
      - CUP
      - CVE
      - CZK
      - DJF
      - DKK
      - DOP
      - DZD
      - EGP
      - ERN
      - ETB
      - EUR
      - FJD
      - FKP
      - GBP
      - GEL
      - GHS
      - GIP
      - GMD
      - GNF
      - GTQ
      - GYD
      - HKD
      - HNL
      - HRK
      - HTG
      - HUF
      - IDR
      - ILS
      - INR
      - IQD
      - IRR
      - ISK
      - JMD
      - JOD
      - JPY
      - KES
      - KGS
      - KHR
      - KMF
      - KPW
      - KRW
      - KWD
      - KYD
      - KZT
      - LAK
      - LBP
      - LKR
      - LRD
      - LSL
      - LTL
      - LYD
      - MAD
      - MDL
      - MGA
      - MKD
      - MMK
      - MNT
      - MOP
      - MRO
      - MUR
      - MVR
      - MWK
      - MXN
      - MXV
      - MYR
      - MZN
      - NAD
      - NGN
      - NIO
      - NOK
      - NPR
      - NZD
      - OMR
      - PAB
      - PEN
      - PGK
      - PHP
      - PKR
      - PLN
      - PYG
      - QAR
      - RON
      - RSD
      - RUB
      - RWF
      - SAR
      - SBD
      - SCR
      - SDG
      - SEK
      - SGD
      - SHP
      - SLL
      - SOS
      - SRD
      - SSP
      - STD
      - SVC
      - SYP
      - SZL
      - THB
      - TJS
      - TMT
      - TND
      - TOP
      - TRY
      - TTD
      - TWD
      - TZS
      - UAH
      - UGX
      - USD
      - USN
      - UYI
      - UYU
      - UZS
      - VEF
      - VND
      - VUV
      - WST
      - XAF
      - XAG
      - XAU
      - XBA
      - XBB
      - XBC
      - XBD
      - XCD
      - XDR
      - XOF
      - XPD
      - XPF
      - XPT
      - XSU
      - XTS
      - XUA
      - XXX
      - YER
      - ZAR
      - ZMW
      - ZWL
    FraudSessionID:
      title: FraudSessionID
      x-stoplight:
        id: x00www7a3mlv6
      type: string
      description: The `fraud_session_session` ID you want to review for fraud. For more info, see [Fraud Detection](/guides/payments/fraud-detection/).
    AdditionalHealthcareData:
      title: AdditionalHealthcareData
      x-stoplight:
        id: ibznc087ymmit
      type:
      - object
      - 'null'
      description: Optional object detailing [specific healthcare amounts](/guides/making-a-payment/hsa-fsa/).
      properties:
        clinic_amount:
          type:
          - integer
          - 'null'
          description: The amount used for clinic and office visits such as a copay amount.
        dental_amount:
          type:
          - integer
          - 'null'
          description: The amount used for dental related expenses.
        prescription_amount:
          type:
          - integer
          - 'null'
          description: The amount used to purchase perscriptions and medications.
        vision_amount:
          type:
          - integer
          - 'null'
          description: The amount used for vision related expenses.
    L3AdditionalPurchaseData:
      title: L3AdditionalPurchaseData
      x-stoplight:
        id: 7xbmc1d9p49or
      type: object
      description: Additional information about the purchase. Used for [Level 2 and Level 3 Processing](/guides/payments/modify/level-2-and-level-3-processing/).
      properties:
        customer_reference_number:
          type: string
          description: The customer reference for the purchase (max 17 characters).
          maxLength: 17
        customs_duty_amount:
          type: integer
          description: The duty in cents on the total purchase amount for the order
        destination_country_code:
          type: string
          description: The ISO country code of the order destination.
        destination_postal_code:
          type: string
          description: The postal code of the order destination (10 characters)
          maxLength: 10
        discount_amount:
          type: integer
          description: The amount in cents of the discount for the order.
        invoice_reference_number:
          type: string
          description: The order's invoice number (max 15 characters)
          maxLength: 15
        item_data:
          type: array
          description: Additional information about the transaction. Used for Level 2 and Level 3 Processing.
          items:
            type: object
            properties:
              amount_excluding_sales_tax:
                type: integer
                description: '- 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:
                type: integer
                description: '- 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:
                type: string
                description: 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).
                maxLength: 12
              cost_per_unit:
                type: integer
                description: The price in cents of one unit of the item purchased
              item_description:
                type: string
                description: Required when `item_data` is supplied (max 25 characters)
                maxLength: 25
              item_discount_amount:
                type: integer
                description: 'Item discount amount in cents

                  '
              merchant_product_code:
                type: string
                description: Merchant defined product code (max 12 characters).
                maxLength: 12
              quantity:
                type: integer
                description: The number of items purchased. Must be greater than 0.
                minimum: 1
                maximum: 99
              unit_of_measure:
                type: string
                description: The unit of measure of the purchased item (max 3 characters).
                maxLength: 3
            required:
            - amount_excluding_sales_tax
            - amount_including_sales_tax
            - commodity_code
            - cost_per_unit
            - item_description
            - item_discount_amount
            - merchant_product_code
            - quantity
            - unit_of_measure
        order_date:
          type: object
          properties:
            day:
              type: integer
              description: Day of purchase (between 1 and 31)
            month:
              type: integer
              description: Month of purchase (between 1 and 12)
            year:
              type: integer
              description: Year of purchase (4-digit)
              minimum: 1990
        sales_tax:
          type: integer
          description: "- Total aggregate tax amount in cents for the entire purchase. Field is automatically calculated if you pass in the itemized tax amounts. \n- For non-taxable transactions either set `sales_tax` to 0 or omit from payload and also set `tax_exempt` to **True**.\n- Request must align so `amount_excluding_sales_tax` + `sales_tax` = `amount_including_sales_tax`.e**."
        ship_from_postal_code:
          type: string
          description: The postal

# --- truncated at 32 KB (141 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/finix/refs/heads/main/openapi/finix-transfers-api-openapi.yml