> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fintoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List payment intents

> Returns the payment intents of your organization, in the `live` or `test` mode of the API key used, sorted by creation date with the most recent first. Unlike `GET /v1/payment_intents`, which uses page-based pagination (`page` and `per_page`) and supports `since`, `until`, and `status` filters, this endpoint uses cursor-based pagination. Use `limit` to set the page size and the `starting_after` or `ending_before` cursors to move between pages. The `Link` response header contains the URL of the next page. Available for organizations on API version `2026-02-01` or later.

**`v2`** · Base URL `https://api.fintoc.com/v2`


## OpenAPI

````yaml reference/fintoc-api-v2.json GET /payment_intents
openapi: 3.1.0
info:
  title: fintoc-api-v2
  version: v2026-02-01
servers:
  - url: https://api.fintoc.com/v2
security: []
paths:
  /payment_intents:
    get:
      tags:
        - Payment intents
      summary: List payment intents
      description: >-
        Returns the payment intents of your organization, in the `live` or
        `test` mode of the API key used, sorted by creation date with the most
        recent first. Unlike `GET /v1/payment_intents`, which uses page-based
        pagination (`page` and `per_page`) and supports `since`, `until`, and
        `status` filters, this endpoint uses cursor-based pagination. Use
        `limit` to set the page size and the `starting_after` or `ending_before`
        cursors to move between pages. The `Link` response header contains the
        URL of the next page. Available for organizations on API version
        `2026-02-01` or later.
      operationId: payment-intents-list
      parameters:
        - name: ending_before
          in: query
          required: false
          schema:
            type: string
          description: >-
            Cursor for pagination. The `id` of a payment intent; the response
            only includes payment intents created after that payment intent.
            Cannot be used together with `starting_after`.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
          description: >-
            Number of payment intents to return per page. Defaults to 30, with a
            maximum of 300.
        - name: starting_after
          in: query
          required: false
          schema:
            type: string
          description: >-
            Cursor for pagination. The `id` of a payment intent; the response
            only includes payment intents created before that payment intent.
            Cannot be used together with `ending_before`.
      responses:
        '200':
          description: >-
            A list of your payment intents for the current mode. The `Link`
            response header contains the URL of the next page, if any.
          headers:
            Link:
              schema:
                type: string
              description: >-
                URL of the next page of results, with `rel="next"`. Empty when
                there are no more pages.
          content:
            application/json:
              examples:
                payment_intents_list:
                  value:
                    - id: pi_2cKoy3PEXAuvkr4ofXC1KdMvCgZ
                      object: payment_intent
                      amount: 5000
                      business_profile: null
                      created_at: '2026-02-10T15:23:11Z'
                      currency: CLP
                      customer: null
                      customer_email: customer@example.com
                      error_reason: null
                      expires_at: null
                      metadata: {}
                      mode: live
                      next_action: null
                      payment_method: null
                      payment_type: bank_transfer
                      payment_type_options: {}
                      recipient_account:
                        holder_id: '111111111'
                        institution_id: cl_banco_de_chile
                        number: '123456'
                        type: checking_account
                      reference_id: '90123712'
                      sender_account:
                        holder_id: '222222222'
                        institution_id: cl_banco_estado
                        number: '123456'
                        type: checking_account
                      status: succeeded
                      subscription: null
                      transaction_date: '2026-02-10T15:24:15Z'
                      widget_token: null
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/payment_intent'
        '400':
          description: >-
            Invalid pagination parameters: a cursor is empty, the `limit` is not
            an integer, or `starting_after` and `ending_before` are used at the
            same time. A cursor conflict returns the error `code` in `type` and
            omits `param` and `doc_url`. A parameter-validation error (such as
            an empty cursor) returns `type: invalid_request_error` with a
            populated `param` and `doc_url`.
          content:
            application/json:
              examples:
                conflicting_cursors:
                  value:
                    error:
                      type: invalid_params
                      code: invalid_params
                      message: >-
                        Cannot use starting_after and ending_before params at
                        the same time
              schema:
                $ref: '#/components/schemas/error_object'
        '401':
          description: Invalid or missing API key.
          content:
            application/json:
              examples:
                invalid_api_key:
                  value:
                    error:
                      type: authentication_error
                      code: invalid_api_key
                      message: 'Invalid API Key: invalid-*oken'
              schema:
                $ref: '#/components/schemas/error_object'
        '404':
          description: >-
            The cursor does not match any payment intent. The error `code` is
            carried in `type`, and `param` and `doc_url` are omitted.
          content:
            application/json:
              examples:
                missing_cursor:
                  value:
                    error:
                      type: missing_cursor
                      code: missing_cursor
                      message: Cursor pi_nonexistent not found
              schema:
                $ref: '#/components/schemas/error_object'
      security:
        - api_key: []
components:
  schemas:
    payment_intent:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the payment intent.
          example: pi_2cKoy3PEXAuvkr4ofXC1KdMvCgZ
        object:
          const: payment_intent
          description: Type of the object. Always `payment_intent`.
        amount:
          type: integer
          description: >-
            Amount of the payment intent, in the smallest unit of the currency.
            CLP has no decimals, so `5000` is $5000 CLP; MXN amounts are
            expressed in centavos, so `5000` is $50.00 MXN.
          example: 5000
        business_profile:
          type:
            - object
            - 'null'
          description: >-
            Business information of the entity that receives the payment, when
            it was collected on behalf of a business. `null` when no business
            information was provided.
          properties:
            category:
              type: string
              description: Category of the business. Omitted when not provided.
              example: retail
            name:
              type: string
              description: Name of the business. Omitted when not provided.
              example: Mi Comercio SpA
            tax_id:
              type: string
              description: >-
                Tax identifier of the business, as a string with no formatting
                characters. Omitted when not provided.
              example: '777777777'
        created_at:
          type: string
          format: date-time
          description: Time the payment intent was created, as an ISO 8601 datetime in UTC.
          example: '2026-02-10T15:23:11Z'
        currency:
          type: string
          enum:
            - CLP
            - MXN
          description: >-
            Three-letter ISO 4217 currency code, returned in uppercase (for
            example, `CLP` or `MXN`).
          example: CLP
        customer:
          type:
            - object
            - 'null'
          description: >-
            Customer associated with the payment intent. Present when the
            payment intent was created from a checkout session with an
            associated customer; `null` otherwise.
          properties:
            id:
              type: string
              description: Unique identifier of the customer.
              example: cus_2bArifJWQ6CiZSofWxBNL1Hri2u
            object:
              const: customer
              description: Type of the object. Always `customer`.
            address:
              type:
                - object
                - 'null'
              description: >-
                Address of the customer. `null` when no address was provided.
                Keys are omitted when not provided.
              properties:
                city:
                  type: string
                  description: City of the address.
                country:
                  type: string
                  description: Country of the address.
                line1:
                  type: string
                  description: First line of the address.
                line2:
                  type: string
                  description: Second line of the address.
                postal_code:
                  type: string
                  description: Postal code of the address.
                state:
                  type: string
                  description: State of the address.
            created_at:
              type: string
              format: date-time
              description: Time the customer was created, as an ISO 8601 datetime in UTC.
              example: '2026-02-01T12:00:00Z'
            email:
              type:
                - string
                - 'null'
              description: Email of the customer.
              example: customer@example.com
            metadata:
              type: object
              description: Set of key-value pairs attached to the customer.
            mode:
              type: string
              enum:
                - live
                - test
              description: Mode of the customer, `live` or `test`.
              example: live
            name:
              type:
                - string
                - 'null'
              description: Name of the customer.
              example: Test Customer 1
            phone:
              type:
                - string
                - 'null'
              description: Phone number of the customer.
              example: '+56911111111'
            tax_id:
              type:
                - object
                - 'null'
              description: >-
                Tax identifier of the customer. `null` when no tax identifier
                was provided. Keys are omitted when not provided.
              properties:
                type:
                  type: string
                  enum:
                    - cl_rut
                    - mx_rfc
                  description: >-
                    Type of the tax identifier. `cl_rut` for a Chilean RUT or
                    `mx_rfc` for a Mexican RFC.
                  example: cl_rut
                value:
                  type: string
                  description: Tax identifier as a string, with no formatting characters.
                  example: '111111111'
          required:
            - id
            - object
            - address
            - created_at
            - email
            - metadata
            - mode
            - name
            - phone
            - tax_id
        customer_email:
          type:
            - string
            - 'null'
          description: >-
            Email collected from the customer at payment time, when available.
            May differ from `customer.email`.
          example: customer@example.com
        error_reason:
          type:
            - string
            - 'null'
          description: >-
            Reason why the payment failed. `null` unless the payment finished
            unsuccessfully.
          example: null
        expires_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Time the payment intent expires, as an ISO 8601 datetime in UTC.
            `null` when the payment intent does not expire.
          example: null
        metadata:
          type: object
          description: >-
            Set of key-value pairs attached to the payment intent at creation.
            Defaults to an empty object.
          example:
            order_id: '12345'
        mode:
          type: string
          enum:
            - live
            - test
          description: >-
            Mode of the payment intent. `live` for real payments, `test` for
            payments created with a test API key.
          example: live
        next_action:
          type:
            - object
            - 'null'
          description: >-
            Action the customer must complete for the payment to continue, for
            example confirming the payment in their banking app. The `type` key
            indicates the kind of action. `null` when no action is pending.
          example: null
        payment_method:
          type:
            - string
            - 'null'
          description: >-
            Identifier of the payment method associated with the payment intent,
            when available.
          example: pm_2bArifJWQ6CiZSofWxBNL1Hri2u
        payment_type:
          type: string
          description: >-
            Type of payment that produced this payment intent, for example
            `bank_transfer`, `cash`, `card`, `installment`, `pac`, or a
            provider-specific external redirect such as `banco_estado`. The
            value depends on how the payment was initiated.
          example: bank_transfer
        payment_type_options:
          type: object
          description: >-
            Additional options specific to the payment type. For card payments,
            the object contains a `card` object. The object is empty when the
            payment type has no extra options.
          properties:
            card:
              type: object
              description: Details of the card payment. Present only for card payments.
              properties:
                authenticated_with_3ds:
                  type: boolean
                  description: >-
                    If `true`, the cardholder completed 3-D Secure
                    authentication for this payment.
                  example: true
                bank:
                  type:
                    - string
                    - 'null'
                  description: >-
                    Name of the bank that issued the card. `null` when the
                    issuing bank is unknown.
                  example: Banco de Chile
                brand:
                  type: string
                  description: Brand of the card.
                  example: visa
                country:
                  type: string
                  description: >-
                    Display name of the country where the card was issued, in
                    English.
                  example: Chile
                kind:
                  type: string
                  description: Kind of card. One of `credit`, `debit`, or `prepaid`.
                  example: credit
                last_four_digits:
                  type:
                    - string
                    - 'null'
                  description: >-
                    Last four digits of the card number. `null` when the digits
                    are not available.
                  example: '4242'
                wallet:
                  type:
                    - string
                    - 'null'
                  enum:
                    - apple_pay
                    - google_pay
                    - null
                  description: >-
                    Digital wallet used for the card payment. One of `apple_pay`
                    or `google_pay`. `null` for cards entered manually.
                  example: apple_pay
          example: {}
        recipient_account:
          type:
            - object
            - 'null'
          description: >-
            Bank account that received the payment. `null` when the payment is
            not associated with a recipient account, for example for charges on
            a saved payment method.
          properties:
            holder_id:
              type:
                - string
                - 'null'
              description: Tax identifier of the account holder.
              example: '111111111'
            institution_id:
              type:
                - string
                - 'null'
              description: Identifier of the institution where the account lives.
              example: cl_banco_de_chile
            number:
              type:
                - string
                - 'null'
              description: Number of the account.
              example: '123456'
            type:
              type:
                - string
                - 'null'
              description: Type of the account, for example `checking_account`.
              example: checking_account
          required:
            - holder_id
            - institution_id
            - number
            - type
        reference_id:
          type:
            - string
            - 'null'
          description: >-
            Identifier given by the institution that processed the payment, when
            available.
          example: '90123712'
        sender_account:
          type:
            - object
            - 'null'
          description: >-
            Bank account that sent the payment. `null` when the sender account
            is unknown.
          properties:
            holder_id:
              type:
                - string
                - 'null'
              description: Tax identifier of the account holder.
              example: '222222222'
            institution_id:
              type:
                - string
                - 'null'
              description: Identifier of the institution where the account lives.
              example: cl_banco_estado
            number:
              type:
                - string
                - 'null'
              description: Number of the account.
              example: '123456'
            type:
              type:
                - string
                - 'null'
              description: Type of the account, for example `checking_account`.
              example: checking_account
          required:
            - holder_id
            - institution_id
            - number
            - type
        status:
          type: string
          enum:
            - created
            - failed
            - succeeded
            - rejected
            - in_progress
            - pending
            - expired
          description: >-
            Status of the payment intent. One of `created` (the charge was
            accepted and is awaiting processing), `in_progress` (Fintoc is
            processing the charge), `succeeded` (the charge completed), `failed`
            (the charge did not complete), `rejected` (the institution rejected
            the charge), `expired` (the payer did not act in time), or `pending`
            (the final status is not yet known). `pending` is only returned to
            organizations that have the pending status enabled.
          example: succeeded
        subscription:
          type:
            - string
            - 'null'
          description: >-
            Identifier of the subscription that originated the payment intent,
            when the payment was created from a subscription invoice. `null`
            otherwise.
          example: null
        transaction_date:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Time the institution processed the payment, as an ISO 8601 datetime
            in UTC. `null` when not available.
          example: '2026-02-10T15:24:15Z'
        widget_token:
          type:
            - string
            - 'null'
          description: >-
            Token used by the Fintoc widget to resume a customer-present flow.
            Always `null` for payment intents returned by the v2 API.
          example: null
      required:
        - id
        - object
        - amount
        - created_at
        - currency
        - customer
        - customer_email
        - error_reason
        - expires_at
        - metadata
        - mode
        - next_action
        - payment_method
        - payment_type
        - payment_type_options
        - recipient_account
        - reference_id
        - sender_account
        - status
        - subscription
        - transaction_date
        - widget_token
    error_object:
      type: object
      properties:
        error:
          type: object
          description: Details of the error that caused the request to fail.
          properties:
            code:
              type: string
              description: >-
                Machine-readable code identifying the specific error, for
                example `invalid_api_key`. Not returned by every error.
              example: invalid_api_key
            doc_url:
              type: string
              description: >-
                URL of a documentation page with more details about the error.
                Not returned by every error.
              example: https://docs.fintoc.com/reference/errors
            message:
              type: string
              description: Human-readable message describing the error.
              example: 'Invalid API Key: invalid-*oken'
            param:
              type:
                - string
                - 'null'
              description: >-
                Name of the request parameter that caused the error. `null` when
                the error cannot be tied to a single parameter, and not returned
                by every error.
              example: amount
            type:
              type: string
              description: >-
                Category of the error, for example `invalid_request_error`,
                `authentication_error`, or `api_error`.
              example: invalid_request_error
          required:
            - type
            - message
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header

````